diff --git a/.gitignore b/.gitignore index 896ede0..516af92 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,6 @@ whispervis +whispervis.js +whispervis.js.map whispervis_linux node_modules/ network.json diff --git a/whispervis.js b/whispervis.js index 566fc15..b3eaf83 100644 --- a/whispervis.js +++ b/whispervis.js @@ -4747,6 +4747,7630 @@ $packages["math"] = (function() { $pkg.$init = $init; return $pkg; })(); +$packages["math/bits"] = (function() { + var $pkg = {}, $init, deBruijn32tab, deBruijn64tab, len8tab, LeadingZeros64, TrailingZeros, TrailingZeros32, TrailingZeros64, Len64; + LeadingZeros64 = function(x) { + var x; + return 64 - Len64(x) >> 0; + }; + $pkg.LeadingZeros64 = LeadingZeros64; + TrailingZeros = function(x) { + var x; + if (true) { + return TrailingZeros32(((x >>> 0))); + } + return TrailingZeros64((new $Uint64(0, x))); + }; + $pkg.TrailingZeros = TrailingZeros; + TrailingZeros32 = function(x) { + var x, x$1; + if (x === 0) { + return 32; + } + return (((x$1 = ($imul((((x & (-x >>> 0)) >>> 0)), 125613361) >>> 0) >>> 27 >>> 0, ((x$1 < 0 || x$1 >= deBruijn32tab.length) ? ($throwRuntimeError("index out of range"), undefined) : deBruijn32tab[x$1])) >> 0)); + }; + $pkg.TrailingZeros32 = TrailingZeros32; + TrailingZeros64 = function(x) { + var x, x$1, x$2; + if ((x.$high === 0 && x.$low === 0)) { + return 64; + } + return (((x$1 = $shiftRightUint64($mul64(((x$2 = new $Uint64(-x.$high, -x.$low), new $Uint64(x.$high & x$2.$high, (x.$low & x$2.$low) >>> 0))), new $Uint64(66559345, 3033172745)), 58), (($flatten64(x$1) < 0 || $flatten64(x$1) >= deBruijn64tab.length) ? ($throwRuntimeError("index out of range"), undefined) : deBruijn64tab[$flatten64(x$1)])) >> 0)); + }; + $pkg.TrailingZeros64 = TrailingZeros64; + Len64 = function(x) { + var n, x; + n = 0; + if ((x.$high > 1 || (x.$high === 1 && x.$low >= 0))) { + x = $shiftRightUint64(x, (32)); + n = 32; + } + if ((x.$high > 0 || (x.$high === 0 && x.$low >= 65536))) { + x = $shiftRightUint64(x, (16)); + n = n + (16) >> 0; + } + if ((x.$high > 0 || (x.$high === 0 && x.$low >= 256))) { + x = $shiftRightUint64(x, (8)); + n = n + (8) >> 0; + } + n = n + (((($flatten64(x) < 0 || $flatten64(x) >= len8tab.length) ? ($throwRuntimeError("index out of range"), undefined) : len8tab[$flatten64(x)]) >> 0)) >> 0; + return n; + }; + $pkg.Len64 = Len64; + $init = function() { + $pkg.$init = function() {}; + /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + deBruijn32tab = $toNativeArray($kindUint8, [0, 1, 28, 2, 29, 14, 24, 3, 30, 22, 20, 15, 25, 17, 4, 8, 31, 27, 13, 23, 21, 19, 16, 7, 26, 12, 18, 6, 11, 5, 10, 9]); + deBruijn64tab = $toNativeArray($kindUint8, [0, 1, 56, 2, 57, 49, 28, 3, 61, 58, 42, 50, 38, 29, 17, 4, 62, 47, 59, 36, 45, 43, 51, 22, 53, 39, 33, 30, 24, 18, 12, 5, 63, 55, 48, 27, 60, 41, 37, 16, 46, 35, 44, 21, 52, 32, 23, 11, 54, 26, 40, 15, 34, 20, 31, 10, 25, 14, 19, 9, 13, 8, 7, 6]); + len8tab = $toNativeArray($kindUint8, [0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8]); + /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f; + }; + $pkg.$init = $init; + return $pkg; +})(); +$packages["strconv"] = (function() { + var $pkg = {}, $init, errors, math, bits, utf8, NumError, decimal, leftCheat, extFloat, floatInfo, decimalSlice, sliceType, sliceType$1, sliceType$2, sliceType$3, sliceType$4, sliceType$5, arrayType, sliceType$6, ptrType, arrayType$1, arrayType$2, ptrType$1, arrayType$3, arrayType$4, ptrType$2, ptrType$3, ptrType$4, optimize, powtab, float64pow10, float32pow10, leftcheats, smallPowersOfTen, powersOfTen, uint64pow10, float32info, float32info$24ptr, float64info, float64info$24ptr, isPrint16, isNotPrint16, isPrint32, isNotPrint32, isGraphic, equalIgnoreCase, special, readFloat, atof64exact, atof32exact, atof32, atof64, ParseFloat, syntaxError, rangeError, baseError, bitSizeError, ParseUint, ParseInt, digitZero, trim, rightShift, prefixIsLessThan, leftShift, shouldRoundUp, frexp10Many, adjustLastDigitFixed, adjustLastDigit, AppendFloat, genericFtoa, bigFtoa, formatDigits, roundShortest, fmtE, fmtF, fmtB, min, max, FormatInt, Itoa, small, formatBits, isPowerOfTwo, quoteWith, appendQuotedWith, appendQuotedRuneWith, appendEscapedRune, Quote, AppendQuote, AppendQuoteToASCII, AppendQuoteRune, AppendQuoteRuneToASCII, CanBackquote, unhex, UnquoteChar, Unquote, contains, bsearch16, bsearch32, IsPrint, isInGraphicList; + errors = $packages["errors"]; + math = $packages["math"]; + bits = $packages["math/bits"]; + utf8 = $packages["unicode/utf8"]; + NumError = $pkg.NumError = $newType(0, $kindStruct, "strconv.NumError", true, "strconv", true, function(Func_, Num_, Err_) { + this.$val = this; + if (arguments.length === 0) { + this.Func = ""; + this.Num = ""; + this.Err = $ifaceNil; + return; + } + this.Func = Func_; + this.Num = Num_; + this.Err = Err_; + }); + decimal = $pkg.decimal = $newType(0, $kindStruct, "strconv.decimal", true, "strconv", false, function(d_, nd_, dp_, neg_, trunc_) { + this.$val = this; + if (arguments.length === 0) { + this.d = arrayType.zero(); + this.nd = 0; + this.dp = 0; + this.neg = false; + this.trunc = false; + return; + } + this.d = d_; + this.nd = nd_; + this.dp = dp_; + this.neg = neg_; + this.trunc = trunc_; + }); + leftCheat = $pkg.leftCheat = $newType(0, $kindStruct, "strconv.leftCheat", true, "strconv", false, function(delta_, cutoff_) { + this.$val = this; + if (arguments.length === 0) { + this.delta = 0; + this.cutoff = ""; + return; + } + this.delta = delta_; + this.cutoff = cutoff_; + }); + extFloat = $pkg.extFloat = $newType(0, $kindStruct, "strconv.extFloat", true, "strconv", false, function(mant_, exp_, neg_) { + this.$val = this; + if (arguments.length === 0) { + this.mant = new $Uint64(0, 0); + this.exp = 0; + this.neg = false; + return; + } + this.mant = mant_; + this.exp = exp_; + this.neg = neg_; + }); + floatInfo = $pkg.floatInfo = $newType(0, $kindStruct, "strconv.floatInfo", true, "strconv", false, function(mantbits_, expbits_, bias_) { + this.$val = this; + if (arguments.length === 0) { + this.mantbits = 0; + this.expbits = 0; + this.bias = 0; + return; + } + this.mantbits = mantbits_; + this.expbits = expbits_; + this.bias = bias_; + }); + decimalSlice = $pkg.decimalSlice = $newType(0, $kindStruct, "strconv.decimalSlice", true, "strconv", false, function(d_, nd_, dp_, neg_) { + this.$val = this; + if (arguments.length === 0) { + this.d = sliceType$6.nil; + this.nd = 0; + this.dp = 0; + this.neg = false; + return; + } + this.d = d_; + this.nd = nd_; + this.dp = dp_; + this.neg = neg_; + }); + sliceType = $sliceType($Int); + sliceType$1 = $sliceType($Float64); + sliceType$2 = $sliceType($Float32); + sliceType$3 = $sliceType(leftCheat); + sliceType$4 = $sliceType($Uint16); + sliceType$5 = $sliceType($Uint32); + arrayType = $arrayType($Uint8, 800); + sliceType$6 = $sliceType($Uint8); + ptrType = $ptrType(NumError); + arrayType$1 = $arrayType($Uint8, 24); + arrayType$2 = $arrayType($Uint8, 32); + ptrType$1 = $ptrType(floatInfo); + arrayType$3 = $arrayType($Uint8, 65); + arrayType$4 = $arrayType($Uint8, 4); + ptrType$2 = $ptrType(decimal); + ptrType$3 = $ptrType(decimalSlice); + ptrType$4 = $ptrType(extFloat); + equalIgnoreCase = function(s1, s2) { + var c1, c2, i, s1, s2; + if (!((s1.length === s2.length))) { + return false; + } + i = 0; + while (true) { + if (!(i < s1.length)) { break; } + c1 = s1.charCodeAt(i); + if (65 <= c1 && c1 <= 90) { + c1 = c1 + (32) << 24 >>> 24; + } + c2 = s2.charCodeAt(i); + if (65 <= c2 && c2 <= 90) { + c2 = c2 + (32) << 24 >>> 24; + } + if (!((c1 === c2))) { + return false; + } + i = i + (1) >> 0; + } + return true; + }; + special = function(s) { + var _1, _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, f, ok, s; + f = 0; + ok = false; + if (s.length === 0) { + return [f, ok]; + } + _1 = s.charCodeAt(0); + if (_1 === (43)) { + if (equalIgnoreCase(s, "+inf") || equalIgnoreCase(s, "+infinity")) { + _tmp = math.Inf(1); + _tmp$1 = true; + f = _tmp; + ok = _tmp$1; + return [f, ok]; + } + } else if (_1 === (45)) { + if (equalIgnoreCase(s, "-inf") || equalIgnoreCase(s, "-infinity")) { + _tmp$2 = math.Inf(-1); + _tmp$3 = true; + f = _tmp$2; + ok = _tmp$3; + return [f, ok]; + } + } else if ((_1 === (110)) || (_1 === (78))) { + if (equalIgnoreCase(s, "nan")) { + _tmp$4 = math.NaN(); + _tmp$5 = true; + f = _tmp$4; + ok = _tmp$5; + return [f, ok]; + } + } else if ((_1 === (105)) || (_1 === (73))) { + if (equalIgnoreCase(s, "inf") || equalIgnoreCase(s, "infinity")) { + _tmp$6 = math.Inf(1); + _tmp$7 = true; + f = _tmp$6; + ok = _tmp$7; + return [f, ok]; + } + } else { + return [f, ok]; + } + return [f, ok]; + }; + decimal.ptr.prototype.set = function(s) { + var b, e, esign, i, ok, s, sawdigits, sawdot, x, x$1; + ok = false; + b = this; + i = 0; + b.neg = false; + b.trunc = false; + if (i >= s.length) { + return ok; + } + if ((s.charCodeAt(i) === 43)) { + i = i + (1) >> 0; + } else if ((s.charCodeAt(i) === 45)) { + b.neg = true; + i = i + (1) >> 0; + } + sawdot = false; + sawdigits = false; + while (true) { + if (!(i < s.length)) { break; } + if ((s.charCodeAt(i) === 46)) { + if (sawdot) { + return ok; + } + sawdot = true; + b.dp = b.nd; + i = i + (1) >> 0; + continue; + } else if (48 <= s.charCodeAt(i) && s.charCodeAt(i) <= 57) { + sawdigits = true; + if ((s.charCodeAt(i) === 48) && (b.nd === 0)) { + b.dp = b.dp - (1) >> 0; + i = i + (1) >> 0; + continue; + } + if (b.nd < 800) { + (x = b.d, x$1 = b.nd, ((x$1 < 0 || x$1 >= x.length) ? ($throwRuntimeError("index out of range"), undefined) : x[x$1] = s.charCodeAt(i))); + b.nd = b.nd + (1) >> 0; + } else if (!((s.charCodeAt(i) === 48))) { + b.trunc = true; + } + i = i + (1) >> 0; + continue; + } + break; + } + if (!sawdigits) { + return ok; + } + if (!sawdot) { + b.dp = b.nd; + } + if (i < s.length && ((s.charCodeAt(i) === 101) || (s.charCodeAt(i) === 69))) { + i = i + (1) >> 0; + if (i >= s.length) { + return ok; + } + esign = 1; + if (s.charCodeAt(i) === 43) { + i = i + (1) >> 0; + } else if (s.charCodeAt(i) === 45) { + i = i + (1) >> 0; + esign = -1; + } + if (i >= s.length || s.charCodeAt(i) < 48 || s.charCodeAt(i) > 57) { + return ok; + } + e = 0; + while (true) { + if (!(i < s.length && 48 <= s.charCodeAt(i) && s.charCodeAt(i) <= 57)) { break; } + if (e < 10000) { + e = (($imul(e, 10)) + ((s.charCodeAt(i) >> 0)) >> 0) - 48 >> 0; + } + i = i + (1) >> 0; + } + b.dp = b.dp + (($imul(e, esign))) >> 0; + } + if (!((i === s.length))) { + return ok; + } + ok = true; + return ok; + }; + decimal.prototype.set = function(s) { return this.$val.set(s); }; + readFloat = function(s) { + var _1, c, dp, e, esign, exp, i, mantissa, nd, ndMant, neg, ok, s, sawdigits, sawdot, trunc, x; + mantissa = new $Uint64(0, 0); + exp = 0; + neg = false; + trunc = false; + ok = false; + i = 0; + if (i >= s.length) { + return [mantissa, exp, neg, trunc, ok]; + } + if ((s.charCodeAt(i) === 43)) { + i = i + (1) >> 0; + } else if ((s.charCodeAt(i) === 45)) { + neg = true; + i = i + (1) >> 0; + } + sawdot = false; + sawdigits = false; + nd = 0; + ndMant = 0; + dp = 0; + while (true) { + if (!(i < s.length)) { break; } + c = s.charCodeAt(i); + _1 = true; + if (_1 === ((c === 46))) { + if (sawdot) { + return [mantissa, exp, neg, trunc, ok]; + } + sawdot = true; + dp = nd; + i = i + (1) >> 0; + continue; + } else if (_1 === (48 <= c && c <= 57)) { + sawdigits = true; + if ((c === 48) && (nd === 0)) { + dp = dp - (1) >> 0; + i = i + (1) >> 0; + continue; + } + nd = nd + (1) >> 0; + if (ndMant < 19) { + mantissa = $mul64(mantissa, (new $Uint64(0, 10))); + mantissa = (x = (new $Uint64(0, (c - 48 << 24 >>> 24))), new $Uint64(mantissa.$high + x.$high, mantissa.$low + x.$low)); + ndMant = ndMant + (1) >> 0; + } else if (!((s.charCodeAt(i) === 48))) { + trunc = true; + } + i = i + (1) >> 0; + continue; + } + break; + } + if (!sawdigits) { + return [mantissa, exp, neg, trunc, ok]; + } + if (!sawdot) { + dp = nd; + } + if (i < s.length && ((s.charCodeAt(i) === 101) || (s.charCodeAt(i) === 69))) { + i = i + (1) >> 0; + if (i >= s.length) { + return [mantissa, exp, neg, trunc, ok]; + } + esign = 1; + if (s.charCodeAt(i) === 43) { + i = i + (1) >> 0; + } else if (s.charCodeAt(i) === 45) { + i = i + (1) >> 0; + esign = -1; + } + if (i >= s.length || s.charCodeAt(i) < 48 || s.charCodeAt(i) > 57) { + return [mantissa, exp, neg, trunc, ok]; + } + e = 0; + while (true) { + if (!(i < s.length && 48 <= s.charCodeAt(i) && s.charCodeAt(i) <= 57)) { break; } + if (e < 10000) { + e = (($imul(e, 10)) + ((s.charCodeAt(i) >> 0)) >> 0) - 48 >> 0; + } + i = i + (1) >> 0; + } + dp = dp + (($imul(e, esign))) >> 0; + } + if (!((i === s.length))) { + return [mantissa, exp, neg, trunc, ok]; + } + if (!((mantissa.$high === 0 && mantissa.$low === 0))) { + exp = dp - ndMant >> 0; + } + ok = true; + return [mantissa, exp, neg, trunc, ok]; + }; + decimal.ptr.prototype.floatBits = function(flt) { + var _tmp, _tmp$1, b, bits$1, d, exp, flt, mant, n, n$1, n$2, overflow, x, x$1, x$2, x$3, x$4, x$5, x$6, x$7, x$8, y, y$1, y$2, y$3, $s; + /* */ $s = 0; s: while (true) { switch ($s) { case 0: + b = new $Uint64(0, 0); + overflow = false; + d = this; + exp = 0; + mant = new $Uint64(0, 0); + /* */ if (d.nd === 0) { $s = 1; continue; } + /* */ $s = 2; continue; + /* if (d.nd === 0) { */ case 1: + mant = new $Uint64(0, 0); + exp = flt.bias; + /* goto out */ $s = 3; continue; + /* } */ case 2: + /* */ if (d.dp > 310) { $s = 4; continue; } + /* */ $s = 5; continue; + /* if (d.dp > 310) { */ case 4: + /* goto overflow */ $s = 6; continue; + /* } */ case 5: + /* */ if (d.dp < -330) { $s = 7; continue; } + /* */ $s = 8; continue; + /* if (d.dp < -330) { */ case 7: + mant = new $Uint64(0, 0); + exp = flt.bias; + /* goto out */ $s = 3; continue; + /* } */ case 8: + exp = 0; + while (true) { + if (!(d.dp > 0)) { break; } + n = 0; + if (d.dp >= powtab.$length) { + n = 27; + } else { + n = (x = d.dp, ((x < 0 || x >= powtab.$length) ? ($throwRuntimeError("index out of range"), undefined) : powtab.$array[powtab.$offset + x])); + } + d.Shift(-n); + exp = exp + (n) >> 0; + } + while (true) { + if (!(d.dp < 0 || (d.dp === 0) && d.d[0] < 53)) { break; } + n$1 = 0; + if (-d.dp >= powtab.$length) { + n$1 = 27; + } else { + n$1 = (x$1 = -d.dp, ((x$1 < 0 || x$1 >= powtab.$length) ? ($throwRuntimeError("index out of range"), undefined) : powtab.$array[powtab.$offset + x$1])); + } + d.Shift(n$1); + exp = exp - (n$1) >> 0; + } + exp = exp - (1) >> 0; + if (exp < (flt.bias + 1 >> 0)) { + n$2 = (flt.bias + 1 >> 0) - exp >> 0; + d.Shift(-n$2); + exp = exp + (n$2) >> 0; + } + /* */ if ((exp - flt.bias >> 0) >= (((y = flt.expbits, y < 32 ? (1 << y) : 0) >> 0) - 1 >> 0)) { $s = 9; continue; } + /* */ $s = 10; continue; + /* if ((exp - flt.bias >> 0) >= (((y = flt.expbits, y < 32 ? (1 << y) : 0) >> 0) - 1 >> 0)) { */ case 9: + /* goto overflow */ $s = 6; continue; + /* } */ case 10: + d.Shift((((1 + flt.mantbits >>> 0) >> 0))); + mant = d.RoundedInteger(); + /* */ if ((x$2 = $shiftLeft64(new $Uint64(0, 2), flt.mantbits), (mant.$high === x$2.$high && mant.$low === x$2.$low))) { $s = 11; continue; } + /* */ $s = 12; continue; + /* if ((x$2 = $shiftLeft64(new $Uint64(0, 2), flt.mantbits), (mant.$high === x$2.$high && mant.$low === x$2.$low))) { */ case 11: + mant = $shiftRightUint64(mant, (1)); + exp = exp + (1) >> 0; + /* */ if ((exp - flt.bias >> 0) >= (((y$1 = flt.expbits, y$1 < 32 ? (1 << y$1) : 0) >> 0) - 1 >> 0)) { $s = 13; continue; } + /* */ $s = 14; continue; + /* if ((exp - flt.bias >> 0) >= (((y$1 = flt.expbits, y$1 < 32 ? (1 << y$1) : 0) >> 0) - 1 >> 0)) { */ case 13: + /* goto overflow */ $s = 6; continue; + /* } */ case 14: + /* } */ case 12: + if ((x$3 = (x$4 = $shiftLeft64(new $Uint64(0, 1), flt.mantbits), new $Uint64(mant.$high & x$4.$high, (mant.$low & x$4.$low) >>> 0)), (x$3.$high === 0 && x$3.$low === 0))) { + exp = flt.bias; + } + /* goto out */ $s = 3; continue; + /* overflow: */ case 6: + mant = new $Uint64(0, 0); + exp = (((y$2 = flt.expbits, y$2 < 32 ? (1 << y$2) : 0) >> 0) - 1 >> 0) + flt.bias >> 0; + overflow = true; + /* out: */ case 3: + bits$1 = (x$5 = (x$6 = $shiftLeft64(new $Uint64(0, 1), flt.mantbits), new $Uint64(x$6.$high - 0, x$6.$low - 1)), new $Uint64(mant.$high & x$5.$high, (mant.$low & x$5.$low) >>> 0)); + bits$1 = (x$7 = $shiftLeft64((new $Uint64(0, (((exp - flt.bias >> 0)) & ((((y$3 = flt.expbits, y$3 < 32 ? (1 << y$3) : 0) >> 0) - 1 >> 0))))), flt.mantbits), new $Uint64(bits$1.$high | x$7.$high, (bits$1.$low | x$7.$low) >>> 0)); + if (d.neg) { + bits$1 = (x$8 = $shiftLeft64($shiftLeft64(new $Uint64(0, 1), flt.mantbits), flt.expbits), new $Uint64(bits$1.$high | x$8.$high, (bits$1.$low | x$8.$low) >>> 0)); + } + _tmp = bits$1; + _tmp$1 = overflow; + b = _tmp; + overflow = _tmp$1; + $s = -1; return [b, overflow]; + /* */ } return; } + }; + decimal.prototype.floatBits = function(flt) { return this.$val.floatBits(flt); }; + atof64exact = function(mantissa, exp, neg) { + var _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, exp, f, mantissa, neg, ok, x, x$1, x$2; + f = 0; + ok = false; + if (!((x = $shiftRightUint64(mantissa, float64info.mantbits), (x.$high === 0 && x.$low === 0)))) { + return [f, ok]; + } + f = ($flatten64(mantissa)); + if (neg) { + f = -f; + } + if ((exp === 0)) { + _tmp = f; + _tmp$1 = true; + f = _tmp; + ok = _tmp$1; + return [f, ok]; + } else if (exp > 0 && exp <= 37) { + if (exp > 22) { + f = f * ((x$1 = exp - 22 >> 0, ((x$1 < 0 || x$1 >= float64pow10.$length) ? ($throwRuntimeError("index out of range"), undefined) : float64pow10.$array[float64pow10.$offset + x$1]))); + exp = 22; + } + if (f > 1e+15 || f < -1e+15) { + return [f, ok]; + } + _tmp$2 = f * ((exp < 0 || exp >= float64pow10.$length) ? ($throwRuntimeError("index out of range"), undefined) : float64pow10.$array[float64pow10.$offset + exp]); + _tmp$3 = true; + f = _tmp$2; + ok = _tmp$3; + return [f, ok]; + } else if (exp < 0 && exp >= -22) { + _tmp$4 = f / (x$2 = -exp, ((x$2 < 0 || x$2 >= float64pow10.$length) ? ($throwRuntimeError("index out of range"), undefined) : float64pow10.$array[float64pow10.$offset + x$2])); + _tmp$5 = true; + f = _tmp$4; + ok = _tmp$5; + return [f, ok]; + } + return [f, ok]; + }; + atof32exact = function(mantissa, exp, neg) { + var _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, exp, f, mantissa, neg, ok, x, x$1, x$2; + f = 0; + ok = false; + if (!((x = $shiftRightUint64(mantissa, float32info.mantbits), (x.$high === 0 && x.$low === 0)))) { + return [f, ok]; + } + f = ($flatten64(mantissa)); + if (neg) { + f = -f; + } + if ((exp === 0)) { + _tmp = f; + _tmp$1 = true; + f = _tmp; + ok = _tmp$1; + return [f, ok]; + } else if (exp > 0 && exp <= 17) { + if (exp > 10) { + f = $fround(f * ((x$1 = exp - 10 >> 0, ((x$1 < 0 || x$1 >= float32pow10.$length) ? ($throwRuntimeError("index out of range"), undefined) : float32pow10.$array[float32pow10.$offset + x$1])))); + exp = 10; + } + if (f > 1e+07 || f < -1e+07) { + return [f, ok]; + } + _tmp$2 = $fround(f * ((exp < 0 || exp >= float32pow10.$length) ? ($throwRuntimeError("index out of range"), undefined) : float32pow10.$array[float32pow10.$offset + exp])); + _tmp$3 = true; + f = _tmp$2; + ok = _tmp$3; + return [f, ok]; + } else if (exp < 0 && exp >= -10) { + _tmp$4 = $fround(f / (x$2 = -exp, ((x$2 < 0 || x$2 >= float32pow10.$length) ? ($throwRuntimeError("index out of range"), undefined) : float32pow10.$array[float32pow10.$offset + x$2]))); + _tmp$5 = true; + f = _tmp$4; + ok = _tmp$5; + return [f, ok]; + } + return [f, ok]; + }; + atof32 = function(s) { + var _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, _tuple, _tuple$1, _tuple$2, _tuple$3, _tuple$4, b, b$1, d, err, exp, ext, f, f$1, mantissa, neg, ok, ok$1, ok$2, ok$3, ovf, ovf$1, s, trunc, val; + f = 0; + err = $ifaceNil; + _tuple = special(s); + val = _tuple[0]; + ok = _tuple[1]; + if (ok) { + _tmp = ($fround(val)); + _tmp$1 = $ifaceNil; + f = _tmp; + err = _tmp$1; + return [f, err]; + } + if (optimize) { + _tuple$1 = readFloat(s); + mantissa = _tuple$1[0]; + exp = _tuple$1[1]; + neg = _tuple$1[2]; + trunc = _tuple$1[3]; + ok$1 = _tuple$1[4]; + if (ok$1) { + if (!trunc) { + _tuple$2 = atof32exact(mantissa, exp, neg); + f$1 = _tuple$2[0]; + ok$2 = _tuple$2[1]; + if (ok$2) { + _tmp$2 = f$1; + _tmp$3 = $ifaceNil; + f = _tmp$2; + err = _tmp$3; + return [f, err]; + } + } + ext = new extFloat.ptr(new $Uint64(0, 0), 0, false); + ok$3 = ext.AssignDecimal(mantissa, exp, neg, trunc, float32info); + if (ok$3) { + _tuple$3 = ext.floatBits(float32info); + b = _tuple$3[0]; + ovf = _tuple$3[1]; + f = math.Float32frombits(((b.$low >>> 0))); + if (ovf) { + err = rangeError("ParseFloat", s); + } + _tmp$4 = f; + _tmp$5 = err; + f = _tmp$4; + err = _tmp$5; + return [f, err]; + } + } + } + d = new decimal.ptr(arrayType.zero(), 0, 0, false, false); + if (!d.set(s)) { + _tmp$6 = 0; + _tmp$7 = syntaxError("ParseFloat", s); + f = _tmp$6; + err = _tmp$7; + return [f, err]; + } + _tuple$4 = d.floatBits(float32info); + b$1 = _tuple$4[0]; + ovf$1 = _tuple$4[1]; + f = math.Float32frombits(((b$1.$low >>> 0))); + if (ovf$1) { + err = rangeError("ParseFloat", s); + } + _tmp$8 = f; + _tmp$9 = err; + f = _tmp$8; + err = _tmp$9; + return [f, err]; + }; + atof64 = function(s) { + var _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, _tuple, _tuple$1, _tuple$2, _tuple$3, _tuple$4, b, b$1, d, err, exp, ext, f, f$1, mantissa, neg, ok, ok$1, ok$2, ok$3, ovf, ovf$1, s, trunc, val; + f = 0; + err = $ifaceNil; + _tuple = special(s); + val = _tuple[0]; + ok = _tuple[1]; + if (ok) { + _tmp = val; + _tmp$1 = $ifaceNil; + f = _tmp; + err = _tmp$1; + return [f, err]; + } + if (optimize) { + _tuple$1 = readFloat(s); + mantissa = _tuple$1[0]; + exp = _tuple$1[1]; + neg = _tuple$1[2]; + trunc = _tuple$1[3]; + ok$1 = _tuple$1[4]; + if (ok$1) { + if (!trunc) { + _tuple$2 = atof64exact(mantissa, exp, neg); + f$1 = _tuple$2[0]; + ok$2 = _tuple$2[1]; + if (ok$2) { + _tmp$2 = f$1; + _tmp$3 = $ifaceNil; + f = _tmp$2; + err = _tmp$3; + return [f, err]; + } + } + ext = new extFloat.ptr(new $Uint64(0, 0), 0, false); + ok$3 = ext.AssignDecimal(mantissa, exp, neg, trunc, float64info); + if (ok$3) { + _tuple$3 = ext.floatBits(float64info); + b = _tuple$3[0]; + ovf = _tuple$3[1]; + f = math.Float64frombits(b); + if (ovf) { + err = rangeError("ParseFloat", s); + } + _tmp$4 = f; + _tmp$5 = err; + f = _tmp$4; + err = _tmp$5; + return [f, err]; + } + } + } + d = new decimal.ptr(arrayType.zero(), 0, 0, false, false); + if (!d.set(s)) { + _tmp$6 = 0; + _tmp$7 = syntaxError("ParseFloat", s); + f = _tmp$6; + err = _tmp$7; + return [f, err]; + } + _tuple$4 = d.floatBits(float64info); + b$1 = _tuple$4[0]; + ovf$1 = _tuple$4[1]; + f = math.Float64frombits(b$1); + if (ovf$1) { + err = rangeError("ParseFloat", s); + } + _tmp$8 = f; + _tmp$9 = err; + f = _tmp$8; + err = _tmp$9; + return [f, err]; + }; + ParseFloat = function(s, bitSize) { + var _tuple, bitSize, err, f, s; + if (bitSize === 32) { + _tuple = atof32(s); + f = _tuple[0]; + err = _tuple[1]; + return [(f), err]; + } + return atof64(s); + }; + $pkg.ParseFloat = ParseFloat; + NumError.ptr.prototype.Error = function() { + var _r, e, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; e = $f.e; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + e = this; + _r = e.Err.Error(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + $s = -1; return "strconv." + e.Func + ": " + "parsing " + Quote(e.Num) + ": " + _r; + /* */ } return; } if ($f === undefined) { $f = { $blk: NumError.ptr.prototype.Error }; } $f._r = _r; $f.e = e; $f.$s = $s; $f.$r = $r; return $f; + }; + NumError.prototype.Error = function() { return this.$val.Error(); }; + syntaxError = function(fn, str) { + var fn, str; + return new NumError.ptr(fn, str, $pkg.ErrSyntax); + }; + rangeError = function(fn, str) { + var fn, str; + return new NumError.ptr(fn, str, $pkg.ErrRange); + }; + baseError = function(fn, str, base) { + var base, fn, str; + return new NumError.ptr(fn, str, errors.New("invalid base " + Itoa(base))); + }; + bitSizeError = function(fn, str, bitSize) { + var bitSize, fn, str; + return new NumError.ptr(fn, str, errors.New("invalid bit size " + Itoa(bitSize))); + }; + ParseUint = function(s, base, bitSize) { + var _1, _i, _ref, base, bitSize, c, cutoff, d, maxVal, n, n1, s, s0, x, x$1, x$2; + if (s.length === 0) { + return [new $Uint64(0, 0), syntaxError("ParseUint", s)]; + } + s0 = s; + if (2 <= base && base <= 36) { + } else if ((base === 0)) { + if ((s.charCodeAt(0) === 48) && s.length > 1 && ((s.charCodeAt(1) === 120) || (s.charCodeAt(1) === 88))) { + if (s.length < 3) { + return [new $Uint64(0, 0), syntaxError("ParseUint", s0)]; + } + base = 16; + s = $substring(s, 2); + } else if ((s.charCodeAt(0) === 48)) { + base = 8; + s = $substring(s, 1); + } else { + base = 10; + } + } else { + return [new $Uint64(0, 0), baseError("ParseUint", s0, base)]; + } + if (bitSize === 0) { + bitSize = 32; + } else if (bitSize < 0 || bitSize > 64) { + return [new $Uint64(0, 0), bitSizeError("ParseUint", s0, bitSize)]; + } + cutoff = new $Uint64(0, 0); + _1 = base; + if (_1 === (10)) { + cutoff = new $Uint64(429496729, 2576980378); + } else if (_1 === (16)) { + cutoff = new $Uint64(268435456, 0); + } else { + cutoff = (x = $div64(new $Uint64(4294967295, 4294967295), (new $Uint64(0, base)), false), new $Uint64(x.$high + 0, x.$low + 1)); + } + maxVal = (x$1 = $shiftLeft64(new $Uint64(0, 1), ((bitSize >>> 0))), new $Uint64(x$1.$high - 0, x$1.$low - 1)); + n = new $Uint64(0, 0); + _ref = (new sliceType$6($stringToBytes(s))); + _i = 0; + while (true) { + if (!(_i < _ref.$length)) { break; } + c = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]); + d = 0; + if (48 <= c && c <= 57) { + d = c - 48 << 24 >>> 24; + } else if (97 <= c && c <= 122) { + d = (c - 97 << 24 >>> 24) + 10 << 24 >>> 24; + } else if (65 <= c && c <= 90) { + d = (c - 65 << 24 >>> 24) + 10 << 24 >>> 24; + } else { + return [new $Uint64(0, 0), syntaxError("ParseUint", s0)]; + } + if (d >= ((base << 24 >>> 24))) { + return [new $Uint64(0, 0), syntaxError("ParseUint", s0)]; + } + if ((n.$high > cutoff.$high || (n.$high === cutoff.$high && n.$low >= cutoff.$low))) { + return [maxVal, rangeError("ParseUint", s0)]; + } + n = $mul64(n, ((new $Uint64(0, base)))); + n1 = (x$2 = (new $Uint64(0, d)), new $Uint64(n.$high + x$2.$high, n.$low + x$2.$low)); + if ((n1.$high < n.$high || (n1.$high === n.$high && n1.$low < n.$low)) || (n1.$high > maxVal.$high || (n1.$high === maxVal.$high && n1.$low > maxVal.$low))) { + return [maxVal, rangeError("ParseUint", s0)]; + } + n = n1; + _i++; + } + return [n, $ifaceNil]; + }; + $pkg.ParseUint = ParseUint; + ParseInt = function(s, base, bitSize) { + var _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, _tuple, base, bitSize, cutoff, err, i, n, neg, s, s0, un, x, x$1; + i = new $Int64(0, 0); + err = $ifaceNil; + if (s.length === 0) { + _tmp = new $Int64(0, 0); + _tmp$1 = syntaxError("ParseInt", s); + i = _tmp; + err = _tmp$1; + return [i, err]; + } + s0 = s; + neg = false; + if (s.charCodeAt(0) === 43) { + s = $substring(s, 1); + } else if (s.charCodeAt(0) === 45) { + neg = true; + s = $substring(s, 1); + } + un = new $Uint64(0, 0); + _tuple = ParseUint(s, base, bitSize); + un = _tuple[0]; + err = _tuple[1]; + if (!($interfaceIsEqual(err, $ifaceNil)) && !($interfaceIsEqual($assertType(err, ptrType).Err, $pkg.ErrRange))) { + $assertType(err, ptrType).Func = "ParseInt"; + $assertType(err, ptrType).Num = s0; + _tmp$2 = new $Int64(0, 0); + _tmp$3 = err; + i = _tmp$2; + err = _tmp$3; + return [i, err]; + } + if (bitSize === 0) { + bitSize = 32; + } + cutoff = ($shiftLeft64(new $Uint64(0, 1), (((bitSize - 1 >> 0) >>> 0)))); + if (!neg && (un.$high > cutoff.$high || (un.$high === cutoff.$high && un.$low >= cutoff.$low))) { + _tmp$4 = ((x = new $Uint64(cutoff.$high - 0, cutoff.$low - 1), new $Int64(x.$high, x.$low))); + _tmp$5 = rangeError("ParseInt", s0); + i = _tmp$4; + err = _tmp$5; + return [i, err]; + } + if (neg && (un.$high > cutoff.$high || (un.$high === cutoff.$high && un.$low > cutoff.$low))) { + _tmp$6 = (x$1 = (new $Int64(cutoff.$high, cutoff.$low)), new $Int64(-x$1.$high, -x$1.$low)); + _tmp$7 = rangeError("ParseInt", s0); + i = _tmp$6; + err = _tmp$7; + return [i, err]; + } + n = (new $Int64(un.$high, un.$low)); + if (neg) { + n = new $Int64(-n.$high, -n.$low); + } + _tmp$8 = n; + _tmp$9 = $ifaceNil; + i = _tmp$8; + err = _tmp$9; + return [i, err]; + }; + $pkg.ParseInt = ParseInt; + decimal.ptr.prototype.String = function() { + var a, buf, n, w; + a = this; + n = 10 + a.nd >> 0; + if (a.dp > 0) { + n = n + (a.dp) >> 0; + } + if (a.dp < 0) { + n = n + (-a.dp) >> 0; + } + buf = $makeSlice(sliceType$6, n); + w = 0; + if ((a.nd === 0)) { + return "0"; + } else if (a.dp <= 0) { + ((w < 0 || w >= buf.$length) ? ($throwRuntimeError("index out of range"), undefined) : buf.$array[buf.$offset + w] = 48); + w = w + (1) >> 0; + ((w < 0 || w >= buf.$length) ? ($throwRuntimeError("index out of range"), undefined) : buf.$array[buf.$offset + w] = 46); + w = w + (1) >> 0; + w = w + (digitZero($subslice(buf, w, (w + -a.dp >> 0)))) >> 0; + w = w + ($copySlice($subslice(buf, w), $subslice(new sliceType$6(a.d), 0, a.nd))) >> 0; + } else if (a.dp < a.nd) { + w = w + ($copySlice($subslice(buf, w), $subslice(new sliceType$6(a.d), 0, a.dp))) >> 0; + ((w < 0 || w >= buf.$length) ? ($throwRuntimeError("index out of range"), undefined) : buf.$array[buf.$offset + w] = 46); + w = w + (1) >> 0; + w = w + ($copySlice($subslice(buf, w), $subslice(new sliceType$6(a.d), a.dp, a.nd))) >> 0; + } else { + w = w + ($copySlice($subslice(buf, w), $subslice(new sliceType$6(a.d), 0, a.nd))) >> 0; + w = w + (digitZero($subslice(buf, w, ((w + a.dp >> 0) - a.nd >> 0)))) >> 0; + } + return ($bytesToString($subslice(buf, 0, w))); + }; + decimal.prototype.String = function() { return this.$val.String(); }; + digitZero = function(dst) { + var _i, _ref, dst, i; + _ref = dst; + _i = 0; + while (true) { + if (!(_i < _ref.$length)) { break; } + i = _i; + ((i < 0 || i >= dst.$length) ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + i] = 48); + _i++; + } + return dst.$length; + }; + trim = function(a) { + var a, x, x$1; + while (true) { + if (!(a.nd > 0 && ((x = a.d, x$1 = a.nd - 1 >> 0, ((x$1 < 0 || x$1 >= x.length) ? ($throwRuntimeError("index out of range"), undefined) : x[x$1])) === 48))) { break; } + a.nd = a.nd - (1) >> 0; + } + if (a.nd === 0) { + a.dp = 0; + } + }; + decimal.ptr.prototype.Assign = function(v) { + var a, buf, n, v, v1, x, x$1, x$2; + a = this; + buf = arrayType$1.zero(); + n = 0; + while (true) { + if (!((v.$high > 0 || (v.$high === 0 && v.$low > 0)))) { break; } + v1 = $div64(v, new $Uint64(0, 10), false); + v = (x = $mul64(new $Uint64(0, 10), v1), new $Uint64(v.$high - x.$high, v.$low - x.$low)); + ((n < 0 || n >= buf.length) ? ($throwRuntimeError("index out of range"), undefined) : buf[n] = ((new $Uint64(v.$high + 0, v.$low + 48).$low << 24 >>> 24))); + n = n + (1) >> 0; + v = v1; + } + a.nd = 0; + n = n - (1) >> 0; + while (true) { + if (!(n >= 0)) { break; } + (x$1 = a.d, x$2 = a.nd, ((x$2 < 0 || x$2 >= x$1.length) ? ($throwRuntimeError("index out of range"), undefined) : x$1[x$2] = ((n < 0 || n >= buf.length) ? ($throwRuntimeError("index out of range"), undefined) : buf[n]))); + a.nd = a.nd + (1) >> 0; + n = n - (1) >> 0; + } + a.dp = a.nd; + trim(a); + }; + decimal.prototype.Assign = function(v) { return this.$val.Assign(v); }; + rightShift = function(a, k) { + var a, c, c$1, dig, dig$1, k, mask, n, r, w, x, x$1, x$2, x$3, y, y$1, y$2, y$3, y$4; + r = 0; + w = 0; + n = 0; + while (true) { + if (!(((y = k, y < 32 ? (n >>> y) : 0) >>> 0) === 0)) { break; } + if (r >= a.nd) { + if (n === 0) { + a.nd = 0; + return; + } + while (true) { + if (!(((y$1 = k, y$1 < 32 ? (n >>> y$1) : 0) >>> 0) === 0)) { break; } + n = n * 10 >>> 0; + r = r + (1) >> 0; + } + break; + } + c = (((x = a.d, ((r < 0 || r >= x.length) ? ($throwRuntimeError("index out of range"), undefined) : x[r])) >>> 0)); + n = ((n * 10 >>> 0) + c >>> 0) - 48 >>> 0; + r = r + (1) >> 0; + } + a.dp = a.dp - ((r - 1 >> 0)) >> 0; + mask = (((y$2 = k, y$2 < 32 ? (1 << y$2) : 0) >>> 0)) - 1 >>> 0; + while (true) { + if (!(r < a.nd)) { break; } + c$1 = (((x$1 = a.d, ((r < 0 || r >= x$1.length) ? ($throwRuntimeError("index out of range"), undefined) : x$1[r])) >>> 0)); + dig = (y$3 = k, y$3 < 32 ? (n >>> y$3) : 0) >>> 0; + n = (n & (mask)) >>> 0; + (x$2 = a.d, ((w < 0 || w >= x$2.length) ? ($throwRuntimeError("index out of range"), undefined) : x$2[w] = (((dig + 48 >>> 0) << 24 >>> 24)))); + w = w + (1) >> 0; + n = ((n * 10 >>> 0) + c$1 >>> 0) - 48 >>> 0; + r = r + (1) >> 0; + } + while (true) { + if (!(n > 0)) { break; } + dig$1 = (y$4 = k, y$4 < 32 ? (n >>> y$4) : 0) >>> 0; + n = (n & (mask)) >>> 0; + if (w < 800) { + (x$3 = a.d, ((w < 0 || w >= x$3.length) ? ($throwRuntimeError("index out of range"), undefined) : x$3[w] = (((dig$1 + 48 >>> 0) << 24 >>> 24)))); + w = w + (1) >> 0; + } else if (dig$1 > 0) { + a.trunc = true; + } + n = n * 10 >>> 0; + } + a.nd = w; + trim(a); + }; + prefixIsLessThan = function(b, s) { + var b, i, s; + i = 0; + while (true) { + if (!(i < s.length)) { break; } + if (i >= b.$length) { + return true; + } + if (!((((i < 0 || i >= b.$length) ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + i]) === s.charCodeAt(i)))) { + return ((i < 0 || i >= b.$length) ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + i]) < s.charCodeAt(i); + } + i = i + (1) >> 0; + } + return false; + }; + leftShift = function(a, k) { + var _q, _q$1, a, delta, k, n, quo, quo$1, r, rem, rem$1, w, x, x$1, x$2, y; + delta = ((k < 0 || k >= leftcheats.$length) ? ($throwRuntimeError("index out of range"), undefined) : leftcheats.$array[leftcheats.$offset + k]).delta; + if (prefixIsLessThan($subslice(new sliceType$6(a.d), 0, a.nd), ((k < 0 || k >= leftcheats.$length) ? ($throwRuntimeError("index out of range"), undefined) : leftcheats.$array[leftcheats.$offset + k]).cutoff)) { + delta = delta - (1) >> 0; + } + r = a.nd; + w = a.nd + delta >> 0; + n = 0; + r = r - (1) >> 0; + while (true) { + if (!(r >= 0)) { break; } + n = n + (((y = k, y < 32 ? ((((((x = a.d, ((r < 0 || r >= x.length) ? ($throwRuntimeError("index out of range"), undefined) : x[r])) >>> 0)) - 48 >>> 0)) << y) : 0) >>> 0)) >>> 0; + quo = (_q = n / 10, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >>> 0 : $throwRuntimeError("integer divide by zero")); + rem = n - (10 * quo >>> 0) >>> 0; + w = w - (1) >> 0; + if (w < 800) { + (x$1 = a.d, ((w < 0 || w >= x$1.length) ? ($throwRuntimeError("index out of range"), undefined) : x$1[w] = (((rem + 48 >>> 0) << 24 >>> 24)))); + } else if (!((rem === 0))) { + a.trunc = true; + } + n = quo; + r = r - (1) >> 0; + } + while (true) { + if (!(n > 0)) { break; } + quo$1 = (_q$1 = n / 10, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >>> 0 : $throwRuntimeError("integer divide by zero")); + rem$1 = n - (10 * quo$1 >>> 0) >>> 0; + w = w - (1) >> 0; + if (w < 800) { + (x$2 = a.d, ((w < 0 || w >= x$2.length) ? ($throwRuntimeError("index out of range"), undefined) : x$2[w] = (((rem$1 + 48 >>> 0) << 24 >>> 24)))); + } else if (!((rem$1 === 0))) { + a.trunc = true; + } + n = quo$1; + } + a.nd = a.nd + (delta) >> 0; + if (a.nd >= 800) { + a.nd = 800; + } + a.dp = a.dp + (delta) >> 0; + trim(a); + }; + decimal.ptr.prototype.Shift = function(k) { + var a, k; + a = this; + if ((a.nd === 0)) { + } else if (k > 0) { + while (true) { + if (!(k > 28)) { break; } + leftShift(a, 28); + k = k - (28) >> 0; + } + leftShift(a, ((k >>> 0))); + } else if (k < 0) { + while (true) { + if (!(k < -28)) { break; } + rightShift(a, 28); + k = k + (28) >> 0; + } + rightShift(a, ((-k >>> 0))); + } + }; + decimal.prototype.Shift = function(k) { return this.$val.Shift(k); }; + shouldRoundUp = function(a, nd) { + var _r, a, nd, x, x$1, x$2, x$3; + if (nd < 0 || nd >= a.nd) { + return false; + } + if (((x = a.d, ((nd < 0 || nd >= x.length) ? ($throwRuntimeError("index out of range"), undefined) : x[nd])) === 53) && ((nd + 1 >> 0) === a.nd)) { + if (a.trunc) { + return true; + } + return nd > 0 && !(((_r = (((x$1 = a.d, x$2 = nd - 1 >> 0, ((x$2 < 0 || x$2 >= x$1.length) ? ($throwRuntimeError("index out of range"), undefined) : x$1[x$2])) - 48 << 24 >>> 24)) % 2, _r === _r ? _r : $throwRuntimeError("integer divide by zero")) === 0)); + } + return (x$3 = a.d, ((nd < 0 || nd >= x$3.length) ? ($throwRuntimeError("index out of range"), undefined) : x$3[nd])) >= 53; + }; + decimal.ptr.prototype.Round = function(nd) { + var a, nd; + a = this; + if (nd < 0 || nd >= a.nd) { + return; + } + if (shouldRoundUp(a, nd)) { + a.RoundUp(nd); + } else { + a.RoundDown(nd); + } + }; + decimal.prototype.Round = function(nd) { return this.$val.Round(nd); }; + decimal.ptr.prototype.RoundDown = function(nd) { + var a, nd; + a = this; + if (nd < 0 || nd >= a.nd) { + return; + } + a.nd = nd; + trim(a); + }; + decimal.prototype.RoundDown = function(nd) { return this.$val.RoundDown(nd); }; + decimal.ptr.prototype.RoundUp = function(nd) { + var a, c, i, nd, x, x$1, x$2; + a = this; + if (nd < 0 || nd >= a.nd) { + return; + } + i = nd - 1 >> 0; + while (true) { + if (!(i >= 0)) { break; } + c = (x = a.d, ((i < 0 || i >= x.length) ? ($throwRuntimeError("index out of range"), undefined) : x[i])); + if (c < 57) { + (x$2 = a.d, ((i < 0 || i >= x$2.length) ? ($throwRuntimeError("index out of range"), undefined) : x$2[i] = ((x$1 = a.d, ((i < 0 || i >= x$1.length) ? ($throwRuntimeError("index out of range"), undefined) : x$1[i])) + (1) << 24 >>> 24))); + a.nd = i + 1 >> 0; + return; + } + i = i - (1) >> 0; + } + a.d[0] = 49; + a.nd = 1; + a.dp = a.dp + (1) >> 0; + }; + decimal.prototype.RoundUp = function(nd) { return this.$val.RoundUp(nd); }; + decimal.ptr.prototype.RoundedInteger = function() { + var a, i, n, x, x$1, x$2, x$3; + a = this; + if (a.dp > 20) { + return new $Uint64(4294967295, 4294967295); + } + i = 0; + n = new $Uint64(0, 0); + i = 0; + while (true) { + if (!(i < a.dp && i < a.nd)) { break; } + n = (x = $mul64(n, new $Uint64(0, 10)), x$1 = (new $Uint64(0, ((x$2 = a.d, ((i < 0 || i >= x$2.length) ? ($throwRuntimeError("index out of range"), undefined) : x$2[i])) - 48 << 24 >>> 24))), new $Uint64(x.$high + x$1.$high, x.$low + x$1.$low)); + i = i + (1) >> 0; + } + while (true) { + if (!(i < a.dp)) { break; } + n = $mul64(n, (new $Uint64(0, 10))); + i = i + (1) >> 0; + } + if (shouldRoundUp(a, a.dp)) { + n = (x$3 = new $Uint64(0, 1), new $Uint64(n.$high + x$3.$high, n.$low + x$3.$low)); + } + return n; + }; + decimal.prototype.RoundedInteger = function() { return this.$val.RoundedInteger(); }; + extFloat.ptr.prototype.floatBits = function(flt) { + var bits$1, exp, f, flt, mant, n, overflow, x, x$1, x$10, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, y, y$1, y$2; + bits$1 = new $Uint64(0, 0); + overflow = false; + f = this; + f.Normalize(); + exp = f.exp + 63 >> 0; + if (exp < (flt.bias + 1 >> 0)) { + n = (flt.bias + 1 >> 0) - exp >> 0; + f.mant = $shiftRightUint64(f.mant, (((n >>> 0)))); + exp = exp + (n) >> 0; + } + mant = $shiftRightUint64(f.mant, ((63 - flt.mantbits >>> 0))); + if (!((x = (x$1 = f.mant, x$2 = $shiftLeft64(new $Uint64(0, 1), ((62 - flt.mantbits >>> 0))), new $Uint64(x$1.$high & x$2.$high, (x$1.$low & x$2.$low) >>> 0)), (x.$high === 0 && x.$low === 0)))) { + mant = (x$3 = new $Uint64(0, 1), new $Uint64(mant.$high + x$3.$high, mant.$low + x$3.$low)); + } + if ((x$4 = $shiftLeft64(new $Uint64(0, 2), flt.mantbits), (mant.$high === x$4.$high && mant.$low === x$4.$low))) { + mant = $shiftRightUint64(mant, (1)); + exp = exp + (1) >> 0; + } + if ((exp - flt.bias >> 0) >= (((y = flt.expbits, y < 32 ? (1 << y) : 0) >> 0) - 1 >> 0)) { + mant = new $Uint64(0, 0); + exp = (((y$1 = flt.expbits, y$1 < 32 ? (1 << y$1) : 0) >> 0) - 1 >> 0) + flt.bias >> 0; + overflow = true; + } else if ((x$5 = (x$6 = $shiftLeft64(new $Uint64(0, 1), flt.mantbits), new $Uint64(mant.$high & x$6.$high, (mant.$low & x$6.$low) >>> 0)), (x$5.$high === 0 && x$5.$low === 0))) { + exp = flt.bias; + } + bits$1 = (x$7 = (x$8 = $shiftLeft64(new $Uint64(0, 1), flt.mantbits), new $Uint64(x$8.$high - 0, x$8.$low - 1)), new $Uint64(mant.$high & x$7.$high, (mant.$low & x$7.$low) >>> 0)); + bits$1 = (x$9 = $shiftLeft64((new $Uint64(0, (((exp - flt.bias >> 0)) & ((((y$2 = flt.expbits, y$2 < 32 ? (1 << y$2) : 0) >> 0) - 1 >> 0))))), flt.mantbits), new $Uint64(bits$1.$high | x$9.$high, (bits$1.$low | x$9.$low) >>> 0)); + if (f.neg) { + bits$1 = (x$10 = $shiftLeft64(new $Uint64(0, 1), ((flt.mantbits + flt.expbits >>> 0))), new $Uint64(bits$1.$high | x$10.$high, (bits$1.$low | x$10.$low) >>> 0)); + } + return [bits$1, overflow]; + }; + extFloat.prototype.floatBits = function(flt) { return this.$val.floatBits(flt); }; + extFloat.ptr.prototype.AssignComputeBounds = function(mant, exp, neg, flt) { + var _tmp, _tmp$1, exp, expBiased, f, flt, lower, mant, neg, upper, x, x$1, x$2, x$3, x$4; + lower = new extFloat.ptr(new $Uint64(0, 0), 0, false); + upper = new extFloat.ptr(new $Uint64(0, 0), 0, false); + f = this; + f.mant = mant; + f.exp = exp - ((flt.mantbits >> 0)) >> 0; + f.neg = neg; + if (f.exp <= 0 && (x = $shiftLeft64(($shiftRightUint64(mant, ((-f.exp >>> 0)))), ((-f.exp >>> 0))), (mant.$high === x.$high && mant.$low === x.$low))) { + f.mant = $shiftRightUint64(f.mant, (((-f.exp >>> 0)))); + f.exp = 0; + _tmp = $clone(f, extFloat); + _tmp$1 = $clone(f, extFloat); + extFloat.copy(lower, _tmp); + extFloat.copy(upper, _tmp$1); + return [lower, upper]; + } + expBiased = exp - flt.bias >> 0; + extFloat.copy(upper, new extFloat.ptr((x$1 = $mul64(new $Uint64(0, 2), f.mant), new $Uint64(x$1.$high + 0, x$1.$low + 1)), f.exp - 1 >> 0, f.neg)); + if (!((x$2 = $shiftLeft64(new $Uint64(0, 1), flt.mantbits), (mant.$high === x$2.$high && mant.$low === x$2.$low))) || (expBiased === 1)) { + extFloat.copy(lower, new extFloat.ptr((x$3 = $mul64(new $Uint64(0, 2), f.mant), new $Uint64(x$3.$high - 0, x$3.$low - 1)), f.exp - 1 >> 0, f.neg)); + } else { + extFloat.copy(lower, new extFloat.ptr((x$4 = $mul64(new $Uint64(0, 4), f.mant), new $Uint64(x$4.$high - 0, x$4.$low - 1)), f.exp - 2 >> 0, f.neg)); + } + return [lower, upper]; + }; + extFloat.prototype.AssignComputeBounds = function(mant, exp, neg, flt) { return this.$val.AssignComputeBounds(mant, exp, neg, flt); }; + extFloat.ptr.prototype.Normalize = function() { + var f, shift, x; + f = this; + if ((x = f.mant, (x.$high === 0 && x.$low === 0))) { + return 0; + } + shift = bits.LeadingZeros64(f.mant); + f.mant = $shiftLeft64(f.mant, (((shift >>> 0)))); + f.exp = f.exp - (shift) >> 0; + return ((shift >>> 0)); + }; + extFloat.prototype.Normalize = function() { return this.$val.Normalize(); }; + extFloat.ptr.prototype.Multiply = function(g) { + var _tmp, _tmp$1, _tmp$2, _tmp$3, cross1, cross2, f, fhi, flo, g, ghi, glo, rem, x, x$1, x$10, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9; + f = this; + _tmp = $shiftRightUint64(f.mant, 32); + _tmp$1 = (new $Uint64(0, ((f.mant.$low >>> 0)))); + fhi = _tmp; + flo = _tmp$1; + _tmp$2 = $shiftRightUint64(g.mant, 32); + _tmp$3 = (new $Uint64(0, ((g.mant.$low >>> 0)))); + ghi = _tmp$2; + glo = _tmp$3; + cross1 = $mul64(fhi, glo); + cross2 = $mul64(flo, ghi); + f.mant = (x = (x$1 = $mul64(fhi, ghi), x$2 = $shiftRightUint64(cross1, 32), new $Uint64(x$1.$high + x$2.$high, x$1.$low + x$2.$low)), x$3 = $shiftRightUint64(cross2, 32), new $Uint64(x.$high + x$3.$high, x.$low + x$3.$low)); + rem = (x$4 = (x$5 = (new $Uint64(0, ((cross1.$low >>> 0)))), x$6 = (new $Uint64(0, ((cross2.$low >>> 0)))), new $Uint64(x$5.$high + x$6.$high, x$5.$low + x$6.$low)), x$7 = $shiftRightUint64(($mul64(flo, glo)), 32), new $Uint64(x$4.$high + x$7.$high, x$4.$low + x$7.$low)); + rem = (x$8 = new $Uint64(0, 2147483648), new $Uint64(rem.$high + x$8.$high, rem.$low + x$8.$low)); + f.mant = (x$9 = f.mant, x$10 = ($shiftRightUint64(rem, 32)), new $Uint64(x$9.$high + x$10.$high, x$9.$low + x$10.$low)); + f.exp = (f.exp + g.exp >> 0) + 64 >> 0; + }; + extFloat.prototype.Multiply = function(g) { return this.$val.Multiply(g); }; + extFloat.ptr.prototype.AssignDecimal = function(mantissa, exp10, neg, trunc, flt) { + var _q, _r, adjExp, denormalExp, errors$1, exp10, extrabits, f, flt, halfway, i, mant_extra, mantissa, neg, ok, shift, trunc, x, x$1, x$10, x$11, x$12, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, y; + ok = false; + f = this; + errors$1 = 0; + if (trunc) { + errors$1 = errors$1 + (4) >> 0; + } + f.mant = mantissa; + f.exp = 0; + f.neg = neg; + i = (_q = ((exp10 - -348 >> 0)) / 8, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero")); + if (exp10 < -348 || i >= 87) { + ok = false; + return ok; + } + adjExp = (_r = ((exp10 - -348 >> 0)) % 8, _r === _r ? _r : $throwRuntimeError("integer divide by zero")); + if (adjExp < 19 && (x = (x$1 = 19 - adjExp >> 0, ((x$1 < 0 || x$1 >= uint64pow10.length) ? ($throwRuntimeError("index out of range"), undefined) : uint64pow10[x$1])), (mantissa.$high < x.$high || (mantissa.$high === x.$high && mantissa.$low < x.$low)))) { + f.mant = $mul64(f.mant, (((adjExp < 0 || adjExp >= uint64pow10.length) ? ($throwRuntimeError("index out of range"), undefined) : uint64pow10[adjExp]))); + f.Normalize(); + } else { + f.Normalize(); + f.Multiply($clone(((adjExp < 0 || adjExp >= smallPowersOfTen.length) ? ($throwRuntimeError("index out of range"), undefined) : smallPowersOfTen[adjExp]), extFloat)); + errors$1 = errors$1 + (4) >> 0; + } + f.Multiply($clone(((i < 0 || i >= powersOfTen.length) ? ($throwRuntimeError("index out of range"), undefined) : powersOfTen[i]), extFloat)); + if (errors$1 > 0) { + errors$1 = errors$1 + (1) >> 0; + } + errors$1 = errors$1 + (4) >> 0; + shift = f.Normalize(); + errors$1 = (y = (shift), y < 32 ? (errors$1 << y) : 0) >> 0; + denormalExp = flt.bias - 63 >> 0; + extrabits = 0; + if (f.exp <= denormalExp) { + extrabits = ((63 - flt.mantbits >>> 0) + 1 >>> 0) + (((denormalExp - f.exp >> 0) >>> 0)) >>> 0; + } else { + extrabits = 63 - flt.mantbits >>> 0; + } + halfway = $shiftLeft64(new $Uint64(0, 1), ((extrabits - 1 >>> 0))); + mant_extra = (x$2 = f.mant, x$3 = (x$4 = $shiftLeft64(new $Uint64(0, 1), extrabits), new $Uint64(x$4.$high - 0, x$4.$low - 1)), new $Uint64(x$2.$high & x$3.$high, (x$2.$low & x$3.$low) >>> 0)); + if ((x$5 = (x$6 = (new $Int64(halfway.$high, halfway.$low)), x$7 = (new $Int64(0, errors$1)), new $Int64(x$6.$high - x$7.$high, x$6.$low - x$7.$low)), x$8 = (new $Int64(mant_extra.$high, mant_extra.$low)), (x$5.$high < x$8.$high || (x$5.$high === x$8.$high && x$5.$low < x$8.$low))) && (x$9 = (new $Int64(mant_extra.$high, mant_extra.$low)), x$10 = (x$11 = (new $Int64(halfway.$high, halfway.$low)), x$12 = (new $Int64(0, errors$1)), new $Int64(x$11.$high + x$12.$high, x$11.$low + x$12.$low)), (x$9.$high < x$10.$high || (x$9.$high === x$10.$high && x$9.$low < x$10.$low)))) { + ok = false; + return ok; + } + ok = true; + return ok; + }; + extFloat.prototype.AssignDecimal = function(mantissa, exp10, neg, trunc, flt) { return this.$val.AssignDecimal(mantissa, exp10, neg, trunc, flt); }; + extFloat.ptr.prototype.frexp10 = function() { + var _q, _q$1, _tmp, _tmp$1, approxExp10, exp, exp10, f, i, index; + exp10 = 0; + index = 0; + f = this; + approxExp10 = (_q = ($imul(((-46 - f.exp >> 0)), 28)) / 93, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero")); + i = (_q$1 = ((approxExp10 - -348 >> 0)) / 8, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError("integer divide by zero")); + Loop: + while (true) { + exp = (f.exp + ((i < 0 || i >= powersOfTen.length) ? ($throwRuntimeError("index out of range"), undefined) : powersOfTen[i]).exp >> 0) + 64 >> 0; + if (exp < -60) { + i = i + (1) >> 0; + } else if (exp > -32) { + i = i - (1) >> 0; + } else { + break Loop; + } + } + f.Multiply($clone(((i < 0 || i >= powersOfTen.length) ? ($throwRuntimeError("index out of range"), undefined) : powersOfTen[i]), extFloat)); + _tmp = -((-348 + ($imul(i, 8)) >> 0)); + _tmp$1 = i; + exp10 = _tmp; + index = _tmp$1; + return [exp10, index]; + }; + extFloat.prototype.frexp10 = function() { return this.$val.frexp10(); }; + frexp10Many = function(a, b, c) { + var _tuple, a, b, c, exp10, i; + exp10 = 0; + _tuple = c.frexp10(); + exp10 = _tuple[0]; + i = _tuple[1]; + a.Multiply($clone(((i < 0 || i >= powersOfTen.length) ? ($throwRuntimeError("index out of range"), undefined) : powersOfTen[i]), extFloat)); + b.Multiply($clone(((i < 0 || i >= powersOfTen.length) ? ($throwRuntimeError("index out of range"), undefined) : powersOfTen[i]), extFloat)); + return exp10; + }; + extFloat.ptr.prototype.FixedDecimal = function(d, n) { + var $CE$B5, _q, _q$1, _tmp, _tmp$1, _tuple, buf, d, digit, exp10, f, fraction, i, i$1, i$2, integer, integerDigits, n, nd, needed, ok, pos, pow, pow10, rest, shift, v, v1, x, x$1, x$10, x$11, x$12, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9; + f = this; + if ((x = f.mant, (x.$high === 0 && x.$low === 0))) { + d.nd = 0; + d.dp = 0; + d.neg = f.neg; + return true; + } + if (n === 0) { + $panic(new $String("strconv: internal error: extFloat.FixedDecimal called with n == 0")); + } + f.Normalize(); + _tuple = f.frexp10(); + exp10 = _tuple[0]; + shift = ((-f.exp >>> 0)); + integer = (($shiftRightUint64(f.mant, shift).$low >>> 0)); + fraction = (x$1 = f.mant, x$2 = $shiftLeft64((new $Uint64(0, integer)), shift), new $Uint64(x$1.$high - x$2.$high, x$1.$low - x$2.$low)); + $CE$B5 = new $Uint64(0, 1); + needed = n; + integerDigits = 0; + pow10 = new $Uint64(0, 1); + _tmp = 0; + _tmp$1 = new $Uint64(0, 1); + i = _tmp; + pow = _tmp$1; + while (true) { + if (!(i < 20)) { break; } + if ((x$3 = (new $Uint64(0, integer)), (pow.$high > x$3.$high || (pow.$high === x$3.$high && pow.$low > x$3.$low)))) { + integerDigits = i; + break; + } + pow = $mul64(pow, (new $Uint64(0, 10))); + i = i + (1) >> 0; + } + rest = integer; + if (integerDigits > needed) { + pow10 = (x$4 = integerDigits - needed >> 0, ((x$4 < 0 || x$4 >= uint64pow10.length) ? ($throwRuntimeError("index out of range"), undefined) : uint64pow10[x$4])); + integer = (_q = integer / (((pow10.$low >>> 0))), (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >>> 0 : $throwRuntimeError("integer divide by zero")); + rest = rest - (($imul(integer, ((pow10.$low >>> 0))) >>> 0)) >>> 0; + } else { + rest = 0; + } + buf = arrayType$2.zero(); + pos = 32; + v = integer; + while (true) { + if (!(v > 0)) { break; } + v1 = (_q$1 = v / 10, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >>> 0 : $throwRuntimeError("integer divide by zero")); + v = v - (($imul(10, v1) >>> 0)) >>> 0; + pos = pos - (1) >> 0; + ((pos < 0 || pos >= buf.length) ? ($throwRuntimeError("index out of range"), undefined) : buf[pos] = (((v + 48 >>> 0) << 24 >>> 24))); + v = v1; + } + i$1 = pos; + while (true) { + if (!(i$1 < 32)) { break; } + (x$5 = d.d, x$6 = i$1 - pos >> 0, ((x$6 < 0 || x$6 >= x$5.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$5.$array[x$5.$offset + x$6] = ((i$1 < 0 || i$1 >= buf.length) ? ($throwRuntimeError("index out of range"), undefined) : buf[i$1]))); + i$1 = i$1 + (1) >> 0; + } + nd = 32 - pos >> 0; + d.nd = nd; + d.dp = integerDigits + exp10 >> 0; + needed = needed - (nd) >> 0; + if (needed > 0) { + if (!((rest === 0)) || !((pow10.$high === 0 && pow10.$low === 1))) { + $panic(new $String("strconv: internal error, rest != 0 but needed > 0")); + } + while (true) { + if (!(needed > 0)) { break; } + fraction = $mul64(fraction, (new $Uint64(0, 10))); + $CE$B5 = $mul64($CE$B5, (new $Uint64(0, 10))); + if ((x$7 = $mul64(new $Uint64(0, 2), $CE$B5), x$8 = $shiftLeft64(new $Uint64(0, 1), shift), (x$7.$high > x$8.$high || (x$7.$high === x$8.$high && x$7.$low > x$8.$low)))) { + return false; + } + digit = $shiftRightUint64(fraction, shift); + (x$9 = d.d, ((nd < 0 || nd >= x$9.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$9.$array[x$9.$offset + nd] = ((new $Uint64(digit.$high + 0, digit.$low + 48).$low << 24 >>> 24)))); + fraction = (x$10 = $shiftLeft64(digit, shift), new $Uint64(fraction.$high - x$10.$high, fraction.$low - x$10.$low)); + nd = nd + (1) >> 0; + needed = needed - (1) >> 0; + } + d.nd = nd; + } + ok = adjustLastDigitFixed(d, (x$11 = $shiftLeft64((new $Uint64(0, rest)), shift), new $Uint64(x$11.$high | fraction.$high, (x$11.$low | fraction.$low) >>> 0)), pow10, shift, $CE$B5); + if (!ok) { + return false; + } + i$2 = d.nd - 1 >> 0; + while (true) { + if (!(i$2 >= 0)) { break; } + if (!(((x$12 = d.d, ((i$2 < 0 || i$2 >= x$12.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$12.$array[x$12.$offset + i$2])) === 48))) { + d.nd = i$2 + 1 >> 0; + break; + } + i$2 = i$2 - (1) >> 0; + } + return true; + }; + extFloat.prototype.FixedDecimal = function(d, n) { return this.$val.FixedDecimal(d, n); }; + adjustLastDigitFixed = function(d, num, den, shift, $CE$B5) { + var $CE$B5, d, den, i, num, shift, x, x$1, x$10, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9; + if ((x = $shiftLeft64(den, shift), (num.$high > x.$high || (num.$high === x.$high && num.$low > x.$low)))) { + $panic(new $String("strconv: num > den< x$2.$high || (x$1.$high === x$2.$high && x$1.$low > x$2.$low)))) { + $panic(new $String("strconv: \xCE\xB5 > (den< x$6.$high || (x$5.$high === x$6.$high && x$5.$low > x$6.$low)))) { + i = d.nd - 1 >> 0; + while (true) { + if (!(i >= 0)) { break; } + if ((x$7 = d.d, ((i < 0 || i >= x$7.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$7.$array[x$7.$offset + i])) === 57) { + d.nd = d.nd - (1) >> 0; + } else { + break; + } + i = i - (1) >> 0; + } + if (i < 0) { + (x$8 = d.d, (0 >= x$8.$length ? ($throwRuntimeError("index out of range"), undefined) : x$8.$array[x$8.$offset + 0] = 49)); + d.nd = 1; + d.dp = d.dp + (1) >> 0; + } else { + (x$10 = d.d, ((i < 0 || i >= x$10.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$10.$array[x$10.$offset + i] = ((x$9 = d.d, ((i < 0 || i >= x$9.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$9.$array[x$9.$offset + i])) + (1) << 24 >>> 24))); + } + return true; + } + return false; + }; + extFloat.ptr.prototype.ShortestDecimal = function(d, lower, upper) { + var _q, _tmp, _tmp$1, _tmp$2, _tmp$3, allowance, buf, currentDiff, d, digit, digit$1, exp10, f, fraction, i, i$1, i$2, integer, integerDigits, lower, multiplier, n, nd, pow, pow$1, shift, targetDiff, upper, v, v1, x, x$1, x$10, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$2, x$20, x$21, x$22, x$23, x$3, x$4, x$5, x$6, x$7, x$8, x$9; + f = this; + if ((x = f.mant, (x.$high === 0 && x.$low === 0))) { + d.nd = 0; + d.dp = 0; + d.neg = f.neg; + return true; + } + if ((f.exp === 0) && $equal(lower, f, extFloat) && $equal(lower, upper, extFloat)) { + buf = arrayType$1.zero(); + n = 23; + v = f.mant; + while (true) { + if (!((v.$high > 0 || (v.$high === 0 && v.$low > 0)))) { break; } + v1 = $div64(v, new $Uint64(0, 10), false); + v = (x$1 = $mul64(new $Uint64(0, 10), v1), new $Uint64(v.$high - x$1.$high, v.$low - x$1.$low)); + ((n < 0 || n >= buf.length) ? ($throwRuntimeError("index out of range"), undefined) : buf[n] = ((new $Uint64(v.$high + 0, v.$low + 48).$low << 24 >>> 24))); + n = n - (1) >> 0; + v = v1; + } + nd = (24 - n >> 0) - 1 >> 0; + i = 0; + while (true) { + if (!(i < nd)) { break; } + (x$3 = d.d, ((i < 0 || i >= x$3.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$3.$array[x$3.$offset + i] = (x$2 = (n + 1 >> 0) + i >> 0, ((x$2 < 0 || x$2 >= buf.length) ? ($throwRuntimeError("index out of range"), undefined) : buf[x$2])))); + i = i + (1) >> 0; + } + _tmp = nd; + _tmp$1 = nd; + d.nd = _tmp; + d.dp = _tmp$1; + while (true) { + if (!(d.nd > 0 && ((x$4 = d.d, x$5 = d.nd - 1 >> 0, ((x$5 < 0 || x$5 >= x$4.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$4.$array[x$4.$offset + x$5])) === 48))) { break; } + d.nd = d.nd - (1) >> 0; + } + if (d.nd === 0) { + d.dp = 0; + } + d.neg = f.neg; + return true; + } + upper.Normalize(); + if (f.exp > upper.exp) { + f.mant = $shiftLeft64(f.mant, ((((f.exp - upper.exp >> 0) >>> 0)))); + f.exp = upper.exp; + } + if (lower.exp > upper.exp) { + lower.mant = $shiftLeft64(lower.mant, ((((lower.exp - upper.exp >> 0) >>> 0)))); + lower.exp = upper.exp; + } + exp10 = frexp10Many(lower, f, upper); + upper.mant = (x$6 = upper.mant, x$7 = new $Uint64(0, 1), new $Uint64(x$6.$high + x$7.$high, x$6.$low + x$7.$low)); + lower.mant = (x$8 = lower.mant, x$9 = new $Uint64(0, 1), new $Uint64(x$8.$high - x$9.$high, x$8.$low - x$9.$low)); + shift = ((-upper.exp >>> 0)); + integer = (($shiftRightUint64(upper.mant, shift).$low >>> 0)); + fraction = (x$10 = upper.mant, x$11 = $shiftLeft64((new $Uint64(0, integer)), shift), new $Uint64(x$10.$high - x$11.$high, x$10.$low - x$11.$low)); + allowance = (x$12 = upper.mant, x$13 = lower.mant, new $Uint64(x$12.$high - x$13.$high, x$12.$low - x$13.$low)); + targetDiff = (x$14 = upper.mant, x$15 = f.mant, new $Uint64(x$14.$high - x$15.$high, x$14.$low - x$15.$low)); + integerDigits = 0; + _tmp$2 = 0; + _tmp$3 = new $Uint64(0, 1); + i$1 = _tmp$2; + pow = _tmp$3; + while (true) { + if (!(i$1 < 20)) { break; } + if ((x$16 = (new $Uint64(0, integer)), (pow.$high > x$16.$high || (pow.$high === x$16.$high && pow.$low > x$16.$low)))) { + integerDigits = i$1; + break; + } + pow = $mul64(pow, (new $Uint64(0, 10))); + i$1 = i$1 + (1) >> 0; + } + i$2 = 0; + while (true) { + if (!(i$2 < integerDigits)) { break; } + pow$1 = (x$17 = (integerDigits - i$2 >> 0) - 1 >> 0, ((x$17 < 0 || x$17 >= uint64pow10.length) ? ($throwRuntimeError("index out of range"), undefined) : uint64pow10[x$17])); + digit = (_q = integer / ((pow$1.$low >>> 0)), (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >>> 0 : $throwRuntimeError("integer divide by zero")); + (x$18 = d.d, ((i$2 < 0 || i$2 >= x$18.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$18.$array[x$18.$offset + i$2] = (((digit + 48 >>> 0) << 24 >>> 24)))); + integer = integer - (($imul(digit, ((pow$1.$low >>> 0))) >>> 0)) >>> 0; + currentDiff = (x$19 = $shiftLeft64((new $Uint64(0, integer)), shift), new $Uint64(x$19.$high + fraction.$high, x$19.$low + fraction.$low)); + if ((currentDiff.$high < allowance.$high || (currentDiff.$high === allowance.$high && currentDiff.$low < allowance.$low))) { + d.nd = i$2 + 1 >> 0; + d.dp = integerDigits + exp10 >> 0; + d.neg = f.neg; + return adjustLastDigit(d, currentDiff, targetDiff, allowance, $shiftLeft64(pow$1, shift), new $Uint64(0, 2)); + } + i$2 = i$2 + (1) >> 0; + } + d.nd = integerDigits; + d.dp = d.nd + exp10 >> 0; + d.neg = f.neg; + digit$1 = 0; + multiplier = new $Uint64(0, 1); + while (true) { + fraction = $mul64(fraction, (new $Uint64(0, 10))); + multiplier = $mul64(multiplier, (new $Uint64(0, 10))); + digit$1 = (($shiftRightUint64(fraction, shift).$low >> 0)); + (x$20 = d.d, x$21 = d.nd, ((x$21 < 0 || x$21 >= x$20.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$20.$array[x$20.$offset + x$21] = (((digit$1 + 48 >> 0) << 24 >>> 24)))); + d.nd = d.nd + (1) >> 0; + fraction = (x$22 = $shiftLeft64((new $Uint64(0, digit$1)), shift), new $Uint64(fraction.$high - x$22.$high, fraction.$low - x$22.$low)); + if ((x$23 = $mul64(allowance, multiplier), (fraction.$high < x$23.$high || (fraction.$high === x$23.$high && fraction.$low < x$23.$low)))) { + return adjustLastDigit(d, fraction, $mul64(targetDiff, multiplier), $mul64(allowance, multiplier), $shiftLeft64(new $Uint64(0, 1), shift), $mul64(multiplier, new $Uint64(0, 2))); + } + } + }; + extFloat.prototype.ShortestDecimal = function(d, lower, upper) { return this.$val.ShortestDecimal(d, lower, upper); }; + adjustLastDigit = function(d, currentDiff, targetDiff, maxDiff, ulpDecimal, ulpBinary) { + var _index, currentDiff, d, maxDiff, targetDiff, ulpBinary, ulpDecimal, x, x$1, x$10, x$11, x$12, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9; + if ((x = $mul64(new $Uint64(0, 2), ulpBinary), (ulpDecimal.$high < x.$high || (ulpDecimal.$high === x.$high && ulpDecimal.$low < x.$low)))) { + return false; + } + while (true) { + if (!((x$1 = (x$2 = (x$3 = $div64(ulpDecimal, new $Uint64(0, 2), false), new $Uint64(currentDiff.$high + x$3.$high, currentDiff.$low + x$3.$low)), new $Uint64(x$2.$high + ulpBinary.$high, x$2.$low + ulpBinary.$low)), (x$1.$high < targetDiff.$high || (x$1.$high === targetDiff.$high && x$1.$low < targetDiff.$low))))) { break; } + _index = d.nd - 1 >> 0; + (x$5 = d.d, ((_index < 0 || _index >= x$5.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$5.$array[x$5.$offset + _index] = ((x$4 = d.d, ((_index < 0 || _index >= x$4.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$4.$array[x$4.$offset + _index])) - (1) << 24 >>> 24))); + currentDiff = (x$6 = ulpDecimal, new $Uint64(currentDiff.$high + x$6.$high, currentDiff.$low + x$6.$low)); + } + if ((x$7 = new $Uint64(currentDiff.$high + ulpDecimal.$high, currentDiff.$low + ulpDecimal.$low), x$8 = (x$9 = (x$10 = $div64(ulpDecimal, new $Uint64(0, 2), false), new $Uint64(targetDiff.$high + x$10.$high, targetDiff.$low + x$10.$low)), new $Uint64(x$9.$high + ulpBinary.$high, x$9.$low + ulpBinary.$low)), (x$7.$high < x$8.$high || (x$7.$high === x$8.$high && x$7.$low <= x$8.$low)))) { + return false; + } + if ((currentDiff.$high < ulpBinary.$high || (currentDiff.$high === ulpBinary.$high && currentDiff.$low < ulpBinary.$low)) || (x$11 = new $Uint64(maxDiff.$high - ulpBinary.$high, maxDiff.$low - ulpBinary.$low), (currentDiff.$high > x$11.$high || (currentDiff.$high === x$11.$high && currentDiff.$low > x$11.$low)))) { + return false; + } + if ((d.nd === 1) && ((x$12 = d.d, (0 >= x$12.$length ? ($throwRuntimeError("index out of range"), undefined) : x$12.$array[x$12.$offset + 0])) === 48)) { + d.nd = 0; + d.dp = 0; + } + return true; + }; + AppendFloat = function(dst, f, fmt, prec, bitSize) { + var bitSize, dst, f, fmt, prec; + return genericFtoa(dst, f, fmt, prec, bitSize); + }; + $pkg.AppendFloat = AppendFloat; + genericFtoa = function(dst, val, fmt, prec, bitSize) { + var _1, _2, _3, _4, _tuple, bitSize, bits$1, buf, buf$1, digits, digs, dst, exp, f, f$1, flt, fmt, lower, mant, neg, ok, prec, s, shortest, upper, val, x, x$1, x$2, x$3, y, y$1; + bits$1 = new $Uint64(0, 0); + flt = ptrType$1.nil; + _1 = bitSize; + if (_1 === (32)) { + bits$1 = (new $Uint64(0, math.Float32bits(($fround(val))))); + flt = float32info; + } else if (_1 === (64)) { + bits$1 = math.Float64bits(val); + flt = float64info; + } else { + $panic(new $String("strconv: illegal AppendFloat/FormatFloat bitSize")); + } + neg = !((x = $shiftRightUint64(bits$1, ((flt.expbits + flt.mantbits >>> 0))), (x.$high === 0 && x.$low === 0))); + exp = (($shiftRightUint64(bits$1, flt.mantbits).$low >> 0)) & ((((y = flt.expbits, y < 32 ? (1 << y) : 0) >> 0) - 1 >> 0)); + mant = (x$1 = (x$2 = $shiftLeft64(new $Uint64(0, 1), flt.mantbits), new $Uint64(x$2.$high - 0, x$2.$low - 1)), new $Uint64(bits$1.$high & x$1.$high, (bits$1.$low & x$1.$low) >>> 0)); + _2 = exp; + if (_2 === ((((y$1 = flt.expbits, y$1 < 32 ? (1 << y$1) : 0) >> 0) - 1 >> 0))) { + s = ""; + if (!((mant.$high === 0 && mant.$low === 0))) { + s = "NaN"; + } else if (neg) { + s = "-Inf"; + } else { + s = "+Inf"; + } + return $appendSlice(dst, s); + } else if (_2 === (0)) { + exp = exp + (1) >> 0; + } else { + mant = (x$3 = $shiftLeft64(new $Uint64(0, 1), flt.mantbits), new $Uint64(mant.$high | x$3.$high, (mant.$low | x$3.$low) >>> 0)); + } + exp = exp + (flt.bias) >> 0; + if (fmt === 98) { + return fmtB(dst, neg, mant, exp, flt); + } + if (!optimize) { + return bigFtoa(dst, prec, fmt, neg, mant, exp, flt); + } + digs = new decimalSlice.ptr(sliceType$6.nil, 0, 0, false); + ok = false; + shortest = prec < 0; + if (shortest) { + f = new extFloat.ptr(new $Uint64(0, 0), 0, false); + _tuple = f.AssignComputeBounds(mant, exp, neg, flt); + lower = $clone(_tuple[0], extFloat); + upper = $clone(_tuple[1], extFloat); + buf = arrayType$2.zero(); + digs.d = new sliceType$6(buf); + ok = f.ShortestDecimal(digs, lower, upper); + if (!ok) { + return bigFtoa(dst, prec, fmt, neg, mant, exp, flt); + } + _3 = fmt; + if ((_3 === (101)) || (_3 === (69))) { + prec = max(digs.nd - 1 >> 0, 0); + } else if (_3 === (102)) { + prec = max(digs.nd - digs.dp >> 0, 0); + } else if ((_3 === (103)) || (_3 === (71))) { + prec = digs.nd; + } + } else if (!((fmt === 102))) { + digits = prec; + _4 = fmt; + if ((_4 === (101)) || (_4 === (69))) { + digits = digits + (1) >> 0; + } else if ((_4 === (103)) || (_4 === (71))) { + if (prec === 0) { + prec = 1; + } + digits = prec; + } + if (digits <= 15) { + buf$1 = arrayType$1.zero(); + digs.d = new sliceType$6(buf$1); + f$1 = new extFloat.ptr(mant, exp - ((flt.mantbits >> 0)) >> 0, neg); + ok = f$1.FixedDecimal(digs, digits); + } + } + if (!ok) { + return bigFtoa(dst, prec, fmt, neg, mant, exp, flt); + } + return formatDigits(dst, shortest, neg, $clone(digs, decimalSlice), prec, fmt); + }; + bigFtoa = function(dst, prec, fmt, neg, mant, exp, flt) { + var _1, _2, d, digs, dst, exp, flt, fmt, mant, neg, prec, shortest; + d = new decimal.ptr(arrayType.zero(), 0, 0, false, false); + d.Assign(mant); + d.Shift(exp - ((flt.mantbits >> 0)) >> 0); + digs = new decimalSlice.ptr(sliceType$6.nil, 0, 0, false); + shortest = prec < 0; + if (shortest) { + roundShortest(d, mant, exp, flt); + decimalSlice.copy(digs, new decimalSlice.ptr(new sliceType$6(d.d), d.nd, d.dp, false)); + _1 = fmt; + if ((_1 === (101)) || (_1 === (69))) { + prec = digs.nd - 1 >> 0; + } else if (_1 === (102)) { + prec = max(digs.nd - digs.dp >> 0, 0); + } else if ((_1 === (103)) || (_1 === (71))) { + prec = digs.nd; + } + } else { + _2 = fmt; + if ((_2 === (101)) || (_2 === (69))) { + d.Round(prec + 1 >> 0); + } else if (_2 === (102)) { + d.Round(d.dp + prec >> 0); + } else if ((_2 === (103)) || (_2 === (71))) { + if (prec === 0) { + prec = 1; + } + d.Round(prec); + } + decimalSlice.copy(digs, new decimalSlice.ptr(new sliceType$6(d.d), d.nd, d.dp, false)); + } + return formatDigits(dst, shortest, neg, $clone(digs, decimalSlice), prec, fmt); + }; + formatDigits = function(dst, shortest, neg, digs, prec, fmt) { + var _1, digs, dst, eprec, exp, fmt, neg, prec, shortest; + _1 = fmt; + if ((_1 === (101)) || (_1 === (69))) { + return fmtE(dst, neg, $clone(digs, decimalSlice), prec, fmt); + } else if (_1 === (102)) { + return fmtF(dst, neg, $clone(digs, decimalSlice), prec); + } else if ((_1 === (103)) || (_1 === (71))) { + eprec = prec; + if (eprec > digs.nd && digs.nd >= digs.dp) { + eprec = digs.nd; + } + if (shortest) { + eprec = 6; + } + exp = digs.dp - 1 >> 0; + if (exp < -4 || exp >= eprec) { + if (prec > digs.nd) { + prec = digs.nd; + } + return fmtE(dst, neg, $clone(digs, decimalSlice), prec - 1 >> 0, (fmt + 101 << 24 >>> 24) - 103 << 24 >>> 24); + } + if (prec > digs.dp) { + prec = digs.nd; + } + return fmtF(dst, neg, $clone(digs, decimalSlice), max(prec - digs.dp >> 0, 0)); + } + return $append(dst, 37, fmt); + }; + roundShortest = function(d, mant, exp, flt) { + var d, exp, explo, flt, i, inclusive, l, lower, m, mant, mantlo, minexp, okdown, okup, u, upper, x, x$1, x$2, x$3, x$4, x$5, x$6, x$7; + if ((mant.$high === 0 && mant.$low === 0)) { + d.nd = 0; + return; + } + minexp = flt.bias + 1 >> 0; + if (exp > minexp && ($imul(332, ((d.dp - d.nd >> 0)))) >= ($imul(100, ((exp - ((flt.mantbits >> 0)) >> 0))))) { + return; + } + upper = new decimal.ptr(arrayType.zero(), 0, 0, false, false); + upper.Assign((x = $mul64(mant, new $Uint64(0, 2)), new $Uint64(x.$high + 0, x.$low + 1))); + upper.Shift((exp - ((flt.mantbits >> 0)) >> 0) - 1 >> 0); + mantlo = new $Uint64(0, 0); + explo = 0; + if ((x$1 = $shiftLeft64(new $Uint64(0, 1), flt.mantbits), (mant.$high > x$1.$high || (mant.$high === x$1.$high && mant.$low > x$1.$low))) || (exp === minexp)) { + mantlo = new $Uint64(mant.$high - 0, mant.$low - 1); + explo = exp; + } else { + mantlo = (x$2 = $mul64(mant, new $Uint64(0, 2)), new $Uint64(x$2.$high - 0, x$2.$low - 1)); + explo = exp - 1 >> 0; + } + lower = new decimal.ptr(arrayType.zero(), 0, 0, false, false); + lower.Assign((x$3 = $mul64(mantlo, new $Uint64(0, 2)), new $Uint64(x$3.$high + 0, x$3.$low + 1))); + lower.Shift((explo - ((flt.mantbits >> 0)) >> 0) - 1 >> 0); + inclusive = (x$4 = $div64(mant, new $Uint64(0, 2), true), (x$4.$high === 0 && x$4.$low === 0)); + i = 0; + while (true) { + if (!(i < d.nd)) { break; } + l = 48; + if (i < lower.nd) { + l = (x$5 = lower.d, ((i < 0 || i >= x$5.length) ? ($throwRuntimeError("index out of range"), undefined) : x$5[i])); + } + m = (x$6 = d.d, ((i < 0 || i >= x$6.length) ? ($throwRuntimeError("index out of range"), undefined) : x$6[i])); + u = 48; + if (i < upper.nd) { + u = (x$7 = upper.d, ((i < 0 || i >= x$7.length) ? ($throwRuntimeError("index out of range"), undefined) : x$7[i])); + } + okdown = !((l === m)) || inclusive && ((i + 1 >> 0) === lower.nd); + okup = !((m === u)) && (inclusive || (m + 1 << 24 >>> 24) < u || (i + 1 >> 0) < upper.nd); + if (okdown && okup) { + d.Round(i + 1 >> 0); + return; + } else if (okdown) { + d.RoundDown(i + 1 >> 0); + return; + } else if (okup) { + d.RoundUp(i + 1 >> 0); + return; + } + i = i + (1) >> 0; + } + }; + fmtE = function(dst, neg, d, prec, fmt) { + var _q, _q$1, _q$2, _r, _r$1, _r$2, ch, d, dst, exp, fmt, i, m, neg, prec, x; + if (neg) { + dst = $append(dst, 45); + } + ch = 48; + if (!((d.nd === 0))) { + ch = (x = d.d, (0 >= x.$length ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + 0])); + } + dst = $append(dst, ch); + if (prec > 0) { + dst = $append(dst, 46); + i = 1; + m = min(d.nd, prec + 1 >> 0); + if (i < m) { + dst = $appendSlice(dst, $subslice(d.d, i, m)); + i = m; + } + while (true) { + if (!(i <= prec)) { break; } + dst = $append(dst, 48); + i = i + (1) >> 0; + } + } + dst = $append(dst, fmt); + exp = d.dp - 1 >> 0; + if (d.nd === 0) { + exp = 0; + } + if (exp < 0) { + ch = 45; + exp = -exp; + } else { + ch = 43; + } + dst = $append(dst, ch); + if (exp < 10) { + dst = $append(dst, 48, ((exp << 24 >>> 24)) + 48 << 24 >>> 24); + } else if (exp < 100) { + dst = $append(dst, (((_q = exp / 10, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero")) << 24 >>> 24)) + 48 << 24 >>> 24, (((_r = exp % 10, _r === _r ? _r : $throwRuntimeError("integer divide by zero")) << 24 >>> 24)) + 48 << 24 >>> 24); + } else { + dst = $append(dst, (((_q$1 = exp / 100, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError("integer divide by zero")) << 24 >>> 24)) + 48 << 24 >>> 24, (_r$1 = (((_q$2 = exp / 10, (_q$2 === _q$2 && _q$2 !== 1/0 && _q$2 !== -1/0) ? _q$2 >> 0 : $throwRuntimeError("integer divide by zero")) << 24 >>> 24)) % 10, _r$1 === _r$1 ? _r$1 : $throwRuntimeError("integer divide by zero")) + 48 << 24 >>> 24, (((_r$2 = exp % 10, _r$2 === _r$2 ? _r$2 : $throwRuntimeError("integer divide by zero")) << 24 >>> 24)) + 48 << 24 >>> 24); + } + return dst; + }; + fmtF = function(dst, neg, d, prec) { + var ch, d, dst, i, j, m, neg, prec, x; + if (neg) { + dst = $append(dst, 45); + } + if (d.dp > 0) { + m = min(d.nd, d.dp); + dst = $appendSlice(dst, $subslice(d.d, 0, m)); + while (true) { + if (!(m < d.dp)) { break; } + dst = $append(dst, 48); + m = m + (1) >> 0; + } + } else { + dst = $append(dst, 48); + } + if (prec > 0) { + dst = $append(dst, 46); + i = 0; + while (true) { + if (!(i < prec)) { break; } + ch = 48; + j = d.dp + i >> 0; + if (0 <= j && j < d.nd) { + ch = (x = d.d, ((j < 0 || j >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + j])); + } + dst = $append(dst, ch); + i = i + (1) >> 0; + } + } + return dst; + }; + fmtB = function(dst, neg, mant, exp, flt) { + var _tuple, _tuple$1, dst, exp, flt, mant, neg; + if (neg) { + dst = $append(dst, 45); + } + _tuple = formatBits(dst, mant, 10, false, true); + dst = _tuple[0]; + dst = $append(dst, 112); + exp = exp - (((flt.mantbits >> 0))) >> 0; + if (exp >= 0) { + dst = $append(dst, 43); + } + _tuple$1 = formatBits(dst, (new $Uint64(0, exp)), 10, exp < 0, true); + dst = _tuple$1[0]; + return dst; + }; + min = function(a, b) { + var a, b; + if (a < b) { + return a; + } + return b; + }; + max = function(a, b) { + var a, b; + if (a > b) { + return a; + } + return b; + }; + FormatInt = function(i, base) { + var _tuple, base, i, s; + if (true && (0 < i.$high || (0 === i.$high && 0 <= i.$low)) && (i.$high < 0 || (i.$high === 0 && i.$low < 100)) && (base === 10)) { + return small((((i.$low + ((i.$high >> 31) * 4294967296)) >> 0))); + } + _tuple = formatBits(sliceType$6.nil, (new $Uint64(i.$high, i.$low)), base, (i.$high < 0 || (i.$high === 0 && i.$low < 0)), false); + s = _tuple[1]; + return s; + }; + $pkg.FormatInt = FormatInt; + Itoa = function(i) { + var i; + return FormatInt((new $Int64(0, i)), 10); + }; + $pkg.Itoa = Itoa; + small = function(i) { + var i; + if (i < 10) { + return $substring("0123456789abcdefghijklmnopqrstuvwxyz", i, (i + 1 >> 0)); + } + return $substring("00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899", ($imul(i, 2)), (($imul(i, 2)) + 2 >> 0)); + }; + formatBits = function(dst, u, base, neg, append_) { + var _q, _q$1, _r, _r$1, a, append_, b, b$1, base, d, dst, i, is, is$1, is$2, j, m, neg, q, q$1, s, shift, u, us, us$1, x, x$1, x$2, x$3, x$4, x$5; + d = sliceType$6.nil; + s = ""; + if (base < 2 || base > 36) { + $panic(new $String("strconv: illegal AppendInt/FormatInt base")); + } + a = arrayType$3.zero(); + i = 65; + if (neg) { + u = new $Uint64(-u.$high, -u.$low); + } + if (base === 10) { + if (true) { + while (true) { + if (!((u.$high > 0 || (u.$high === 0 && u.$low >= 1000000000)))) { break; } + q = $div64(u, new $Uint64(0, 1000000000), false); + us = (((x = $mul64(q, new $Uint64(0, 1000000000)), new $Uint64(u.$high - x.$high, u.$low - x.$low)).$low >>> 0)); + j = 4; + while (true) { + if (!(j > 0)) { break; } + is = (_r = us % 100, _r === _r ? _r : $throwRuntimeError("integer divide by zero")) * 2 >>> 0; + us = (_q = us / (100), (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >>> 0 : $throwRuntimeError("integer divide by zero")); + i = i - (2) >> 0; + (x$1 = i + 1 >> 0, ((x$1 < 0 || x$1 >= a.length) ? ($throwRuntimeError("index out of range"), undefined) : a[x$1] = "00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt((is + 1 >>> 0)))); + (x$2 = i + 0 >> 0, ((x$2 < 0 || x$2 >= a.length) ? ($throwRuntimeError("index out of range"), undefined) : a[x$2] = "00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt((is + 0 >>> 0)))); + j = j - (1) >> 0; + } + i = i - (1) >> 0; + ((i < 0 || i >= a.length) ? ($throwRuntimeError("index out of range"), undefined) : a[i] = "00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt(((us * 2 >>> 0) + 1 >>> 0))); + u = q; + } + } + us$1 = ((u.$low >>> 0)); + while (true) { + if (!(us$1 >= 100)) { break; } + is$1 = (_r$1 = us$1 % 100, _r$1 === _r$1 ? _r$1 : $throwRuntimeError("integer divide by zero")) * 2 >>> 0; + us$1 = (_q$1 = us$1 / (100), (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >>> 0 : $throwRuntimeError("integer divide by zero")); + i = i - (2) >> 0; + (x$3 = i + 1 >> 0, ((x$3 < 0 || x$3 >= a.length) ? ($throwRuntimeError("index out of range"), undefined) : a[x$3] = "00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt((is$1 + 1 >>> 0)))); + (x$4 = i + 0 >> 0, ((x$4 < 0 || x$4 >= a.length) ? ($throwRuntimeError("index out of range"), undefined) : a[x$4] = "00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt((is$1 + 0 >>> 0)))); + } + is$2 = us$1 * 2 >>> 0; + i = i - (1) >> 0; + ((i < 0 || i >= a.length) ? ($throwRuntimeError("index out of range"), undefined) : a[i] = "00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt((is$2 + 1 >>> 0))); + if (us$1 >= 10) { + i = i - (1) >> 0; + ((i < 0 || i >= a.length) ? ($throwRuntimeError("index out of range"), undefined) : a[i] = "00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt(is$2)); + } + } else if (isPowerOfTwo(base)) { + shift = (((bits.TrailingZeros(((base >>> 0))) >>> 0)) & 31) >>> 0; + b = (new $Uint64(0, base)); + m = ((base >>> 0)) - 1 >>> 0; + while (true) { + if (!((u.$high > b.$high || (u.$high === b.$high && u.$low >= b.$low)))) { break; } + i = i - (1) >> 0; + ((i < 0 || i >= a.length) ? ($throwRuntimeError("index out of range"), undefined) : a[i] = "0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(((((u.$low >>> 0)) & m) >>> 0))); + u = $shiftRightUint64(u, (shift)); + } + i = i - (1) >> 0; + ((i < 0 || i >= a.length) ? ($throwRuntimeError("index out of range"), undefined) : a[i] = "0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(((u.$low >>> 0)))); + } else { + b$1 = (new $Uint64(0, base)); + while (true) { + if (!((u.$high > b$1.$high || (u.$high === b$1.$high && u.$low >= b$1.$low)))) { break; } + i = i - (1) >> 0; + q$1 = $div64(u, b$1, false); + ((i < 0 || i >= a.length) ? ($throwRuntimeError("index out of range"), undefined) : a[i] = "0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt((((x$5 = $mul64(q$1, b$1), new $Uint64(u.$high - x$5.$high, u.$low - x$5.$low)).$low >>> 0)))); + u = q$1; + } + i = i - (1) >> 0; + ((i < 0 || i >= a.length) ? ($throwRuntimeError("index out of range"), undefined) : a[i] = "0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(((u.$low >>> 0)))); + } + if (neg) { + i = i - (1) >> 0; + ((i < 0 || i >= a.length) ? ($throwRuntimeError("index out of range"), undefined) : a[i] = 45); + } + if (append_) { + d = $appendSlice(dst, $subslice(new sliceType$6(a), i)); + return [d, s]; + } + s = ($bytesToString($subslice(new sliceType$6(a), i))); + return [d, s]; + }; + isPowerOfTwo = function(x) { + var x; + return (x & ((x - 1 >> 0))) === 0; + }; + quoteWith = function(s, quote, ASCIIonly, graphicOnly) { + var ASCIIonly, _q, graphicOnly, quote, s; + return ($bytesToString(appendQuotedWith($makeSlice(sliceType$6, 0, (_q = ($imul(3, s.length)) / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero"))), s, quote, ASCIIonly, graphicOnly))); + }; + appendQuotedWith = function(buf, s, quote, ASCIIonly, graphicOnly) { + var ASCIIonly, _tuple, buf, graphicOnly, quote, r, s, width; + buf = $append(buf, quote); + width = 0; + while (true) { + if (!(s.length > 0)) { break; } + r = ((s.charCodeAt(0) >> 0)); + width = 1; + if (r >= 128) { + _tuple = utf8.DecodeRuneInString(s); + r = _tuple[0]; + width = _tuple[1]; + } + if ((width === 1) && (r === 65533)) { + buf = $appendSlice(buf, "\\x"); + buf = $append(buf, "0123456789abcdef".charCodeAt((s.charCodeAt(0) >>> 4 << 24 >>> 24))); + buf = $append(buf, "0123456789abcdef".charCodeAt(((s.charCodeAt(0) & 15) >>> 0))); + s = $substring(s, width); + continue; + } + buf = appendEscapedRune(buf, r, quote, ASCIIonly, graphicOnly); + s = $substring(s, width); + } + buf = $append(buf, quote); + return buf; + }; + appendQuotedRuneWith = function(buf, r, quote, ASCIIonly, graphicOnly) { + var ASCIIonly, buf, graphicOnly, quote, r; + buf = $append(buf, quote); + if (!utf8.ValidRune(r)) { + r = 65533; + } + buf = appendEscapedRune(buf, r, quote, ASCIIonly, graphicOnly); + buf = $append(buf, quote); + return buf; + }; + appendEscapedRune = function(buf, r, quote, ASCIIonly, graphicOnly) { + var ASCIIonly, _1, buf, graphicOnly, n, quote, r, runeTmp, s, s$1; + runeTmp = arrayType$4.zero(); + if ((r === ((quote >> 0))) || (r === 92)) { + buf = $append(buf, 92); + buf = $append(buf, ((r << 24 >>> 24))); + return buf; + } + if (ASCIIonly) { + if (r < 128 && IsPrint(r)) { + buf = $append(buf, ((r << 24 >>> 24))); + return buf; + } + } else if (IsPrint(r) || graphicOnly && isInGraphicList(r)) { + n = utf8.EncodeRune(new sliceType$6(runeTmp), r); + buf = $appendSlice(buf, $subslice(new sliceType$6(runeTmp), 0, n)); + return buf; + } + _1 = r; + if (_1 === (7)) { + buf = $appendSlice(buf, "\\a"); + } else if (_1 === (8)) { + buf = $appendSlice(buf, "\\b"); + } else if (_1 === (12)) { + buf = $appendSlice(buf, "\\f"); + } else if (_1 === (10)) { + buf = $appendSlice(buf, "\\n"); + } else if (_1 === (13)) { + buf = $appendSlice(buf, "\\r"); + } else if (_1 === (9)) { + buf = $appendSlice(buf, "\\t"); + } else if (_1 === (11)) { + buf = $appendSlice(buf, "\\v"); + } else { + if (r < 32) { + buf = $appendSlice(buf, "\\x"); + buf = $append(buf, "0123456789abcdef".charCodeAt((((r << 24 >>> 24)) >>> 4 << 24 >>> 24))); + buf = $append(buf, "0123456789abcdef".charCodeAt(((((r << 24 >>> 24)) & 15) >>> 0))); + } else if (r > 1114111) { + r = 65533; + buf = $appendSlice(buf, "\\u"); + s = 12; + while (true) { + if (!(s >= 0)) { break; } + buf = $append(buf, "0123456789abcdef".charCodeAt((((r >> $min(((s >>> 0)), 31)) >> 0) & 15))); + s = s - (4) >> 0; + } + } else if (r < 65536) { + buf = $appendSlice(buf, "\\u"); + s = 12; + while (true) { + if (!(s >= 0)) { break; } + buf = $append(buf, "0123456789abcdef".charCodeAt((((r >> $min(((s >>> 0)), 31)) >> 0) & 15))); + s = s - (4) >> 0; + } + } else { + buf = $appendSlice(buf, "\\U"); + s$1 = 28; + while (true) { + if (!(s$1 >= 0)) { break; } + buf = $append(buf, "0123456789abcdef".charCodeAt((((r >> $min(((s$1 >>> 0)), 31)) >> 0) & 15))); + s$1 = s$1 - (4) >> 0; + } + } + } + return buf; + }; + Quote = function(s) { + var s; + return quoteWith(s, 34, false, false); + }; + $pkg.Quote = Quote; + AppendQuote = function(dst, s) { + var dst, s; + return appendQuotedWith(dst, s, 34, false, false); + }; + $pkg.AppendQuote = AppendQuote; + AppendQuoteToASCII = function(dst, s) { + var dst, s; + return appendQuotedWith(dst, s, 34, true, false); + }; + $pkg.AppendQuoteToASCII = AppendQuoteToASCII; + AppendQuoteRune = function(dst, r) { + var dst, r; + return appendQuotedRuneWith(dst, r, 39, false, false); + }; + $pkg.AppendQuoteRune = AppendQuoteRune; + AppendQuoteRuneToASCII = function(dst, r) { + var dst, r; + return appendQuotedRuneWith(dst, r, 39, true, false); + }; + $pkg.AppendQuoteRuneToASCII = AppendQuoteRuneToASCII; + CanBackquote = function(s) { + var _tuple, r, s, wid; + while (true) { + if (!(s.length > 0)) { break; } + _tuple = utf8.DecodeRuneInString(s); + r = _tuple[0]; + wid = _tuple[1]; + s = $substring(s, wid); + if (wid > 1) { + if (r === 65279) { + return false; + } + continue; + } + if (r === 65533) { + return false; + } + if ((r < 32 && !((r === 9))) || (r === 96) || (r === 127)) { + return false; + } + } + return true; + }; + $pkg.CanBackquote = CanBackquote; + unhex = function(b) { + var _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, b, c, ok, v; + v = 0; + ok = false; + c = ((b >> 0)); + if (48 <= c && c <= 57) { + _tmp = c - 48 >> 0; + _tmp$1 = true; + v = _tmp; + ok = _tmp$1; + return [v, ok]; + } else if (97 <= c && c <= 102) { + _tmp$2 = (c - 97 >> 0) + 10 >> 0; + _tmp$3 = true; + v = _tmp$2; + ok = _tmp$3; + return [v, ok]; + } else if (65 <= c && c <= 70) { + _tmp$4 = (c - 65 >> 0) + 10 >> 0; + _tmp$5 = true; + v = _tmp$4; + ok = _tmp$5; + return [v, ok]; + } + return [v, ok]; + }; + UnquoteChar = function(s, quote) { + var _1, _2, _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tuple, _tuple$1, c, c$1, err, j, j$1, multibyte, n, ok, quote, r, s, size, tail, v, v$1, value, x, x$1; + value = 0; + multibyte = false; + tail = ""; + err = $ifaceNil; + if (s.length === 0) { + err = $pkg.ErrSyntax; + return [value, multibyte, tail, err]; + } + c = s.charCodeAt(0); + if ((c === quote) && ((quote === 39) || (quote === 34))) { + err = $pkg.ErrSyntax; + return [value, multibyte, tail, err]; + } else if (c >= 128) { + _tuple = utf8.DecodeRuneInString(s); + r = _tuple[0]; + size = _tuple[1]; + _tmp = r; + _tmp$1 = true; + _tmp$2 = $substring(s, size); + _tmp$3 = $ifaceNil; + value = _tmp; + multibyte = _tmp$1; + tail = _tmp$2; + err = _tmp$3; + return [value, multibyte, tail, err]; + } else if (!((c === 92))) { + _tmp$4 = ((s.charCodeAt(0) >> 0)); + _tmp$5 = false; + _tmp$6 = $substring(s, 1); + _tmp$7 = $ifaceNil; + value = _tmp$4; + multibyte = _tmp$5; + tail = _tmp$6; + err = _tmp$7; + return [value, multibyte, tail, err]; + } + if (s.length <= 1) { + err = $pkg.ErrSyntax; + return [value, multibyte, tail, err]; + } + c$1 = s.charCodeAt(1); + s = $substring(s, 2); + switch (0) { default: + _1 = c$1; + if (_1 === (97)) { + value = 7; + } else if (_1 === (98)) { + value = 8; + } else if (_1 === (102)) { + value = 12; + } else if (_1 === (110)) { + value = 10; + } else if (_1 === (114)) { + value = 13; + } else if (_1 === (116)) { + value = 9; + } else if (_1 === (118)) { + value = 11; + } else if ((_1 === (120)) || (_1 === (117)) || (_1 === (85))) { + n = 0; + _2 = c$1; + if (_2 === (120)) { + n = 2; + } else if (_2 === (117)) { + n = 4; + } else if (_2 === (85)) { + n = 8; + } + v = 0; + if (s.length < n) { + err = $pkg.ErrSyntax; + return [value, multibyte, tail, err]; + } + j = 0; + while (true) { + if (!(j < n)) { break; } + _tuple$1 = unhex(s.charCodeAt(j)); + x = _tuple$1[0]; + ok = _tuple$1[1]; + if (!ok) { + err = $pkg.ErrSyntax; + return [value, multibyte, tail, err]; + } + v = (v << 4 >> 0) | x; + j = j + (1) >> 0; + } + s = $substring(s, n); + if (c$1 === 120) { + value = v; + break; + } + if (v > 1114111) { + err = $pkg.ErrSyntax; + return [value, multibyte, tail, err]; + } + value = v; + multibyte = true; + } else if ((_1 === (48)) || (_1 === (49)) || (_1 === (50)) || (_1 === (51)) || (_1 === (52)) || (_1 === (53)) || (_1 === (54)) || (_1 === (55))) { + v$1 = ((c$1 >> 0)) - 48 >> 0; + if (s.length < 2) { + err = $pkg.ErrSyntax; + return [value, multibyte, tail, err]; + } + j$1 = 0; + while (true) { + if (!(j$1 < 2)) { break; } + x$1 = ((s.charCodeAt(j$1) >> 0)) - 48 >> 0; + if (x$1 < 0 || x$1 > 7) { + err = $pkg.ErrSyntax; + return [value, multibyte, tail, err]; + } + v$1 = ((v$1 << 3 >> 0)) | x$1; + j$1 = j$1 + (1) >> 0; + } + s = $substring(s, 2); + if (v$1 > 255) { + err = $pkg.ErrSyntax; + return [value, multibyte, tail, err]; + } + value = v$1; + } else if (_1 === (92)) { + value = 92; + } else if ((_1 === (39)) || (_1 === (34))) { + if (!((c$1 === quote))) { + err = $pkg.ErrSyntax; + return [value, multibyte, tail, err]; + } + value = ((c$1 >> 0)); + } else { + err = $pkg.ErrSyntax; + return [value, multibyte, tail, err]; + } + } + tail = s; + return [value, multibyte, tail, err]; + }; + $pkg.UnquoteChar = UnquoteChar; + Unquote = function(s) { + var _1, _q, _tuple, _tuple$1, buf, buf$1, c, err, i, multibyte, n, n$1, quote, r, runeTmp, s, size, ss; + n = s.length; + if (n < 2) { + return ["", $pkg.ErrSyntax]; + } + quote = s.charCodeAt(0); + if (!((quote === s.charCodeAt((n - 1 >> 0))))) { + return ["", $pkg.ErrSyntax]; + } + s = $substring(s, 1, (n - 1 >> 0)); + if (quote === 96) { + if (contains(s, 96)) { + return ["", $pkg.ErrSyntax]; + } + if (contains(s, 13)) { + buf = $makeSlice(sliceType$6, 0, (s.length - 1 >> 0)); + i = 0; + while (true) { + if (!(i < s.length)) { break; } + if (!((s.charCodeAt(i) === 13))) { + buf = $append(buf, s.charCodeAt(i)); + } + i = i + (1) >> 0; + } + return [($bytesToString(buf)), $ifaceNil]; + } + return [s, $ifaceNil]; + } + if (!((quote === 34)) && !((quote === 39))) { + return ["", $pkg.ErrSyntax]; + } + if (contains(s, 10)) { + return ["", $pkg.ErrSyntax]; + } + if (!contains(s, 92) && !contains(s, quote)) { + _1 = quote; + if (_1 === (34)) { + if (utf8.ValidString(s)) { + return [s, $ifaceNil]; + } + } else if (_1 === (39)) { + _tuple = utf8.DecodeRuneInString(s); + r = _tuple[0]; + size = _tuple[1]; + if ((size === s.length) && (!((r === 65533)) || !((size === 1)))) { + return [s, $ifaceNil]; + } + } + } + runeTmp = arrayType$4.zero(); + buf$1 = $makeSlice(sliceType$6, 0, (_q = ($imul(3, s.length)) / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero"))); + while (true) { + if (!(s.length > 0)) { break; } + _tuple$1 = UnquoteChar(s, quote); + c = _tuple$1[0]; + multibyte = _tuple$1[1]; + ss = _tuple$1[2]; + err = _tuple$1[3]; + if (!($interfaceIsEqual(err, $ifaceNil))) { + return ["", err]; + } + s = ss; + if (c < 128 || !multibyte) { + buf$1 = $append(buf$1, ((c << 24 >>> 24))); + } else { + n$1 = utf8.EncodeRune(new sliceType$6(runeTmp), c); + buf$1 = $appendSlice(buf$1, $subslice(new sliceType$6(runeTmp), 0, n$1)); + } + if ((quote === 39) && !((s.length === 0))) { + return ["", $pkg.ErrSyntax]; + } + } + return [($bytesToString(buf$1)), $ifaceNil]; + }; + $pkg.Unquote = Unquote; + contains = function(s, c) { + var c, i, s; + i = 0; + while (true) { + if (!(i < s.length)) { break; } + if (s.charCodeAt(i) === c) { + return true; + } + i = i + (1) >> 0; + } + return false; + }; + bsearch16 = function(a, x) { + var _q, _tmp, _tmp$1, a, h, i, j, x; + _tmp = 0; + _tmp$1 = a.$length; + i = _tmp; + j = _tmp$1; + while (true) { + if (!(i < j)) { break; } + h = i + (_q = ((j - i >> 0)) / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero")) >> 0; + if (((h < 0 || h >= a.$length) ? ($throwRuntimeError("index out of range"), undefined) : a.$array[a.$offset + h]) < x) { + i = h + 1 >> 0; + } else { + j = h; + } + } + return i; + }; + bsearch32 = function(a, x) { + var _q, _tmp, _tmp$1, a, h, i, j, x; + _tmp = 0; + _tmp$1 = a.$length; + i = _tmp; + j = _tmp$1; + while (true) { + if (!(i < j)) { break; } + h = i + (_q = ((j - i >> 0)) / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero")) >> 0; + if (((h < 0 || h >= a.$length) ? ($throwRuntimeError("index out of range"), undefined) : a.$array[a.$offset + h]) < x) { + i = h + 1 >> 0; + } else { + j = h; + } + } + return i; + }; + IsPrint = function(r) { + var _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, i, i$1, isNotPrint, isNotPrint$1, isPrint, isPrint$1, j, j$1, r, rr, rr$1, x, x$1, x$2, x$3; + if (r <= 255) { + if (32 <= r && r <= 126) { + return true; + } + if (161 <= r && r <= 255) { + return !((r === 173)); + } + return false; + } + if (0 <= r && r < 65536) { + _tmp = ((r << 16 >>> 16)); + _tmp$1 = isPrint16; + _tmp$2 = isNotPrint16; + rr = _tmp; + isPrint = _tmp$1; + isNotPrint = _tmp$2; + i = bsearch16(isPrint, rr); + if (i >= isPrint.$length || rr < (x = (i & ~1) >> 0, ((x < 0 || x >= isPrint.$length) ? ($throwRuntimeError("index out of range"), undefined) : isPrint.$array[isPrint.$offset + x])) || (x$1 = i | 1, ((x$1 < 0 || x$1 >= isPrint.$length) ? ($throwRuntimeError("index out of range"), undefined) : isPrint.$array[isPrint.$offset + x$1])) < rr) { + return false; + } + j = bsearch16(isNotPrint, rr); + return j >= isNotPrint.$length || !((((j < 0 || j >= isNotPrint.$length) ? ($throwRuntimeError("index out of range"), undefined) : isNotPrint.$array[isNotPrint.$offset + j]) === rr)); + } + _tmp$3 = ((r >>> 0)); + _tmp$4 = isPrint32; + _tmp$5 = isNotPrint32; + rr$1 = _tmp$3; + isPrint$1 = _tmp$4; + isNotPrint$1 = _tmp$5; + i$1 = bsearch32(isPrint$1, rr$1); + if (i$1 >= isPrint$1.$length || rr$1 < (x$2 = (i$1 & ~1) >> 0, ((x$2 < 0 || x$2 >= isPrint$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : isPrint$1.$array[isPrint$1.$offset + x$2])) || (x$3 = i$1 | 1, ((x$3 < 0 || x$3 >= isPrint$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : isPrint$1.$array[isPrint$1.$offset + x$3])) < rr$1) { + return false; + } + if (r >= 131072) { + return true; + } + r = r - (65536) >> 0; + j$1 = bsearch16(isNotPrint$1, ((r << 16 >>> 16))); + return j$1 >= isNotPrint$1.$length || !((((j$1 < 0 || j$1 >= isNotPrint$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : isNotPrint$1.$array[isNotPrint$1.$offset + j$1]) === ((r << 16 >>> 16)))); + }; + $pkg.IsPrint = IsPrint; + isInGraphicList = function(r) { + var i, r, rr; + if (r > 65535) { + return false; + } + rr = ((r << 16 >>> 16)); + i = bsearch16(isGraphic, rr); + return i < isGraphic.$length && (rr === ((i < 0 || i >= isGraphic.$length) ? ($throwRuntimeError("index out of range"), undefined) : isGraphic.$array[isGraphic.$offset + i])); + }; + ptrType.methods = [{prop: "Error", name: "Error", pkg: "", typ: $funcType([], [$String], false)}]; + ptrType$2.methods = [{prop: "set", name: "set", pkg: "strconv", typ: $funcType([$String], [$Bool], false)}, {prop: "floatBits", name: "floatBits", pkg: "strconv", typ: $funcType([ptrType$1], [$Uint64, $Bool], false)}, {prop: "String", name: "String", pkg: "", typ: $funcType([], [$String], false)}, {prop: "Assign", name: "Assign", pkg: "", typ: $funcType([$Uint64], [], false)}, {prop: "Shift", name: "Shift", pkg: "", typ: $funcType([$Int], [], false)}, {prop: "Round", name: "Round", pkg: "", typ: $funcType([$Int], [], false)}, {prop: "RoundDown", name: "RoundDown", pkg: "", typ: $funcType([$Int], [], false)}, {prop: "RoundUp", name: "RoundUp", pkg: "", typ: $funcType([$Int], [], false)}, {prop: "RoundedInteger", name: "RoundedInteger", pkg: "", typ: $funcType([], [$Uint64], false)}]; + ptrType$4.methods = [{prop: "floatBits", name: "floatBits", pkg: "strconv", typ: $funcType([ptrType$1], [$Uint64, $Bool], false)}, {prop: "AssignComputeBounds", name: "AssignComputeBounds", pkg: "", typ: $funcType([$Uint64, $Int, $Bool, ptrType$1], [extFloat, extFloat], false)}, {prop: "Normalize", name: "Normalize", pkg: "", typ: $funcType([], [$Uint], false)}, {prop: "Multiply", name: "Multiply", pkg: "", typ: $funcType([extFloat], [], false)}, {prop: "AssignDecimal", name: "AssignDecimal", pkg: "", typ: $funcType([$Uint64, $Int, $Bool, $Bool, ptrType$1], [$Bool], false)}, {prop: "frexp10", name: "frexp10", pkg: "strconv", typ: $funcType([], [$Int, $Int], false)}, {prop: "FixedDecimal", name: "FixedDecimal", pkg: "", typ: $funcType([ptrType$3, $Int], [$Bool], false)}, {prop: "ShortestDecimal", name: "ShortestDecimal", pkg: "", typ: $funcType([ptrType$3, ptrType$4, ptrType$4], [$Bool], false)}]; + NumError.init("", [{prop: "Func", name: "Func", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "Num", name: "Num", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "Err", name: "Err", embedded: false, exported: true, typ: $error, tag: ""}]); + decimal.init("strconv", [{prop: "d", name: "d", embedded: false, exported: false, typ: arrayType, tag: ""}, {prop: "nd", name: "nd", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "dp", name: "dp", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "neg", name: "neg", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "trunc", name: "trunc", embedded: false, exported: false, typ: $Bool, tag: ""}]); + leftCheat.init("strconv", [{prop: "delta", name: "delta", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "cutoff", name: "cutoff", embedded: false, exported: false, typ: $String, tag: ""}]); + extFloat.init("strconv", [{prop: "mant", name: "mant", embedded: false, exported: false, typ: $Uint64, tag: ""}, {prop: "exp", name: "exp", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "neg", name: "neg", embedded: false, exported: false, typ: $Bool, tag: ""}]); + floatInfo.init("strconv", [{prop: "mantbits", name: "mantbits", embedded: false, exported: false, typ: $Uint, tag: ""}, {prop: "expbits", name: "expbits", embedded: false, exported: false, typ: $Uint, tag: ""}, {prop: "bias", name: "bias", embedded: false, exported: false, typ: $Int, tag: ""}]); + decimalSlice.init("strconv", [{prop: "d", name: "d", embedded: false, exported: false, typ: sliceType$6, tag: ""}, {prop: "nd", name: "nd", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "dp", name: "dp", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "neg", name: "neg", embedded: false, exported: false, typ: $Bool, tag: ""}]); + $init = function() { + $pkg.$init = function() {}; + /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + $r = errors.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = math.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = bits.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = utf8.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + optimize = true; + powtab = new sliceType([1, 3, 6, 9, 13, 16, 19, 23, 26]); + float64pow10 = new sliceType$1([1, 10, 100, 1000, 10000, 100000, 1e+06, 1e+07, 1e+08, 1e+09, 1e+10, 1e+11, 1e+12, 1e+13, 1e+14, 1e+15, 1e+16, 1e+17, 1e+18, 1e+19, 1e+20, 1e+21, 1e+22]); + float32pow10 = new sliceType$2([1, 10, 100, 1000, 10000, 100000, 1e+06, 1e+07, 1e+08, 1e+09, 1e+10]); + $pkg.ErrRange = errors.New("value out of range"); + $pkg.ErrSyntax = errors.New("invalid syntax"); + leftcheats = new sliceType$3([new leftCheat.ptr(0, ""), new leftCheat.ptr(1, "5"), new leftCheat.ptr(1, "25"), new leftCheat.ptr(1, "125"), new leftCheat.ptr(2, "625"), new leftCheat.ptr(2, "3125"), new leftCheat.ptr(2, "15625"), new leftCheat.ptr(3, "78125"), new leftCheat.ptr(3, "390625"), new leftCheat.ptr(3, "1953125"), new leftCheat.ptr(4, "9765625"), new leftCheat.ptr(4, "48828125"), new leftCheat.ptr(4, "244140625"), new leftCheat.ptr(4, "1220703125"), new leftCheat.ptr(5, "6103515625"), new leftCheat.ptr(5, "30517578125"), new leftCheat.ptr(5, "152587890625"), new leftCheat.ptr(6, "762939453125"), new leftCheat.ptr(6, "3814697265625"), new leftCheat.ptr(6, "19073486328125"), new leftCheat.ptr(7, "95367431640625"), new leftCheat.ptr(7, "476837158203125"), new leftCheat.ptr(7, "2384185791015625"), new leftCheat.ptr(7, "11920928955078125"), new leftCheat.ptr(8, "59604644775390625"), new leftCheat.ptr(8, "298023223876953125"), new leftCheat.ptr(8, "1490116119384765625"), new leftCheat.ptr(9, "7450580596923828125"), new leftCheat.ptr(9, "37252902984619140625"), new leftCheat.ptr(9, "186264514923095703125"), new leftCheat.ptr(10, "931322574615478515625"), new leftCheat.ptr(10, "4656612873077392578125"), new leftCheat.ptr(10, "23283064365386962890625"), new leftCheat.ptr(10, "116415321826934814453125"), new leftCheat.ptr(11, "582076609134674072265625"), new leftCheat.ptr(11, "2910383045673370361328125"), new leftCheat.ptr(11, "14551915228366851806640625"), new leftCheat.ptr(12, "72759576141834259033203125"), new leftCheat.ptr(12, "363797880709171295166015625"), new leftCheat.ptr(12, "1818989403545856475830078125"), new leftCheat.ptr(13, "9094947017729282379150390625"), new leftCheat.ptr(13, "45474735088646411895751953125"), new leftCheat.ptr(13, "227373675443232059478759765625"), new leftCheat.ptr(13, "1136868377216160297393798828125"), new leftCheat.ptr(14, "5684341886080801486968994140625"), new leftCheat.ptr(14, "28421709430404007434844970703125"), new leftCheat.ptr(14, "142108547152020037174224853515625"), new leftCheat.ptr(15, "710542735760100185871124267578125"), new leftCheat.ptr(15, "3552713678800500929355621337890625"), new leftCheat.ptr(15, "17763568394002504646778106689453125"), new leftCheat.ptr(16, "88817841970012523233890533447265625"), new leftCheat.ptr(16, "444089209850062616169452667236328125"), new leftCheat.ptr(16, "2220446049250313080847263336181640625"), new leftCheat.ptr(16, "11102230246251565404236316680908203125"), new leftCheat.ptr(17, "55511151231257827021181583404541015625"), new leftCheat.ptr(17, "277555756156289135105907917022705078125"), new leftCheat.ptr(17, "1387778780781445675529539585113525390625"), new leftCheat.ptr(18, "6938893903907228377647697925567626953125"), new leftCheat.ptr(18, "34694469519536141888238489627838134765625"), new leftCheat.ptr(18, "173472347597680709441192448139190673828125"), new leftCheat.ptr(19, "867361737988403547205962240695953369140625")]); + smallPowersOfTen = $toNativeArray($kindStruct, [new extFloat.ptr(new $Uint64(2147483648, 0), -63, false), new extFloat.ptr(new $Uint64(2684354560, 0), -60, false), new extFloat.ptr(new $Uint64(3355443200, 0), -57, false), new extFloat.ptr(new $Uint64(4194304000, 0), -54, false), new extFloat.ptr(new $Uint64(2621440000, 0), -50, false), new extFloat.ptr(new $Uint64(3276800000, 0), -47, false), new extFloat.ptr(new $Uint64(4096000000, 0), -44, false), new extFloat.ptr(new $Uint64(2560000000, 0), -40, false)]); + powersOfTen = $toNativeArray($kindStruct, [new extFloat.ptr(new $Uint64(4203730336, 136053384), -1220, false), new extFloat.ptr(new $Uint64(3132023167, 2722021238), -1193, false), new extFloat.ptr(new $Uint64(2333539104, 810921078), -1166, false), new extFloat.ptr(new $Uint64(3477244234, 1573795306), -1140, false), new extFloat.ptr(new $Uint64(2590748842, 1432697645), -1113, false), new extFloat.ptr(new $Uint64(3860516611, 1025131999), -1087, false), new extFloat.ptr(new $Uint64(2876309015, 3348809418), -1060, false), new extFloat.ptr(new $Uint64(4286034428, 3200048207), -1034, false), new extFloat.ptr(new $Uint64(3193344495, 1097586188), -1007, false), new extFloat.ptr(new $Uint64(2379227053, 2424306748), -980, false), new extFloat.ptr(new $Uint64(3545324584, 827693699), -954, false), new extFloat.ptr(new $Uint64(2641472655, 2913388981), -927, false), new extFloat.ptr(new $Uint64(3936100983, 602835915), -901, false), new extFloat.ptr(new $Uint64(2932623761, 1081627501), -874, false), new extFloat.ptr(new $Uint64(2184974969, 1572261463), -847, false), new extFloat.ptr(new $Uint64(3255866422, 1308317239), -821, false), new extFloat.ptr(new $Uint64(2425809519, 944281679), -794, false), new extFloat.ptr(new $Uint64(3614737867, 629291719), -768, false), new extFloat.ptr(new $Uint64(2693189581, 2545915892), -741, false), new extFloat.ptr(new $Uint64(4013165208, 388672741), -715, false), new extFloat.ptr(new $Uint64(2990041083, 708162190), -688, false), new extFloat.ptr(new $Uint64(2227754207, 3536207675), -661, false), new extFloat.ptr(new $Uint64(3319612455, 450088378), -635, false), new extFloat.ptr(new $Uint64(2473304014, 3139815830), -608, false), new extFloat.ptr(new $Uint64(3685510180, 2103616900), -582, false), new extFloat.ptr(new $Uint64(2745919064, 224385782), -555, false), new extFloat.ptr(new $Uint64(4091738259, 3737383206), -529, false), new extFloat.ptr(new $Uint64(3048582568, 2868871352), -502, false), new extFloat.ptr(new $Uint64(2271371013, 1820084875), -475, false), new extFloat.ptr(new $Uint64(3384606560, 885076051), -449, false), new extFloat.ptr(new $Uint64(2521728396, 2444895829), -422, false), new extFloat.ptr(new $Uint64(3757668132, 1881767613), -396, false), new extFloat.ptr(new $Uint64(2799680927, 3102062735), -369, false), new extFloat.ptr(new $Uint64(4171849679, 2289335700), -343, false), new extFloat.ptr(new $Uint64(3108270227, 2410191823), -316, false), new extFloat.ptr(new $Uint64(2315841784, 3205436779), -289, false), new extFloat.ptr(new $Uint64(3450873173, 1697722806), -263, false), new extFloat.ptr(new $Uint64(2571100870, 3497754540), -236, false), new extFloat.ptr(new $Uint64(3831238852, 707476230), -210, false), new extFloat.ptr(new $Uint64(2854495385, 1769181907), -183, false), new extFloat.ptr(new $Uint64(4253529586, 2197867022), -157, false), new extFloat.ptr(new $Uint64(3169126500, 2450594539), -130, false), new extFloat.ptr(new $Uint64(2361183241, 1867548876), -103, false), new extFloat.ptr(new $Uint64(3518437208, 3793315116), -77, false), new extFloat.ptr(new $Uint64(2621440000, 0), -50, false), new extFloat.ptr(new $Uint64(3906250000, 0), -24, false), new extFloat.ptr(new $Uint64(2910383045, 2892103680), 3, false), new extFloat.ptr(new $Uint64(2168404344, 4170451332), 30, false), new extFloat.ptr(new $Uint64(3231174267, 3372684723), 56, false), new extFloat.ptr(new $Uint64(2407412430, 2078956656), 83, false), new extFloat.ptr(new $Uint64(3587324068, 2884206696), 109, false), new extFloat.ptr(new $Uint64(2672764710, 395977285), 136, false), new extFloat.ptr(new $Uint64(3982729777, 3569679143), 162, false), new extFloat.ptr(new $Uint64(2967364920, 2361961896), 189, false), new extFloat.ptr(new $Uint64(2210859150, 447440347), 216, false), new extFloat.ptr(new $Uint64(3294436857, 1114709402), 242, false), new extFloat.ptr(new $Uint64(2454546732, 2786846552), 269, false), new extFloat.ptr(new $Uint64(3657559652, 443583978), 295, false), new extFloat.ptr(new $Uint64(2725094297, 2599384906), 322, false), new extFloat.ptr(new $Uint64(4060706939, 3028118405), 348, false), new extFloat.ptr(new $Uint64(3025462433, 2044532855), 375, false), new extFloat.ptr(new $Uint64(2254145170, 1536935362), 402, false), new extFloat.ptr(new $Uint64(3358938053, 3365297469), 428, false), new extFloat.ptr(new $Uint64(2502603868, 4204241075), 455, false), new extFloat.ptr(new $Uint64(3729170365, 2577424355), 481, false), new extFloat.ptr(new $Uint64(2778448436, 3677981733), 508, false), new extFloat.ptr(new $Uint64(4140210802, 2744688476), 534, false), new extFloat.ptr(new $Uint64(3084697427, 1424604878), 561, false), new extFloat.ptr(new $Uint64(2298278679, 4062331362), 588, false), new extFloat.ptr(new $Uint64(3424702107, 3546052773), 614, false), new extFloat.ptr(new $Uint64(2551601907, 2065781727), 641, false), new extFloat.ptr(new $Uint64(3802183132, 2535403578), 667, false), new extFloat.ptr(new $Uint64(2832847187, 1558426518), 694, false), new extFloat.ptr(new $Uint64(4221271257, 2762425404), 720, false), new extFloat.ptr(new $Uint64(3145092172, 2812560400), 747, false), new extFloat.ptr(new $Uint64(2343276271, 3057687578), 774, false), new extFloat.ptr(new $Uint64(3491753744, 2790753324), 800, false), new extFloat.ptr(new $Uint64(2601559269, 3918606633), 827, false), new extFloat.ptr(new $Uint64(3876625403, 2711358621), 853, false), new extFloat.ptr(new $Uint64(2888311001, 1648096297), 880, false), new extFloat.ptr(new $Uint64(2151959390, 2057817989), 907, false), new extFloat.ptr(new $Uint64(3206669376, 61660461), 933, false), new extFloat.ptr(new $Uint64(2389154863, 1581580175), 960, false), new extFloat.ptr(new $Uint64(3560118173, 2626467905), 986, false), new extFloat.ptr(new $Uint64(2652494738, 3034782633), 1013, false), new extFloat.ptr(new $Uint64(3952525166, 3135207385), 1039, false), new extFloat.ptr(new $Uint64(2944860731, 2616258155), 1066, false)]); + uint64pow10 = $toNativeArray($kindUint64, [new $Uint64(0, 1), new $Uint64(0, 10), new $Uint64(0, 100), new $Uint64(0, 1000), new $Uint64(0, 10000), new $Uint64(0, 100000), new $Uint64(0, 1000000), new $Uint64(0, 10000000), new $Uint64(0, 100000000), new $Uint64(0, 1000000000), new $Uint64(2, 1410065408), new $Uint64(23, 1215752192), new $Uint64(232, 3567587328), new $Uint64(2328, 1316134912), new $Uint64(23283, 276447232), new $Uint64(232830, 2764472320), new $Uint64(2328306, 1874919424), new $Uint64(23283064, 1569325056), new $Uint64(232830643, 2808348672), new $Uint64(2328306436, 2313682944)]); + float32info = new floatInfo.ptr(23, 8, -127); + float64info = new floatInfo.ptr(52, 11, -1023); + isPrint16 = new sliceType$4([32, 126, 161, 887, 890, 895, 900, 1366, 1369, 1418, 1421, 1479, 1488, 1514, 1520, 1524, 1542, 1563, 1566, 1805, 1808, 1866, 1869, 1969, 1984, 2042, 2048, 2093, 2096, 2139, 2142, 2154, 2208, 2237, 2260, 2444, 2447, 2448, 2451, 2482, 2486, 2489, 2492, 2500, 2503, 2504, 2507, 2510, 2519, 2519, 2524, 2531, 2534, 2557, 2561, 2570, 2575, 2576, 2579, 2617, 2620, 2626, 2631, 2632, 2635, 2637, 2641, 2641, 2649, 2654, 2662, 2677, 2689, 2745, 2748, 2765, 2768, 2768, 2784, 2787, 2790, 2801, 2809, 2828, 2831, 2832, 2835, 2873, 2876, 2884, 2887, 2888, 2891, 2893, 2902, 2903, 2908, 2915, 2918, 2935, 2946, 2954, 2958, 2965, 2969, 2975, 2979, 2980, 2984, 2986, 2990, 3001, 3006, 3010, 3014, 3021, 3024, 3024, 3031, 3031, 3046, 3066, 3072, 3129, 3133, 3149, 3157, 3162, 3168, 3171, 3174, 3183, 3192, 3257, 3260, 3277, 3285, 3286, 3294, 3299, 3302, 3314, 3328, 3407, 3412, 3427, 3430, 3455, 3458, 3478, 3482, 3517, 3520, 3526, 3530, 3530, 3535, 3551, 3558, 3567, 3570, 3572, 3585, 3642, 3647, 3675, 3713, 3716, 3719, 3722, 3725, 3725, 3732, 3751, 3754, 3773, 3776, 3789, 3792, 3801, 3804, 3807, 3840, 3948, 3953, 4058, 4096, 4295, 4301, 4301, 4304, 4685, 4688, 4701, 4704, 4749, 4752, 4789, 4792, 4805, 4808, 4885, 4888, 4954, 4957, 4988, 4992, 5017, 5024, 5109, 5112, 5117, 5120, 5788, 5792, 5880, 5888, 5908, 5920, 5942, 5952, 5971, 5984, 6003, 6016, 6109, 6112, 6121, 6128, 6137, 6144, 6157, 6160, 6169, 6176, 6263, 6272, 6314, 6320, 6389, 6400, 6443, 6448, 6459, 6464, 6464, 6468, 6509, 6512, 6516, 6528, 6571, 6576, 6601, 6608, 6618, 6622, 6683, 6686, 6780, 6783, 6793, 6800, 6809, 6816, 6829, 6832, 6846, 6912, 6987, 6992, 7036, 7040, 7155, 7164, 7223, 7227, 7241, 7245, 7304, 7360, 7367, 7376, 7417, 7424, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8061, 8064, 8147, 8150, 8175, 8178, 8190, 8208, 8231, 8240, 8286, 8304, 8305, 8308, 8348, 8352, 8383, 8400, 8432, 8448, 8587, 8592, 9254, 9280, 9290, 9312, 11123, 11126, 11157, 11160, 11193, 11197, 11218, 11244, 11247, 11264, 11507, 11513, 11559, 11565, 11565, 11568, 11623, 11631, 11632, 11647, 11670, 11680, 11849, 11904, 12019, 12032, 12245, 12272, 12283, 12289, 12438, 12441, 12543, 12549, 12590, 12593, 12730, 12736, 12771, 12784, 19893, 19904, 40938, 40960, 42124, 42128, 42182, 42192, 42539, 42560, 42743, 42752, 42935, 42999, 43051, 43056, 43065, 43072, 43127, 43136, 43205, 43214, 43225, 43232, 43261, 43264, 43347, 43359, 43388, 43392, 43481, 43486, 43574, 43584, 43597, 43600, 43609, 43612, 43714, 43739, 43766, 43777, 43782, 43785, 43790, 43793, 43798, 43808, 43877, 43888, 44013, 44016, 44025, 44032, 55203, 55216, 55238, 55243, 55291, 63744, 64109, 64112, 64217, 64256, 64262, 64275, 64279, 64285, 64449, 64467, 64831, 64848, 64911, 64914, 64967, 65008, 65021, 65024, 65049, 65056, 65131, 65136, 65276, 65281, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, 65504, 65518, 65532, 65533]); + isNotPrint16 = new sliceType$4([173, 907, 909, 930, 1328, 1376, 1416, 1424, 1757, 2111, 2143, 2229, 2274, 2436, 2473, 2481, 2526, 2564, 2601, 2609, 2612, 2615, 2621, 2653, 2692, 2702, 2706, 2729, 2737, 2740, 2758, 2762, 2816, 2820, 2857, 2865, 2868, 2910, 2948, 2961, 2971, 2973, 3017, 3076, 3085, 3089, 3113, 3141, 3145, 3159, 3204, 3213, 3217, 3241, 3252, 3269, 3273, 3295, 3312, 3332, 3341, 3345, 3397, 3401, 3460, 3506, 3516, 3541, 3543, 3715, 3721, 3736, 3744, 3748, 3750, 3756, 3770, 3781, 3783, 3912, 3992, 4029, 4045, 4294, 4681, 4695, 4697, 4745, 4785, 4799, 4801, 4823, 4881, 5760, 5901, 5997, 6001, 6431, 6751, 7674, 8024, 8026, 8028, 8030, 8117, 8133, 8156, 8181, 8335, 11209, 11311, 11359, 11558, 11687, 11695, 11703, 11711, 11719, 11727, 11735, 11743, 11930, 12352, 12687, 12831, 13055, 42927, 43470, 43519, 43815, 43823, 64311, 64317, 64319, 64322, 64325, 65107, 65127, 65141, 65511]); + isPrint32 = new sliceType$5([65536, 65613, 65616, 65629, 65664, 65786, 65792, 65794, 65799, 65843, 65847, 65947, 65952, 65952, 66000, 66045, 66176, 66204, 66208, 66256, 66272, 66299, 66304, 66339, 66349, 66378, 66384, 66426, 66432, 66499, 66504, 66517, 66560, 66717, 66720, 66729, 66736, 66771, 66776, 66811, 66816, 66855, 66864, 66915, 66927, 66927, 67072, 67382, 67392, 67413, 67424, 67431, 67584, 67589, 67592, 67640, 67644, 67644, 67647, 67742, 67751, 67759, 67808, 67829, 67835, 67867, 67871, 67897, 67903, 67903, 67968, 68023, 68028, 68047, 68050, 68102, 68108, 68147, 68152, 68154, 68159, 68167, 68176, 68184, 68192, 68255, 68288, 68326, 68331, 68342, 68352, 68405, 68409, 68437, 68440, 68466, 68472, 68497, 68505, 68508, 68521, 68527, 68608, 68680, 68736, 68786, 68800, 68850, 68858, 68863, 69216, 69246, 69632, 69709, 69714, 69743, 69759, 69825, 69840, 69864, 69872, 69881, 69888, 69955, 69968, 70006, 70016, 70093, 70096, 70132, 70144, 70206, 70272, 70313, 70320, 70378, 70384, 70393, 70400, 70412, 70415, 70416, 70419, 70457, 70460, 70468, 70471, 70472, 70475, 70477, 70480, 70480, 70487, 70487, 70493, 70499, 70502, 70508, 70512, 70516, 70656, 70749, 70784, 70855, 70864, 70873, 71040, 71093, 71096, 71133, 71168, 71236, 71248, 71257, 71264, 71276, 71296, 71351, 71360, 71369, 71424, 71449, 71453, 71467, 71472, 71487, 71840, 71922, 71935, 71935, 72192, 72263, 72272, 72323, 72326, 72354, 72384, 72440, 72704, 72773, 72784, 72812, 72816, 72847, 72850, 72886, 72960, 73014, 73018, 73031, 73040, 73049, 73728, 74649, 74752, 74868, 74880, 75075, 77824, 78894, 82944, 83526, 92160, 92728, 92736, 92777, 92782, 92783, 92880, 92909, 92912, 92917, 92928, 92997, 93008, 93047, 93053, 93071, 93952, 94020, 94032, 94078, 94095, 94111, 94176, 94177, 94208, 100332, 100352, 101106, 110592, 110878, 110960, 111355, 113664, 113770, 113776, 113788, 113792, 113800, 113808, 113817, 113820, 113823, 118784, 119029, 119040, 119078, 119081, 119154, 119163, 119272, 119296, 119365, 119552, 119638, 119648, 119665, 119808, 119967, 119970, 119970, 119973, 119974, 119977, 120074, 120077, 120134, 120138, 120485, 120488, 120779, 120782, 121483, 121499, 121519, 122880, 122904, 122907, 122922, 124928, 125124, 125127, 125142, 125184, 125258, 125264, 125273, 125278, 125279, 126464, 126500, 126503, 126523, 126530, 126530, 126535, 126548, 126551, 126564, 126567, 126619, 126625, 126651, 126704, 126705, 126976, 127019, 127024, 127123, 127136, 127150, 127153, 127221, 127232, 127244, 127248, 127339, 127344, 127404, 127462, 127490, 127504, 127547, 127552, 127560, 127568, 127569, 127584, 127589, 127744, 128724, 128736, 128748, 128752, 128760, 128768, 128883, 128896, 128980, 129024, 129035, 129040, 129095, 129104, 129113, 129120, 129159, 129168, 129197, 129280, 129291, 129296, 129356, 129360, 129387, 129408, 129431, 129472, 129472, 129488, 129510, 131072, 173782, 173824, 177972, 177984, 178205, 178208, 183969, 183984, 191456, 194560, 195101, 917760, 917999]); + isNotPrint32 = new sliceType$4([12, 39, 59, 62, 399, 926, 2057, 2102, 2134, 2291, 2564, 2580, 2584, 4285, 4405, 4576, 4626, 4743, 4745, 4750, 4766, 4868, 4905, 4913, 4916, 5210, 5212, 6813, 7177, 7223, 7336, 7431, 7434, 7483, 7486, 9327, 27231, 27482, 27490, 54357, 54429, 54445, 54458, 54460, 54468, 54534, 54549, 54557, 54586, 54591, 54597, 54609, 55968, 57351, 57378, 57381, 60932, 60960, 60963, 60968, 60979, 60984, 60986, 61000, 61002, 61004, 61008, 61011, 61016, 61018, 61020, 61022, 61024, 61027, 61035, 61043, 61048, 61053, 61055, 61066, 61092, 61098, 61632, 61648, 61743, 63807]); + isGraphic = new sliceType$4([160, 5760, 8192, 8193, 8194, 8195, 8196, 8197, 8198, 8199, 8200, 8201, 8202, 8239, 8287, 12288]); + /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f; + }; + $pkg.$init = $init; + return $pkg; +})(); +$packages["reflect"] = (function() { + var $pkg = {}, $init, errors, js, math, runtime, strconv, sync, unicode, utf8, uncommonType, funcType, name, nameData, mapIter, Type, Kind, tflag, rtype, typeAlg, method, ChanDir, arrayType, chanType, imethod, interfaceType, mapType, ptrType, sliceType, structField, structType, Method, nameOff, typeOff, textOff, StructField, StructTag, fieldScan, Value, flag, ValueError, sliceType$1, ptrType$1, sliceType$2, sliceType$3, ptrType$2, funcType$1, sliceType$4, ptrType$3, ptrType$4, sliceType$5, sliceType$6, sliceType$7, ptrType$5, ptrType$6, structType$3, sliceType$8, sliceType$9, sliceType$10, sliceType$11, arrayType$1, sliceType$12, ptrType$7, ptrType$8, sliceType$13, sliceType$14, ptrType$9, sliceType$15, ptrType$15, sliceType$17, ptrType$16, funcType$3, funcType$4, funcType$5, ptrType$17, arrayType$12, ptrType$18, initialized, uncommonTypeMap, nameMap, nameOffList, typeOffList, callHelper, jsObjectPtr, selectHelper, kindNames, uint8Type, init, jsType, reflectType, setKindType, newName, newNameOff, newTypeOff, internalStr, isWrapped, copyStruct, makeValue, MakeSlice, TypeOf, ValueOf, FuncOf, SliceOf, Zero, unsafe_New, makeInt, typedmemmove, makemap, keyFor, mapaccess, mapassign, mapdelete, mapiterinit, mapiterkey, mapiternext, maplen, cvtDirect, Copy, methodReceiver, valueInterface, ifaceE2I, methodName, makeMethodValue, wrapJsObject, unwrapJsObject, getJsTag, chanrecv, chansend, DeepEqual, deepValueEqualJs, Swapper, PtrTo, implements$1, directlyAssignable, haveIdenticalType, haveIdenticalUnderlyingType, toType, ifaceIndir, overflowFloat32, typesMustMatch, MakeMap, MakeMapWithSize, New, convertOp, makeFloat, makeComplex, makeString, makeBytes, makeRunes, cvtInt, cvtUint, cvtFloatInt, cvtFloatUint, cvtIntFloat, cvtUintFloat, cvtFloat, cvtComplex, cvtIntString, cvtUintString, cvtBytesString, cvtStringBytes, cvtRunesString, cvtStringRunes, cvtT2I, cvtI2I; + errors = $packages["errors"]; + js = $packages["github.com/gopherjs/gopherjs/js"]; + math = $packages["math"]; + runtime = $packages["runtime"]; + strconv = $packages["strconv"]; + sync = $packages["sync"]; + unicode = $packages["unicode"]; + utf8 = $packages["unicode/utf8"]; + uncommonType = $pkg.uncommonType = $newType(0, $kindStruct, "reflect.uncommonType", true, "reflect", false, function(pkgPath_, mcount_, xcount_, moff_, _methods_) { + this.$val = this; + if (arguments.length === 0) { + this.pkgPath = 0; + this.mcount = 0; + this.xcount = 0; + this.moff = 0; + this._methods = sliceType$5.nil; + return; + } + this.pkgPath = pkgPath_; + this.mcount = mcount_; + this.xcount = xcount_; + this.moff = moff_; + this._methods = _methods_; + }); + funcType = $pkg.funcType = $newType(0, $kindStruct, "reflect.funcType", true, "reflect", false, function(rtype_, inCount_, outCount_, _in_, _out_) { + this.$val = this; + if (arguments.length === 0) { + this.rtype = new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0); + this.inCount = 0; + this.outCount = 0; + this._in = sliceType$2.nil; + this._out = sliceType$2.nil; + return; + } + this.rtype = rtype_; + this.inCount = inCount_; + this.outCount = outCount_; + this._in = _in_; + this._out = _out_; + }); + name = $pkg.name = $newType(0, $kindStruct, "reflect.name", true, "reflect", false, function(bytes_) { + this.$val = this; + if (arguments.length === 0) { + this.bytes = ptrType$4.nil; + return; + } + this.bytes = bytes_; + }); + nameData = $pkg.nameData = $newType(0, $kindStruct, "reflect.nameData", true, "reflect", false, function(name_, tag_, exported_) { + this.$val = this; + if (arguments.length === 0) { + this.name = ""; + this.tag = ""; + this.exported = false; + return; + } + this.name = name_; + this.tag = tag_; + this.exported = exported_; + }); + mapIter = $pkg.mapIter = $newType(0, $kindStruct, "reflect.mapIter", true, "reflect", false, function(t_, m_, keys_, i_) { + this.$val = this; + if (arguments.length === 0) { + this.t = $ifaceNil; + this.m = null; + this.keys = null; + this.i = 0; + return; + } + this.t = t_; + this.m = m_; + this.keys = keys_; + this.i = i_; + }); + Type = $pkg.Type = $newType(8, $kindInterface, "reflect.Type", true, "reflect", true, null); + Kind = $pkg.Kind = $newType(4, $kindUint, "reflect.Kind", true, "reflect", true, null); + tflag = $pkg.tflag = $newType(1, $kindUint8, "reflect.tflag", true, "reflect", false, null); + rtype = $pkg.rtype = $newType(0, $kindStruct, "reflect.rtype", true, "reflect", false, function(size_, ptrdata_, hash_, tflag_, align_, fieldAlign_, kind_, alg_, gcdata_, str_, ptrToThis_) { + this.$val = this; + if (arguments.length === 0) { + this.size = 0; + this.ptrdata = 0; + this.hash = 0; + this.tflag = 0; + this.align = 0; + this.fieldAlign = 0; + this.kind = 0; + this.alg = ptrType$3.nil; + this.gcdata = ptrType$4.nil; + this.str = 0; + this.ptrToThis = 0; + return; + } + this.size = size_; + this.ptrdata = ptrdata_; + this.hash = hash_; + this.tflag = tflag_; + this.align = align_; + this.fieldAlign = fieldAlign_; + this.kind = kind_; + this.alg = alg_; + this.gcdata = gcdata_; + this.str = str_; + this.ptrToThis = ptrToThis_; + }); + typeAlg = $pkg.typeAlg = $newType(0, $kindStruct, "reflect.typeAlg", true, "reflect", false, function(hash_, equal_) { + this.$val = this; + if (arguments.length === 0) { + this.hash = $throwNilPointerError; + this.equal = $throwNilPointerError; + return; + } + this.hash = hash_; + this.equal = equal_; + }); + method = $pkg.method = $newType(0, $kindStruct, "reflect.method", true, "reflect", false, function(name_, mtyp_, ifn_, tfn_) { + this.$val = this; + if (arguments.length === 0) { + this.name = 0; + this.mtyp = 0; + this.ifn = 0; + this.tfn = 0; + return; + } + this.name = name_; + this.mtyp = mtyp_; + this.ifn = ifn_; + this.tfn = tfn_; + }); + ChanDir = $pkg.ChanDir = $newType(4, $kindInt, "reflect.ChanDir", true, "reflect", true, null); + arrayType = $pkg.arrayType = $newType(0, $kindStruct, "reflect.arrayType", true, "reflect", false, function(rtype_, elem_, slice_, len_) { + this.$val = this; + if (arguments.length === 0) { + this.rtype = new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0); + this.elem = ptrType$1.nil; + this.slice = ptrType$1.nil; + this.len = 0; + return; + } + this.rtype = rtype_; + this.elem = elem_; + this.slice = slice_; + this.len = len_; + }); + chanType = $pkg.chanType = $newType(0, $kindStruct, "reflect.chanType", true, "reflect", false, function(rtype_, elem_, dir_) { + this.$val = this; + if (arguments.length === 0) { + this.rtype = new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0); + this.elem = ptrType$1.nil; + this.dir = 0; + return; + } + this.rtype = rtype_; + this.elem = elem_; + this.dir = dir_; + }); + imethod = $pkg.imethod = $newType(0, $kindStruct, "reflect.imethod", true, "reflect", false, function(name_, typ_) { + this.$val = this; + if (arguments.length === 0) { + this.name = 0; + this.typ = 0; + return; + } + this.name = name_; + this.typ = typ_; + }); + interfaceType = $pkg.interfaceType = $newType(0, $kindStruct, "reflect.interfaceType", true, "reflect", false, function(rtype_, pkgPath_, methods_) { + this.$val = this; + if (arguments.length === 0) { + this.rtype = new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0); + this.pkgPath = new name.ptr(ptrType$4.nil); + this.methods = sliceType$6.nil; + return; + } + this.rtype = rtype_; + this.pkgPath = pkgPath_; + this.methods = methods_; + }); + mapType = $pkg.mapType = $newType(0, $kindStruct, "reflect.mapType", true, "reflect", false, function(rtype_, key_, elem_, bucket_, keysize_, indirectkey_, valuesize_, indirectvalue_, bucketsize_, reflexivekey_, needkeyupdate_) { + this.$val = this; + if (arguments.length === 0) { + this.rtype = new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0); + this.key = ptrType$1.nil; + this.elem = ptrType$1.nil; + this.bucket = ptrType$1.nil; + this.keysize = 0; + this.indirectkey = 0; + this.valuesize = 0; + this.indirectvalue = 0; + this.bucketsize = 0; + this.reflexivekey = false; + this.needkeyupdate = false; + return; + } + this.rtype = rtype_; + this.key = key_; + this.elem = elem_; + this.bucket = bucket_; + this.keysize = keysize_; + this.indirectkey = indirectkey_; + this.valuesize = valuesize_; + this.indirectvalue = indirectvalue_; + this.bucketsize = bucketsize_; + this.reflexivekey = reflexivekey_; + this.needkeyupdate = needkeyupdate_; + }); + ptrType = $pkg.ptrType = $newType(0, $kindStruct, "reflect.ptrType", true, "reflect", false, function(rtype_, elem_) { + this.$val = this; + if (arguments.length === 0) { + this.rtype = new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0); + this.elem = ptrType$1.nil; + return; + } + this.rtype = rtype_; + this.elem = elem_; + }); + sliceType = $pkg.sliceType = $newType(0, $kindStruct, "reflect.sliceType", true, "reflect", false, function(rtype_, elem_) { + this.$val = this; + if (arguments.length === 0) { + this.rtype = new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0); + this.elem = ptrType$1.nil; + return; + } + this.rtype = rtype_; + this.elem = elem_; + }); + structField = $pkg.structField = $newType(0, $kindStruct, "reflect.structField", true, "reflect", false, function(name_, typ_, offsetEmbed_) { + this.$val = this; + if (arguments.length === 0) { + this.name = new name.ptr(ptrType$4.nil); + this.typ = ptrType$1.nil; + this.offsetEmbed = 0; + return; + } + this.name = name_; + this.typ = typ_; + this.offsetEmbed = offsetEmbed_; + }); + structType = $pkg.structType = $newType(0, $kindStruct, "reflect.structType", true, "reflect", false, function(rtype_, pkgPath_, fields_) { + this.$val = this; + if (arguments.length === 0) { + this.rtype = new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0); + this.pkgPath = new name.ptr(ptrType$4.nil); + this.fields = sliceType$7.nil; + return; + } + this.rtype = rtype_; + this.pkgPath = pkgPath_; + this.fields = fields_; + }); + Method = $pkg.Method = $newType(0, $kindStruct, "reflect.Method", true, "reflect", true, function(Name_, PkgPath_, Type_, Func_, Index_) { + this.$val = this; + if (arguments.length === 0) { + this.Name = ""; + this.PkgPath = ""; + this.Type = $ifaceNil; + this.Func = new Value.ptr(ptrType$1.nil, 0, 0); + this.Index = 0; + return; + } + this.Name = Name_; + this.PkgPath = PkgPath_; + this.Type = Type_; + this.Func = Func_; + this.Index = Index_; + }); + nameOff = $pkg.nameOff = $newType(4, $kindInt32, "reflect.nameOff", true, "reflect", false, null); + typeOff = $pkg.typeOff = $newType(4, $kindInt32, "reflect.typeOff", true, "reflect", false, null); + textOff = $pkg.textOff = $newType(4, $kindInt32, "reflect.textOff", true, "reflect", false, null); + StructField = $pkg.StructField = $newType(0, $kindStruct, "reflect.StructField", true, "reflect", true, function(Name_, PkgPath_, Type_, Tag_, Offset_, Index_, Anonymous_) { + this.$val = this; + if (arguments.length === 0) { + this.Name = ""; + this.PkgPath = ""; + this.Type = $ifaceNil; + this.Tag = ""; + this.Offset = 0; + this.Index = sliceType$13.nil; + this.Anonymous = false; + return; + } + this.Name = Name_; + this.PkgPath = PkgPath_; + this.Type = Type_; + this.Tag = Tag_; + this.Offset = Offset_; + this.Index = Index_; + this.Anonymous = Anonymous_; + }); + StructTag = $pkg.StructTag = $newType(8, $kindString, "reflect.StructTag", true, "reflect", true, null); + fieldScan = $pkg.fieldScan = $newType(0, $kindStruct, "reflect.fieldScan", true, "reflect", false, function(typ_, index_) { + this.$val = this; + if (arguments.length === 0) { + this.typ = ptrType$9.nil; + this.index = sliceType$13.nil; + return; + } + this.typ = typ_; + this.index = index_; + }); + Value = $pkg.Value = $newType(0, $kindStruct, "reflect.Value", true, "reflect", true, function(typ_, ptr_, flag_) { + this.$val = this; + if (arguments.length === 0) { + this.typ = ptrType$1.nil; + this.ptr = 0; + this.flag = 0; + return; + } + this.typ = typ_; + this.ptr = ptr_; + this.flag = flag_; + }); + flag = $pkg.flag = $newType(4, $kindUintptr, "reflect.flag", true, "reflect", false, null); + ValueError = $pkg.ValueError = $newType(0, $kindStruct, "reflect.ValueError", true, "reflect", true, function(Method_, Kind_) { + this.$val = this; + if (arguments.length === 0) { + this.Method = ""; + this.Kind = 0; + return; + } + this.Method = Method_; + this.Kind = Kind_; + }); + sliceType$1 = $sliceType(name); + ptrType$1 = $ptrType(rtype); + sliceType$2 = $sliceType(ptrType$1); + sliceType$3 = $sliceType($emptyInterface); + ptrType$2 = $ptrType(js.Object); + funcType$1 = $funcType([sliceType$3], [ptrType$2], true); + sliceType$4 = $sliceType($String); + ptrType$3 = $ptrType(typeAlg); + ptrType$4 = $ptrType($Uint8); + sliceType$5 = $sliceType(method); + sliceType$6 = $sliceType(imethod); + sliceType$7 = $sliceType(structField); + ptrType$5 = $ptrType(uncommonType); + ptrType$6 = $ptrType(nameData); + structType$3 = $structType("reflect", [{prop: "str", name: "str", embedded: false, exported: false, typ: $String, tag: ""}]); + sliceType$8 = $sliceType(ptrType$2); + sliceType$9 = $sliceType(Value); + sliceType$10 = $sliceType(Type); + sliceType$11 = $sliceType(sliceType$8); + arrayType$1 = $arrayType($UnsafePointer, 2); + sliceType$12 = $sliceType(arrayType$1); + ptrType$7 = $ptrType(interfaceType); + ptrType$8 = $ptrType(imethod); + sliceType$13 = $sliceType($Int); + sliceType$14 = $sliceType(fieldScan); + ptrType$9 = $ptrType(structType); + sliceType$15 = $sliceType($Uint8); + ptrType$15 = $ptrType($UnsafePointer); + sliceType$17 = $sliceType($Int32); + ptrType$16 = $ptrType(funcType); + funcType$3 = $funcType([$String], [$Bool], false); + funcType$4 = $funcType([$UnsafePointer, $Uintptr], [$Uintptr], false); + funcType$5 = $funcType([$UnsafePointer, $UnsafePointer], [$Bool], false); + ptrType$17 = $ptrType(structField); + arrayType$12 = $arrayType($Uintptr, 2); + ptrType$18 = $ptrType(ValueError); + init = function() { + var used, x, x$1, x$10, x$11, x$12, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; used = $f.used; x = $f.x; x$1 = $f.x$1; x$10 = $f.x$10; x$11 = $f.x$11; x$12 = $f.x$12; x$2 = $f.x$2; x$3 = $f.x$3; x$4 = $f.x$4; x$5 = $f.x$5; x$6 = $f.x$6; x$7 = $f.x$7; x$8 = $f.x$8; x$9 = $f.x$9; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + used = (function(i) { + var i; + }); + $r = used((x = new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), new x.constructor.elem(x))); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = used((x$1 = new uncommonType.ptr(0, 0, 0, 0, sliceType$5.nil), new x$1.constructor.elem(x$1))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = used((x$2 = new method.ptr(0, 0, 0, 0), new x$2.constructor.elem(x$2))); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = used((x$3 = new arrayType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), ptrType$1.nil, ptrType$1.nil, 0), new x$3.constructor.elem(x$3))); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = used((x$4 = new chanType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), ptrType$1.nil, 0), new x$4.constructor.elem(x$4))); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = used((x$5 = new funcType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), 0, 0, sliceType$2.nil, sliceType$2.nil), new x$5.constructor.elem(x$5))); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = used((x$6 = new interfaceType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), new name.ptr(ptrType$4.nil), sliceType$6.nil), new x$6.constructor.elem(x$6))); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = used((x$7 = new mapType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), ptrType$1.nil, ptrType$1.nil, ptrType$1.nil, 0, 0, 0, 0, 0, false, false), new x$7.constructor.elem(x$7))); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = used((x$8 = new ptrType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), ptrType$1.nil), new x$8.constructor.elem(x$8))); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = used((x$9 = new sliceType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), ptrType$1.nil), new x$9.constructor.elem(x$9))); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = used((x$10 = new structType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), new name.ptr(ptrType$4.nil), sliceType$7.nil), new x$10.constructor.elem(x$10))); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = used((x$11 = new imethod.ptr(0, 0), new x$11.constructor.elem(x$11))); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = used((x$12 = new structField.ptr(new name.ptr(ptrType$4.nil), ptrType$1.nil, 0), new x$12.constructor.elem(x$12))); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + initialized = true; + uint8Type = $assertType(TypeOf(new $Uint8(0)), ptrType$1); + $s = -1; return; + /* */ } return; } if ($f === undefined) { $f = { $blk: init }; } $f.used = used; $f.x = x; $f.x$1 = x$1; $f.x$10 = x$10; $f.x$11 = x$11; $f.x$12 = x$12; $f.x$2 = x$2; $f.x$3 = x$3; $f.x$4 = x$4; $f.x$5 = x$5; $f.x$6 = x$6; $f.x$7 = x$7; $f.x$8 = x$8; $f.x$9 = x$9; $f.$s = $s; $f.$r = $r; return $f; + }; + jsType = function(typ) { + var typ; + return typ.jsType; + }; + reflectType = function(typ) { + var _1, _i, _i$1, _i$2, _i$3, _key, _ref, _ref$1, _ref$2, _ref$3, dir, exported, exported$1, f, fields, i, i$1, i$2, i$3, i$4, i$5, imethods, in$1, m, m$1, m$2, methodSet, methods, offsetEmbed, out, outCount, params, reflectFields, reflectMethods, results, rt, typ, ut, xcount; + if (typ.reflectType === undefined) { + rt = new rtype.ptr(((($parseInt(typ.size) >> 0) >>> 0)), 0, 0, 0, 0, 0, ((($parseInt(typ.kind) >> 0) << 24 >>> 24)), ptrType$3.nil, ptrType$4.nil, newNameOff($clone(newName(internalStr(typ.string), "", !!(typ.exported)), name)), 0); + rt.jsType = typ; + typ.reflectType = rt; + methodSet = $methodSet(typ); + if (!(($parseInt(methodSet.length) === 0)) || !!(typ.named)) { + rt.tflag = (rt.tflag | (1)) >>> 0; + if (!!(typ.named)) { + rt.tflag = (rt.tflag | (4)) >>> 0; + } + reflectMethods = sliceType$5.nil; + i = 0; + while (true) { + if (!(i < $parseInt(methodSet.length))) { break; } + m = methodSet[i]; + exported = internalStr(m.pkg) === ""; + if (!exported) { + i = i + (1) >> 0; + continue; + } + reflectMethods = $append(reflectMethods, new method.ptr(newNameOff($clone(newName(internalStr(m.name), "", exported), name)), newTypeOff(reflectType(m.typ)), 0, 0)); + i = i + (1) >> 0; + } + xcount = ((reflectMethods.$length << 16 >>> 16)); + i$1 = 0; + while (true) { + if (!(i$1 < $parseInt(methodSet.length))) { break; } + m$1 = methodSet[i$1]; + exported$1 = internalStr(m$1.pkg) === ""; + if (exported$1) { + i$1 = i$1 + (1) >> 0; + continue; + } + reflectMethods = $append(reflectMethods, new method.ptr(newNameOff($clone(newName(internalStr(m$1.name), "", exported$1), name)), newTypeOff(reflectType(m$1.typ)), 0, 0)); + i$1 = i$1 + (1) >> 0; + } + ut = new uncommonType.ptr(newNameOff($clone(newName(internalStr(typ.pkg), "", false), name)), (($parseInt(methodSet.length) << 16 >>> 16)), xcount, 0, reflectMethods); + _key = rt; (uncommonTypeMap || $throwRuntimeError("assignment to entry in nil map"))[ptrType$1.keyFor(_key)] = { k: _key, v: ut }; + ut.jsType = typ; + } + _1 = rt.Kind(); + if (_1 === (17)) { + setKindType(rt, new arrayType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), reflectType(typ.elem), ptrType$1.nil, ((($parseInt(typ.len) >> 0) >>> 0)))); + } else if (_1 === (18)) { + dir = 3; + if (!!(typ.sendOnly)) { + dir = 2; + } + if (!!(typ.recvOnly)) { + dir = 1; + } + setKindType(rt, new chanType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), reflectType(typ.elem), ((dir >>> 0)))); + } else if (_1 === (19)) { + params = typ.params; + in$1 = $makeSlice(sliceType$2, $parseInt(params.length)); + _ref = in$1; + _i = 0; + while (true) { + if (!(_i < _ref.$length)) { break; } + i$2 = _i; + ((i$2 < 0 || i$2 >= in$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : in$1.$array[in$1.$offset + i$2] = reflectType(params[i$2])); + _i++; + } + results = typ.results; + out = $makeSlice(sliceType$2, $parseInt(results.length)); + _ref$1 = out; + _i$1 = 0; + while (true) { + if (!(_i$1 < _ref$1.$length)) { break; } + i$3 = _i$1; + ((i$3 < 0 || i$3 >= out.$length) ? ($throwRuntimeError("index out of range"), undefined) : out.$array[out.$offset + i$3] = reflectType(results[i$3])); + _i$1++; + } + outCount = (($parseInt(results.length) << 16 >>> 16)); + if (!!(typ.variadic)) { + outCount = (outCount | (32768)) >>> 0; + } + setKindType(rt, new funcType.ptr($clone(rt, rtype), (($parseInt(params.length) << 16 >>> 16)), outCount, in$1, out)); + } else if (_1 === (20)) { + methods = typ.methods; + imethods = $makeSlice(sliceType$6, $parseInt(methods.length)); + _ref$2 = imethods; + _i$2 = 0; + while (true) { + if (!(_i$2 < _ref$2.$length)) { break; } + i$4 = _i$2; + m$2 = methods[i$4]; + imethod.copy(((i$4 < 0 || i$4 >= imethods.$length) ? ($throwRuntimeError("index out of range"), undefined) : imethods.$array[imethods.$offset + i$4]), new imethod.ptr(newNameOff($clone(newName(internalStr(m$2.name), "", internalStr(m$2.pkg) === ""), name)), newTypeOff(reflectType(m$2.typ)))); + _i$2++; + } + setKindType(rt, new interfaceType.ptr($clone(rt, rtype), $clone(newName(internalStr(typ.pkg), "", false), name), imethods)); + } else if (_1 === (21)) { + setKindType(rt, new mapType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), reflectType(typ.key), reflectType(typ.elem), ptrType$1.nil, 0, 0, 0, 0, 0, false, false)); + } else if (_1 === (22)) { + setKindType(rt, new ptrType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), reflectType(typ.elem))); + } else if (_1 === (23)) { + setKindType(rt, new sliceType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), reflectType(typ.elem))); + } else if (_1 === (25)) { + fields = typ.fields; + reflectFields = $makeSlice(sliceType$7, $parseInt(fields.length)); + _ref$3 = reflectFields; + _i$3 = 0; + while (true) { + if (!(_i$3 < _ref$3.$length)) { break; } + i$5 = _i$3; + f = fields[i$5]; + offsetEmbed = ((i$5 >>> 0)) << 1 >>> 0; + if (!!(f.embedded)) { + offsetEmbed = (offsetEmbed | (1)) >>> 0; + } + structField.copy(((i$5 < 0 || i$5 >= reflectFields.$length) ? ($throwRuntimeError("index out of range"), undefined) : reflectFields.$array[reflectFields.$offset + i$5]), new structField.ptr($clone(newName(internalStr(f.name), internalStr(f.tag), !!(f.exported)), name), reflectType(f.typ), offsetEmbed)); + _i$3++; + } + setKindType(rt, new structType.ptr($clone(rt, rtype), $clone(newName(internalStr(typ.pkgPath), "", false), name), reflectFields)); + } + } + return ((typ.reflectType)); + }; + setKindType = function(rt, kindType) { + var kindType, rt; + rt.kindType = kindType; + kindType.rtype = rt; + }; + uncommonType.ptr.prototype.methods = function() { + var t; + t = this; + return t._methods; + }; + uncommonType.prototype.methods = function() { return this.$val.methods(); }; + uncommonType.ptr.prototype.exportedMethods = function() { + var t; + t = this; + return $subslice(t._methods, 0, t.xcount, t.xcount); + }; + uncommonType.prototype.exportedMethods = function() { return this.$val.exportedMethods(); }; + rtype.ptr.prototype.uncommon = function() { + var _entry, t; + t = this; + return (_entry = uncommonTypeMap[ptrType$1.keyFor(t)], _entry !== undefined ? _entry.v : ptrType$5.nil); + }; + rtype.prototype.uncommon = function() { return this.$val.uncommon(); }; + funcType.ptr.prototype.in$ = function() { + var t; + t = this; + return t._in; + }; + funcType.prototype.in$ = function() { return this.$val.in$(); }; + funcType.ptr.prototype.out = function() { + var t; + t = this; + return t._out; + }; + funcType.prototype.out = function() { return this.$val.out(); }; + name.ptr.prototype.name = function() { + var _entry, n, s; + s = ""; + n = this; + s = (_entry = nameMap[ptrType$4.keyFor(n.bytes)], _entry !== undefined ? _entry.v : ptrType$6.nil).name; + return s; + }; + name.prototype.name = function() { return this.$val.name(); }; + name.ptr.prototype.tag = function() { + var _entry, n, s; + s = ""; + n = this; + s = (_entry = nameMap[ptrType$4.keyFor(n.bytes)], _entry !== undefined ? _entry.v : ptrType$6.nil).tag; + return s; + }; + name.prototype.tag = function() { return this.$val.tag(); }; + name.ptr.prototype.pkgPath = function() { + var n; + n = this; + return ""; + }; + name.prototype.pkgPath = function() { return this.$val.pkgPath(); }; + name.ptr.prototype.isExported = function() { + var _entry, n; + n = this; + return (_entry = nameMap[ptrType$4.keyFor(n.bytes)], _entry !== undefined ? _entry.v : ptrType$6.nil).exported; + }; + name.prototype.isExported = function() { return this.$val.isExported(); }; + newName = function(n, tag, exported) { + var _key, b, exported, n, tag; + b = $newDataPointer(0, ptrType$4); + _key = b; (nameMap || $throwRuntimeError("assignment to entry in nil map"))[ptrType$4.keyFor(_key)] = { k: _key, v: new nameData.ptr(n, tag, exported) }; + return new name.ptr(b); + }; + rtype.ptr.prototype.nameOff = function(off) { + var off, t, x; + t = this; + return (x = ((off >> 0)), ((x < 0 || x >= nameOffList.$length) ? ($throwRuntimeError("index out of range"), undefined) : nameOffList.$array[nameOffList.$offset + x])); + }; + rtype.prototype.nameOff = function(off) { return this.$val.nameOff(off); }; + newNameOff = function(n) { + var i, n; + i = nameOffList.$length; + nameOffList = $append(nameOffList, n); + return ((i >> 0)); + }; + rtype.ptr.prototype.typeOff = function(off) { + var off, t, x; + t = this; + return (x = ((off >> 0)), ((x < 0 || x >= typeOffList.$length) ? ($throwRuntimeError("index out of range"), undefined) : typeOffList.$array[typeOffList.$offset + x])); + }; + rtype.prototype.typeOff = function(off) { return this.$val.typeOff(off); }; + newTypeOff = function(t) { + var i, t; + i = typeOffList.$length; + typeOffList = $append(typeOffList, t); + return ((i >> 0)); + }; + internalStr = function(strObj) { + var c, strObj; + c = new structType$3.ptr(""); + c.str = strObj; + return c.str; + }; + isWrapped = function(typ) { + var typ; + return !!(jsType(typ).wrapped); + }; + copyStruct = function(dst, src, typ) { + var dst, fields, i, prop, src, typ; + fields = jsType(typ).fields; + i = 0; + while (true) { + if (!(i < $parseInt(fields.length))) { break; } + prop = $internalize(fields[i].prop, $String); + dst[$externalize(prop, $String)] = src[$externalize(prop, $String)]; + i = i + (1) >> 0; + } + }; + makeValue = function(t, v, fl) { + var _r, _r$1, _r$2, _r$3, _r$4, _r$5, _v, _v$1, fl, rt, t, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _v = $f._v; _v$1 = $f._v$1; fl = $f.fl; rt = $f.rt; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + _r = t.common(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + rt = _r; + _r$1 = t.Kind(); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + if (_r$1 === 17) { _v$1 = true; $s = 5; continue s; } + _r$2 = t.Kind(); /* */ $s = 7; case 7: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } + _v$1 = _r$2 === 25; case 5: + if (_v$1) { _v = true; $s = 4; continue s; } + _r$3 = t.Kind(); /* */ $s = 8; case 8: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; } + _v = _r$3 === 22; case 4: + /* */ if (_v) { $s = 2; continue; } + /* */ $s = 3; continue; + /* if (_v) { */ case 2: + _r$4 = t.Kind(); /* */ $s = 9; case 9: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; } + $s = -1; return new Value.ptr(rt, (v), (fl | ((_r$4 >>> 0))) >>> 0); + /* } */ case 3: + _r$5 = t.Kind(); /* */ $s = 10; case 10: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; } + $s = -1; return new Value.ptr(rt, ($newDataPointer(v, jsType(rt.ptrTo()))), (((fl | ((_r$5 >>> 0))) >>> 0) | 128) >>> 0); + /* */ } return; } if ($f === undefined) { $f = { $blk: makeValue }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._v = _v; $f._v$1 = _v$1; $f.fl = fl; $f.rt = rt; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + MakeSlice = function(typ, len, cap) { + var _r, _r$1, cap, len, typ, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; cap = $f.cap; len = $f.len; typ = $f.typ; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + typ = [typ]; + _r = typ[0].Kind(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + /* */ if (!((_r === 23))) { $s = 1; continue; } + /* */ $s = 2; continue; + /* if (!((_r === 23))) { */ case 1: + $panic(new $String("reflect.MakeSlice of non-slice type")); + /* } */ case 2: + if (len < 0) { + $panic(new $String("reflect.MakeSlice: negative len")); + } + if (cap < 0) { + $panic(new $String("reflect.MakeSlice: negative cap")); + } + if (len > cap) { + $panic(new $String("reflect.MakeSlice: len > cap")); + } + _r$1 = makeValue(typ[0], $makeSlice(jsType(typ[0]), len, cap, (function(typ) { return function $b() { + var _r$1, _r$2, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r$1 = $f._r$1; _r$2 = $f._r$2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + _r$1 = typ[0].Elem(); /* */ $s = 1; case 1: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + _r$2 = jsType(_r$1); /* */ $s = 2; case 2: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } + $s = -1; return _r$2.zero(); + /* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f._r$1 = _r$1; $f._r$2 = _r$2; $f.$s = $s; $f.$r = $r; return $f; + }; })(typ)), 0); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + $s = -1; return _r$1; + /* */ } return; } if ($f === undefined) { $f = { $blk: MakeSlice }; } $f._r = _r; $f._r$1 = _r$1; $f.cap = cap; $f.len = len; $f.typ = typ; $f.$s = $s; $f.$r = $r; return $f; + }; + $pkg.MakeSlice = MakeSlice; + TypeOf = function(i) { + var i; + if (!initialized) { + return new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0); + } + if ($interfaceIsEqual(i, $ifaceNil)) { + return $ifaceNil; + } + return reflectType(i.constructor); + }; + $pkg.TypeOf = TypeOf; + ValueOf = function(i) { + var _r, i, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; i = $f.i; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + if ($interfaceIsEqual(i, $ifaceNil)) { + $s = -1; return new Value.ptr(ptrType$1.nil, 0, 0); + } + _r = makeValue(reflectType(i.constructor), i.$val, 0); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + $s = -1; return _r; + /* */ } return; } if ($f === undefined) { $f = { $blk: ValueOf }; } $f._r = _r; $f.i = i; $f.$s = $s; $f.$r = $r; return $f; + }; + $pkg.ValueOf = ValueOf; + FuncOf = function(in$1, out, variadic) { + var _i, _i$1, _r, _ref, _ref$1, _v, _v$1, i, i$1, in$1, jsIn, jsOut, out, v, v$1, variadic, x, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _i$1 = $f._i$1; _r = $f._r; _ref = $f._ref; _ref$1 = $f._ref$1; _v = $f._v; _v$1 = $f._v$1; i = $f.i; i$1 = $f.i$1; in$1 = $f.in$1; jsIn = $f.jsIn; jsOut = $f.jsOut; out = $f.out; v = $f.v; v$1 = $f.v$1; variadic = $f.variadic; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + if (!(variadic)) { _v = false; $s = 3; continue s; } + if (in$1.$length === 0) { _v$1 = true; $s = 4; continue s; } + _r = (x = in$1.$length - 1 >> 0, ((x < 0 || x >= in$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : in$1.$array[in$1.$offset + x])).Kind(); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + _v$1 = !((_r === 23)); case 4: + _v = _v$1; case 3: + /* */ if (_v) { $s = 1; continue; } + /* */ $s = 2; continue; + /* if (_v) { */ case 1: + $panic(new $String("reflect.FuncOf: last arg of variadic func must be slice")); + /* } */ case 2: + jsIn = $makeSlice(sliceType$8, in$1.$length); + _ref = in$1; + _i = 0; + while (true) { + if (!(_i < _ref.$length)) { break; } + i = _i; + v = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]); + ((i < 0 || i >= jsIn.$length) ? ($throwRuntimeError("index out of range"), undefined) : jsIn.$array[jsIn.$offset + i] = jsType(v)); + _i++; + } + jsOut = $makeSlice(sliceType$8, out.$length); + _ref$1 = out; + _i$1 = 0; + while (true) { + if (!(_i$1 < _ref$1.$length)) { break; } + i$1 = _i$1; + v$1 = ((_i$1 < 0 || _i$1 >= _ref$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$1.$array[_ref$1.$offset + _i$1]); + ((i$1 < 0 || i$1 >= jsOut.$length) ? ($throwRuntimeError("index out of range"), undefined) : jsOut.$array[jsOut.$offset + i$1] = jsType(v$1)); + _i$1++; + } + $s = -1; return reflectType($funcType($externalize(jsIn, sliceType$8), $externalize(jsOut, sliceType$8), $externalize(variadic, $Bool))); + /* */ } return; } if ($f === undefined) { $f = { $blk: FuncOf }; } $f._i = _i; $f._i$1 = _i$1; $f._r = _r; $f._ref = _ref; $f._ref$1 = _ref$1; $f._v = _v; $f._v$1 = _v$1; $f.i = i; $f.i$1 = i$1; $f.in$1 = in$1; $f.jsIn = jsIn; $f.jsOut = jsOut; $f.out = out; $f.v = v; $f.v$1 = v$1; $f.variadic = variadic; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; + }; + $pkg.FuncOf = FuncOf; + rtype.ptr.prototype.ptrTo = function() { + var t; + t = this; + return reflectType($ptrType(jsType(t))); + }; + rtype.prototype.ptrTo = function() { return this.$val.ptrTo(); }; + SliceOf = function(t) { + var t; + return reflectType($sliceType(jsType(t))); + }; + $pkg.SliceOf = SliceOf; + Zero = function(typ) { + var _r, typ, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; typ = $f.typ; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + _r = makeValue(typ, jsType(typ).zero(), 0); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + $s = -1; return _r; + /* */ } return; } if ($f === undefined) { $f = { $blk: Zero }; } $f._r = _r; $f.typ = typ; $f.$s = $s; $f.$r = $r; return $f; + }; + $pkg.Zero = Zero; + unsafe_New = function(typ) { + var _1, typ; + _1 = typ.Kind(); + if (_1 === (25)) { + return (new (jsType(typ).ptr)()); + } else if (_1 === (17)) { + return (jsType(typ).zero()); + } else { + return ($newDataPointer(jsType(typ).zero(), jsType(typ.ptrTo()))); + } + }; + makeInt = function(f, bits, t) { + var _1, _r, bits, f, ptr, t, typ, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; bits = $f.bits; f = $f.f; ptr = $f.ptr; t = $f.t; typ = $f.typ; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + _r = t.common(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + typ = _r; + ptr = unsafe_New(typ); + _1 = typ.Kind(); + if (_1 === (3)) { + (ptr).$set(((bits.$low << 24 >> 24))); + } else if (_1 === (4)) { + (ptr).$set(((bits.$low << 16 >> 16))); + } else if ((_1 === (2)) || (_1 === (5))) { + (ptr).$set(((bits.$low >> 0))); + } else if (_1 === (6)) { + (ptr).$set((new $Int64(bits.$high, bits.$low))); + } else if (_1 === (8)) { + (ptr).$set(((bits.$low << 24 >>> 24))); + } else if (_1 === (9)) { + (ptr).$set(((bits.$low << 16 >>> 16))); + } else if ((_1 === (7)) || (_1 === (10)) || (_1 === (12))) { + (ptr).$set(((bits.$low >>> 0))); + } else if (_1 === (11)) { + (ptr).$set((bits)); + } + $s = -1; return new Value.ptr(typ, ptr, (((f | 128) >>> 0) | ((typ.Kind() >>> 0))) >>> 0); + /* */ } return; } if ($f === undefined) { $f = { $blk: makeInt }; } $f._1 = _1; $f._r = _r; $f.bits = bits; $f.f = f; $f.ptr = ptr; $f.t = t; $f.typ = typ; $f.$s = $s; $f.$r = $r; return $f; + }; + typedmemmove = function(t, dst, src) { + var dst, src, t; + dst.$set(src.$get()); + }; + makemap = function(t, cap) { + var cap, m, t; + m = 0; + m = (new ($global.Object)()); + return m; + }; + keyFor = function(t, key) { + var k, key, kv, t; + kv = key; + if (!(kv.$get === undefined)) { + kv = kv.$get(); + } + k = $internalize(jsType(t.Key()).keyFor(kv), $String); + return [kv, k]; + }; + mapaccess = function(t, m, key) { + var _tuple, entry, k, key, m, t; + _tuple = keyFor(t, key); + k = _tuple[1]; + entry = m[$externalize(k, $String)]; + if (entry === undefined) { + return 0; + } + return ($newDataPointer(entry.v, jsType(PtrTo(t.Elem())))); + }; + mapassign = function(t, m, key, val) { + var _r, _tuple, entry, et, jsVal, k, key, kv, m, newVal, t, val, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; entry = $f.entry; et = $f.et; jsVal = $f.jsVal; k = $f.k; key = $f.key; kv = $f.kv; m = $f.m; newVal = $f.newVal; t = $f.t; val = $f.val; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + _tuple = keyFor(t, key); + kv = _tuple[0]; + k = _tuple[1]; + jsVal = val.$get(); + et = t.Elem(); + _r = et.Kind(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + /* */ if (_r === 25) { $s = 1; continue; } + /* */ $s = 2; continue; + /* if (_r === 25) { */ case 1: + newVal = jsType(et).zero(); + copyStruct(newVal, jsVal, et); + jsVal = newVal; + /* } */ case 2: + entry = new ($global.Object)(); + entry.k = kv; + entry.v = jsVal; + m[$externalize(k, $String)] = entry; + $s = -1; return; + /* */ } return; } if ($f === undefined) { $f = { $blk: mapassign }; } $f._r = _r; $f._tuple = _tuple; $f.entry = entry; $f.et = et; $f.jsVal = jsVal; $f.k = k; $f.key = key; $f.kv = kv; $f.m = m; $f.newVal = newVal; $f.t = t; $f.val = val; $f.$s = $s; $f.$r = $r; return $f; + }; + mapdelete = function(t, m, key) { + var _tuple, k, key, m, t; + _tuple = keyFor(t, key); + k = _tuple[1]; + delete m[$externalize(k, $String)]; + }; + mapiterinit = function(t, m) { + var m, t; + return ((new mapIter.ptr(t, m, $keys(m), 0))); + }; + mapiterkey = function(it) { + var _r, _r$1, _r$2, it, iter, k, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; it = $f.it; iter = $f.iter; k = $f.k; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + iter = ((it)); + k = iter.keys[iter.i]; + _r = iter.t.Key(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + _r$1 = PtrTo(_r); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + _r$2 = jsType(_r$1); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } + $s = -1; return ($newDataPointer(iter.m[$externalize($internalize(k, $String), $String)].k, _r$2)); + /* */ } return; } if ($f === undefined) { $f = { $blk: mapiterkey }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.it = it; $f.iter = iter; $f.k = k; $f.$s = $s; $f.$r = $r; return $f; + }; + mapiternext = function(it) { + var it, iter; + iter = ((it)); + iter.i = iter.i + (1) >> 0; + }; + maplen = function(m) { + var m; + return $parseInt($keys(m).length); + }; + cvtDirect = function(v, typ) { + var _1, _arg, _arg$1, _arg$2, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, k, slice, srcVal, typ, v, val, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; k = $f.k; slice = $f.slice; srcVal = $f.srcVal; typ = $f.typ; v = $f.v; val = $f.val; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + srcVal = $clone(v, Value).object(); + /* */ if (srcVal === jsType(v.typ).nil) { $s = 1; continue; } + /* */ $s = 2; continue; + /* if (srcVal === jsType(v.typ).nil) { */ case 1: + _r = makeValue(typ, jsType(typ).nil, v.flag); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + $s = -1; return _r; + /* } */ case 2: + val = null; + _r$1 = typ.Kind(); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + k = _r$1; + _1 = k; + /* */ if (_1 === (23)) { $s = 6; continue; } + /* */ if (_1 === (22)) { $s = 7; continue; } + /* */ if (_1 === (25)) { $s = 8; continue; } + /* */ if ((_1 === (17)) || (_1 === (1)) || (_1 === (18)) || (_1 === (19)) || (_1 === (20)) || (_1 === (21)) || (_1 === (24))) { $s = 9; continue; } + /* */ $s = 10; continue; + /* if (_1 === (23)) { */ case 6: + slice = new (jsType(typ))(srcVal.$array); + slice.$offset = srcVal.$offset; + slice.$length = srcVal.$length; + slice.$capacity = srcVal.$capacity; + val = $newDataPointer(slice, jsType(PtrTo(typ))); + $s = 11; continue; + /* } else if (_1 === (22)) { */ case 7: + _r$2 = typ.Elem(); /* */ $s = 14; case 14: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } + _r$3 = _r$2.Kind(); /* */ $s = 15; case 15: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; } + /* */ if (_r$3 === 25) { $s = 12; continue; } + /* */ $s = 13; continue; + /* if (_r$3 === 25) { */ case 12: + _r$4 = typ.Elem(); /* */ $s = 18; case 18: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; } + /* */ if ($interfaceIsEqual(_r$4, v.typ.Elem())) { $s = 16; continue; } + /* */ $s = 17; continue; + /* if ($interfaceIsEqual(_r$4, v.typ.Elem())) { */ case 16: + val = srcVal; + /* break; */ $s = 4; continue; + /* } */ case 17: + val = new (jsType(typ))(); + _arg = val; + _arg$1 = srcVal; + _r$5 = typ.Elem(); /* */ $s = 19; case 19: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; } + _arg$2 = _r$5; + $r = copyStruct(_arg, _arg$1, _arg$2); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + /* break; */ $s = 4; continue; + /* } */ case 13: + val = new (jsType(typ))(srcVal.$get, srcVal.$set); + $s = 11; continue; + /* } else if (_1 === (25)) { */ case 8: + val = new (jsType(typ).ptr)(); + copyStruct(val, srcVal, typ); + $s = 11; continue; + /* } else if ((_1 === (17)) || (_1 === (1)) || (_1 === (18)) || (_1 === (19)) || (_1 === (20)) || (_1 === (21)) || (_1 === (24))) { */ case 9: + val = v.ptr; + $s = 11; continue; + /* } else { */ case 10: + $panic(new ValueError.ptr("reflect.Convert", k)); + /* } */ case 11: + case 4: + _r$6 = typ.common(); /* */ $s = 21; case 21: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; } + _r$7 = typ.Kind(); /* */ $s = 22; case 22: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; } + $s = -1; return new Value.ptr(_r$6, (val), (((new flag(v.flag).ro() | ((v.flag & 128) >>> 0)) >>> 0) | ((_r$7 >>> 0))) >>> 0); + /* */ } return; } if ($f === undefined) { $f = { $blk: cvtDirect }; } $f._1 = _1; $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f.k = k; $f.slice = slice; $f.srcVal = srcVal; $f.typ = typ; $f.v = v; $f.val = val; $f.$s = $s; $f.$r = $r; return $f; + }; + Copy = function(dst, src) { + var _r, _v, dk, dst, dstVal, sk, src, srcVal, stringCopy, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _v = $f._v; dk = $f.dk; dst = $f.dst; dstVal = $f.dstVal; sk = $f.sk; src = $f.src; srcVal = $f.srcVal; stringCopy = $f.stringCopy; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + dk = new flag(dst.flag).kind(); + if (!((dk === 17)) && !((dk === 23))) { + $panic(new ValueError.ptr("reflect.Copy", dk)); + } + if (dk === 17) { + new flag(dst.flag).mustBeAssignable(); + } + new flag(dst.flag).mustBeExported(); + sk = new flag(src.flag).kind(); + stringCopy = false; + /* */ if (!((sk === 17)) && !((sk === 23))) { $s = 1; continue; } + /* */ $s = 2; continue; + /* if (!((sk === 17)) && !((sk === 23))) { */ case 1: + if (!(sk === 24)) { _v = false; $s = 3; continue s; } + _r = dst.typ.Elem().Kind(); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + _v = _r === 8; case 3: + stringCopy = _v; + if (!stringCopy) { + $panic(new ValueError.ptr("reflect.Copy", sk)); + } + /* } */ case 2: + new flag(src.flag).mustBeExported(); + /* */ if (!stringCopy) { $s = 5; continue; } + /* */ $s = 6; continue; + /* if (!stringCopy) { */ case 5: + $r = typesMustMatch("reflect.Copy", dst.typ.Elem(), src.typ.Elem()); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + /* } */ case 6: + dstVal = $clone(dst, Value).object(); + if (dk === 17) { + dstVal = new (jsType(SliceOf(dst.typ.Elem())))(dstVal); + } + srcVal = $clone(src, Value).object(); + if (sk === 17) { + srcVal = new (jsType(SliceOf(src.typ.Elem())))(srcVal); + } + if (stringCopy) { + $s = -1; return $parseInt($copyString(dstVal, srcVal)) >> 0; + } + $s = -1; return $parseInt($copySlice(dstVal, srcVal)) >> 0; + /* */ } return; } if ($f === undefined) { $f = { $blk: Copy }; } $f._r = _r; $f._v = _v; $f.dk = dk; $f.dst = dst; $f.dstVal = dstVal; $f.sk = sk; $f.src = src; $f.srcVal = srcVal; $f.stringCopy = stringCopy; $f.$s = $s; $f.$r = $r; return $f; + }; + $pkg.Copy = Copy; + methodReceiver = function(op, v, i) { + var _$38, fn, i, m, m$1, ms, op, prop, rcvr, t, tt, v, x; + _$38 = ptrType$1.nil; + t = ptrType$1.nil; + fn = 0; + prop = ""; + if (v.typ.Kind() === 20) { + tt = (v.typ.kindType); + if (i < 0 || i >= tt.methods.$length) { + $panic(new $String("reflect: internal error: invalid method index")); + } + m = (x = tt.methods, ((i < 0 || i >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + i])); + if (!$clone(tt.rtype.nameOff(m.name), name).isExported()) { + $panic(new $String("reflect: " + op + " of unexported method")); + } + t = tt.rtype.typeOff(m.typ); + prop = $clone(tt.rtype.nameOff(m.name), name).name(); + } else { + ms = v.typ.exportedMethods(); + if (((i >>> 0)) >= ((ms.$length >>> 0))) { + $panic(new $String("reflect: internal error: invalid method index")); + } + m$1 = $clone(((i < 0 || i >= ms.$length) ? ($throwRuntimeError("index out of range"), undefined) : ms.$array[ms.$offset + i]), method); + if (!$clone(v.typ.nameOff(m$1.name), name).isExported()) { + $panic(new $String("reflect: " + op + " of unexported method")); + } + t = v.typ.typeOff(m$1.mtyp); + prop = $internalize($methodSet(jsType(v.typ))[i].prop, $String); + } + rcvr = $clone(v, Value).object(); + if (isWrapped(v.typ)) { + rcvr = new (jsType(v.typ))(rcvr); + } + fn = (rcvr[$externalize(prop, $String)]); + return [_$38, t, fn]; + }; + valueInterface = function(v, safe) { + var _r, safe, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; safe = $f.safe; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + if (v.flag === 0) { + $panic(new ValueError.ptr("reflect.Value.Interface", 0)); + } + if (safe && !((((v.flag & 96) >>> 0) === 0))) { + $panic(new $String("reflect.Value.Interface: cannot return value obtained from unexported field or method")); + } + /* */ if (!((((v.flag & 512) >>> 0) === 0))) { $s = 1; continue; } + /* */ $s = 2; continue; + /* if (!((((v.flag & 512) >>> 0) === 0))) { */ case 1: + _r = makeMethodValue("Interface", $clone(v, Value)); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + v = _r; + /* } */ case 2: + if (isWrapped(v.typ)) { + $s = -1; return ((new (jsType(v.typ))($clone(v, Value).object()))); + } + $s = -1; return (($clone(v, Value).object())); + /* */ } return; } if ($f === undefined) { $f = { $blk: valueInterface }; } $f._r = _r; $f.safe = safe; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + ifaceE2I = function(t, src, dst) { + var dst, src, t; + dst.$set(src); + }; + methodName = function() { + return "?FIXME?"; + }; + makeMethodValue = function(op, v) { + var _r, _tuple, fn, fv, op, rcvr, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; fn = $f.fn; fv = $f.fv; op = $f.op; rcvr = $f.rcvr; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + fn = [fn]; + rcvr = [rcvr]; + if (((v.flag & 512) >>> 0) === 0) { + $panic(new $String("reflect: internal error: invalid use of makePartialFunc")); + } + _tuple = methodReceiver(op, $clone(v, Value), ((v.flag >> 0)) >> 10 >> 0); + fn[0] = _tuple[2]; + rcvr[0] = $clone(v, Value).object(); + if (isWrapped(v.typ)) { + rcvr[0] = new (jsType(v.typ))(rcvr[0]); + } + fv = js.MakeFunc((function(fn, rcvr) { return function(this$1, arguments$1) { + var arguments$1, this$1; + return new $jsObjectPtr(fn[0].apply(rcvr[0], $externalize(arguments$1, sliceType$8))); + }; })(fn, rcvr)); + _r = $clone(v, Value).Type().common(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + $s = -1; return new Value.ptr(_r, (fv), (new flag(v.flag).ro() | 19) >>> 0); + /* */ } return; } if ($f === undefined) { $f = { $blk: makeMethodValue }; } $f._r = _r; $f._tuple = _tuple; $f.fn = fn; $f.fv = fv; $f.op = op; $f.rcvr = rcvr; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + rtype.ptr.prototype.pointers = function() { + var _1, t; + t = this; + _1 = t.Kind(); + if ((_1 === (22)) || (_1 === (21)) || (_1 === (18)) || (_1 === (19)) || (_1 === (25)) || (_1 === (17))) { + return true; + } else { + return false; + } + }; + rtype.prototype.pointers = function() { return this.$val.pointers(); }; + rtype.ptr.prototype.Comparable = function() { + var _1, _r, _r$1, i, t, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; _r$1 = $f._r$1; i = $f.i; t = $f.t; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + t = this; + _1 = t.Kind(); + /* */ if ((_1 === (19)) || (_1 === (23)) || (_1 === (21))) { $s = 2; continue; } + /* */ if (_1 === (17)) { $s = 3; continue; } + /* */ if (_1 === (25)) { $s = 4; continue; } + /* */ $s = 5; continue; + /* if ((_1 === (19)) || (_1 === (23)) || (_1 === (21))) { */ case 2: + $s = -1; return false; + /* } else if (_1 === (17)) { */ case 3: + _r = t.Elem().Comparable(); /* */ $s = 6; case 6: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + $s = -1; return _r; + /* } else if (_1 === (25)) { */ case 4: + i = 0; + /* while (true) { */ case 7: + /* if (!(i < t.NumField())) { break; } */ if(!(i < t.NumField())) { $s = 8; continue; } + _r$1 = t.Field(i).Type.Comparable(); /* */ $s = 11; case 11: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + /* */ if (!_r$1) { $s = 9; continue; } + /* */ $s = 10; continue; + /* if (!_r$1) { */ case 9: + $s = -1; return false; + /* } */ case 10: + i = i + (1) >> 0; + /* } */ $s = 7; continue; case 8: + /* } */ case 5: + case 1: + $s = -1; return true; + /* */ } return; } if ($f === undefined) { $f = { $blk: rtype.ptr.prototype.Comparable }; } $f._1 = _1; $f._r = _r; $f._r$1 = _r$1; $f.i = i; $f.t = t; $f.$s = $s; $f.$r = $r; return $f; + }; + rtype.prototype.Comparable = function() { return this.$val.Comparable(); }; + rtype.ptr.prototype.Method = function(i) { + var _i, _i$1, _r, _ref, _ref$1, arg, fl, fn, ft, i, in$1, m, methods, mt, mtyp, out, p, pname, prop, ret, t, tt, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _i$1 = $f._i$1; _r = $f._r; _ref = $f._ref; _ref$1 = $f._ref$1; arg = $f.arg; fl = $f.fl; fn = $f.fn; ft = $f.ft; i = $f.i; in$1 = $f.in$1; m = $f.m; methods = $f.methods; mt = $f.mt; mtyp = $f.mtyp; out = $f.out; p = $f.p; pname = $f.pname; prop = $f.prop; ret = $f.ret; t = $f.t; tt = $f.tt; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + prop = [prop]; + m = new Method.ptr("", "", $ifaceNil, new Value.ptr(ptrType$1.nil, 0, 0), 0); + t = this; + if (t.Kind() === 20) { + tt = (t.kindType); + Method.copy(m, tt.Method(i)); + $s = -1; return m; + } + methods = t.exportedMethods(); + if (i < 0 || i >= methods.$length) { + $panic(new $String("reflect: Method index out of range")); + } + p = $clone(((i < 0 || i >= methods.$length) ? ($throwRuntimeError("index out of range"), undefined) : methods.$array[methods.$offset + i]), method); + pname = $clone(t.nameOff(p.name), name); + m.Name = $clone(pname, name).name(); + fl = 19; + mtyp = t.typeOff(p.mtyp); + ft = (mtyp.kindType); + in$1 = $makeSlice(sliceType$10, 0, (1 + ft.in$().$length >> 0)); + in$1 = $append(in$1, t); + _ref = ft.in$(); + _i = 0; + while (true) { + if (!(_i < _ref.$length)) { break; } + arg = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]); + in$1 = $append(in$1, arg); + _i++; + } + out = $makeSlice(sliceType$10, 0, ft.out().$length); + _ref$1 = ft.out(); + _i$1 = 0; + while (true) { + if (!(_i$1 < _ref$1.$length)) { break; } + ret = ((_i$1 < 0 || _i$1 >= _ref$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$1.$array[_ref$1.$offset + _i$1]); + out = $append(out, ret); + _i$1++; + } + _r = FuncOf(in$1, out, ft.rtype.IsVariadic()); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + mt = _r; + m.Type = mt; + prop[0] = $internalize($methodSet(t.jsType)[i].prop, $String); + fn = js.MakeFunc((function(prop) { return function(this$1, arguments$1) { + var arguments$1, rcvr, this$1; + rcvr = (0 >= arguments$1.$length ? ($throwRuntimeError("index out of range"), undefined) : arguments$1.$array[arguments$1.$offset + 0]); + return new $jsObjectPtr(rcvr[$externalize(prop[0], $String)].apply(rcvr, $externalize($subslice(arguments$1, 1), sliceType$8))); + }; })(prop)); + m.Func = new Value.ptr($assertType(mt, ptrType$1), (fn), fl); + m.Index = i; + Method.copy(m, m); + $s = -1; return m; + /* */ } return; } if ($f === undefined) { $f = { $blk: rtype.ptr.prototype.Method }; } $f._i = _i; $f._i$1 = _i$1; $f._r = _r; $f._ref = _ref; $f._ref$1 = _ref$1; $f.arg = arg; $f.fl = fl; $f.fn = fn; $f.ft = ft; $f.i = i; $f.in$1 = in$1; $f.m = m; $f.methods = methods; $f.mt = mt; $f.mtyp = mtyp; $f.out = out; $f.p = p; $f.pname = pname; $f.prop = prop; $f.ret = ret; $f.t = t; $f.tt = tt; $f.$s = $s; $f.$r = $r; return $f; + }; + rtype.prototype.Method = function(i) { return this.$val.Method(i); }; + Value.ptr.prototype.object = function() { + var _1, newVal, v, val; + v = this; + if ((v.typ.Kind() === 17) || (v.typ.Kind() === 25)) { + return v.ptr; + } + if (!((((v.flag & 128) >>> 0) === 0))) { + val = v.ptr.$get(); + if (!(val === $ifaceNil) && !(val.constructor === jsType(v.typ))) { + switch (0) { default: + _1 = v.typ.Kind(); + if ((_1 === (11)) || (_1 === (6))) { + val = new (jsType(v.typ))(val.$high, val.$low); + } else if ((_1 === (15)) || (_1 === (16))) { + val = new (jsType(v.typ))(val.$real, val.$imag); + } else if (_1 === (23)) { + if (val === val.constructor.nil) { + val = jsType(v.typ).nil; + break; + } + newVal = new (jsType(v.typ))(val.$array); + newVal.$offset = val.$offset; + newVal.$length = val.$length; + newVal.$capacity = val.$capacity; + val = newVal; + } + } + } + return val; + } + return v.ptr; + }; + Value.prototype.object = function() { return this.$val.object(); }; + Value.ptr.prototype.assignTo = function(context, dst, target) { + var _r, _r$1, _r$2, context, dst, fl, target, v, x, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; context = $f.context; dst = $f.dst; fl = $f.fl; target = $f.target; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + v = this; + /* */ if (!((((v.flag & 512) >>> 0) === 0))) { $s = 1; continue; } + /* */ $s = 2; continue; + /* if (!((((v.flag & 512) >>> 0) === 0))) { */ case 1: + _r = makeMethodValue(context, $clone(v, Value)); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + v = _r; + /* } */ case 2: + _r$1 = directlyAssignable(dst, v.typ); /* */ $s = 8; case 8: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + /* */ if (_r$1) { $s = 5; continue; } + /* */ if (implements$1(dst, v.typ)) { $s = 6; continue; } + /* */ $s = 7; continue; + /* if (_r$1) { */ case 5: + fl = (((v.flag & 384) >>> 0) | new flag(v.flag).ro()) >>> 0; + fl = (fl | (((dst.Kind() >>> 0)))) >>> 0; + $s = -1; return new Value.ptr(dst, v.ptr, fl); + /* } else if (implements$1(dst, v.typ)) { */ case 6: + if (target === 0) { + target = unsafe_New(dst); + } + _r$2 = valueInterface($clone(v, Value), false); /* */ $s = 9; case 9: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } + x = _r$2; + if (dst.NumMethod() === 0) { + (target).$set(x); + } else { + ifaceE2I(dst, x, target); + } + $s = -1; return new Value.ptr(dst, target, 148); + /* } */ case 7: + case 4: + $panic(new $String(context + ": value of type " + v.typ.String() + " is not assignable to type " + dst.String())); + $s = -1; return new Value.ptr(ptrType$1.nil, 0, 0); + /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.assignTo }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.context = context; $f.dst = dst; $f.fl = fl; $f.target = target; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; + }; + Value.prototype.assignTo = function(context, dst, target) { return this.$val.assignTo(context, dst, target); }; + Value.ptr.prototype.call = function(op, in$1) { + var _1, _arg, _arg$1, _arg$2, _arg$3, _i, _i$1, _i$2, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, _ref$1, _ref$2, _tmp, _tmp$1, _tuple, arg, argsArray, elem, fn, i, i$1, i$2, i$3, in$1, isSlice, m, n, nin, nout, op, origIn, rcvr, results, ret, slice, t, targ, v, x, x$1, x$2, xt, xt$1, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _arg$3 = $f._arg$3; _i = $f._i; _i$1 = $f._i$1; _i$2 = $f._i$2; _r = $f._r; _r$1 = $f._r$1; _r$10 = $f._r$10; _r$11 = $f._r$11; _r$12 = $f._r$12; _r$13 = $f._r$13; _r$14 = $f._r$14; _r$15 = $f._r$15; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _r$8 = $f._r$8; _r$9 = $f._r$9; _ref = $f._ref; _ref$1 = $f._ref$1; _ref$2 = $f._ref$2; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tuple = $f._tuple; arg = $f.arg; argsArray = $f.argsArray; elem = $f.elem; fn = $f.fn; i = $f.i; i$1 = $f.i$1; i$2 = $f.i$2; i$3 = $f.i$3; in$1 = $f.in$1; isSlice = $f.isSlice; m = $f.m; n = $f.n; nin = $f.nin; nout = $f.nout; op = $f.op; origIn = $f.origIn; rcvr = $f.rcvr; results = $f.results; ret = $f.ret; slice = $f.slice; t = $f.t; targ = $f.targ; v = $f.v; x = $f.x; x$1 = $f.x$1; x$2 = $f.x$2; xt = $f.xt; xt$1 = $f.xt$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + v = this; + t = ptrType$1.nil; + fn = 0; + rcvr = null; + if (!((((v.flag & 512) >>> 0) === 0))) { + _tuple = methodReceiver(op, $clone(v, Value), ((v.flag >> 0)) >> 10 >> 0); + t = _tuple[1]; + fn = _tuple[2]; + rcvr = $clone(v, Value).object(); + if (isWrapped(v.typ)) { + rcvr = new (jsType(v.typ))(rcvr); + } + } else { + t = v.typ; + fn = ($clone(v, Value).object()); + rcvr = undefined; + } + if (fn === 0) { + $panic(new $String("reflect.Value.Call: call of nil function")); + } + isSlice = op === "CallSlice"; + n = t.NumIn(); + if (isSlice) { + if (!t.IsVariadic()) { + $panic(new $String("reflect: CallSlice of non-variadic function")); + } + if (in$1.$length < n) { + $panic(new $String("reflect: CallSlice with too few input arguments")); + } + if (in$1.$length > n) { + $panic(new $String("reflect: CallSlice with too many input arguments")); + } + } else { + if (t.IsVariadic()) { + n = n - (1) >> 0; + } + if (in$1.$length < n) { + $panic(new $String("reflect: Call with too few input arguments")); + } + if (!t.IsVariadic() && in$1.$length > n) { + $panic(new $String("reflect: Call with too many input arguments")); + } + } + _ref = in$1; + _i = 0; + while (true) { + if (!(_i < _ref.$length)) { break; } + x = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]); + if ($clone(x, Value).Kind() === 0) { + $panic(new $String("reflect: " + op + " using zero Value argument")); + } + _i++; + } + i = 0; + /* while (true) { */ case 1: + /* if (!(i < n)) { break; } */ if(!(i < n)) { $s = 2; continue; } + _tmp = $clone(((i < 0 || i >= in$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : in$1.$array[in$1.$offset + i]), Value).Type(); + _tmp$1 = t.In(i); + xt = _tmp; + targ = _tmp$1; + _r = xt.AssignableTo(targ); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + /* */ if (!_r) { $s = 3; continue; } + /* */ $s = 4; continue; + /* if (!_r) { */ case 3: + _r$1 = xt.String(); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + _r$2 = targ.String(); /* */ $s = 7; case 7: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } + $panic(new $String("reflect: " + op + " using " + _r$1 + " as type " + _r$2)); + /* } */ case 4: + i = i + (1) >> 0; + /* } */ $s = 1; continue; case 2: + /* */ if (!isSlice && t.IsVariadic()) { $s = 8; continue; } + /* */ $s = 9; continue; + /* if (!isSlice && t.IsVariadic()) { */ case 8: + m = in$1.$length - n >> 0; + _r$3 = MakeSlice(t.In(n), m, m); /* */ $s = 10; case 10: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; } + slice = _r$3; + _r$4 = t.In(n).Elem(); /* */ $s = 11; case 11: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; } + elem = _r$4; + i$1 = 0; + /* while (true) { */ case 12: + /* if (!(i$1 < m)) { break; } */ if(!(i$1 < m)) { $s = 13; continue; } + x$2 = (x$1 = n + i$1 >> 0, ((x$1 < 0 || x$1 >= in$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : in$1.$array[in$1.$offset + x$1])); + xt$1 = $clone(x$2, Value).Type(); + _r$5 = xt$1.AssignableTo(elem); /* */ $s = 16; case 16: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; } + /* */ if (!_r$5) { $s = 14; continue; } + /* */ $s = 15; continue; + /* if (!_r$5) { */ case 14: + _r$6 = xt$1.String(); /* */ $s = 17; case 17: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; } + _r$7 = elem.String(); /* */ $s = 18; case 18: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; } + $panic(new $String("reflect: cannot use " + _r$6 + " as type " + _r$7 + " in " + op)); + /* } */ case 15: + _r$8 = $clone(slice, Value).Index(i$1); /* */ $s = 19; case 19: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; } + $r = $clone(_r$8, Value).Set($clone(x$2, Value)); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + i$1 = i$1 + (1) >> 0; + /* } */ $s = 12; continue; case 13: + origIn = in$1; + in$1 = $makeSlice(sliceType$9, (n + 1 >> 0)); + $copySlice($subslice(in$1, 0, n), origIn); + ((n < 0 || n >= in$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : in$1.$array[in$1.$offset + n] = slice); + /* } */ case 9: + nin = in$1.$length; + if (!((nin === t.NumIn()))) { + $panic(new $String("reflect.Value.Call: wrong argument count")); + } + nout = t.NumOut(); + argsArray = new ($global.Array)(t.NumIn()); + _ref$1 = in$1; + _i$1 = 0; + /* while (true) { */ case 21: + /* if (!(_i$1 < _ref$1.$length)) { break; } */ if(!(_i$1 < _ref$1.$length)) { $s = 22; continue; } + i$2 = _i$1; + arg = ((_i$1 < 0 || _i$1 >= _ref$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$1.$array[_ref$1.$offset + _i$1]); + _arg = t.In(i$2); + _r$9 = t.In(i$2).common(); /* */ $s = 23; case 23: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; } + _arg$1 = _r$9; + _arg$2 = 0; + _r$10 = $clone(arg, Value).assignTo("reflect.Value.Call", _arg$1, _arg$2); /* */ $s = 24; case 24: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; } + _r$11 = $clone(_r$10, Value).object(); /* */ $s = 25; case 25: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; } + _arg$3 = _r$11; + _r$12 = unwrapJsObject(_arg, _arg$3); /* */ $s = 26; case 26: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; } + argsArray[i$2] = _r$12; + _i$1++; + /* } */ $s = 21; continue; case 22: + _r$13 = callHelper(new sliceType$3([new $jsObjectPtr(fn), new $jsObjectPtr(rcvr), new $jsObjectPtr(argsArray)])); /* */ $s = 27; case 27: if($c) { $c = false; _r$13 = _r$13.$blk(); } if (_r$13 && _r$13.$blk !== undefined) { break s; } + results = _r$13; + _1 = nout; + /* */ if (_1 === (0)) { $s = 29; continue; } + /* */ if (_1 === (1)) { $s = 30; continue; } + /* */ $s = 31; continue; + /* if (_1 === (0)) { */ case 29: + $s = -1; return sliceType$9.nil; + /* } else if (_1 === (1)) { */ case 30: + _r$14 = makeValue(t.Out(0), wrapJsObject(t.Out(0), results), 0); /* */ $s = 33; case 33: if($c) { $c = false; _r$14 = _r$14.$blk(); } if (_r$14 && _r$14.$blk !== undefined) { break s; } + $s = -1; return new sliceType$9([$clone(_r$14, Value)]); + /* } else { */ case 31: + ret = $makeSlice(sliceType$9, nout); + _ref$2 = ret; + _i$2 = 0; + /* while (true) { */ case 34: + /* if (!(_i$2 < _ref$2.$length)) { break; } */ if(!(_i$2 < _ref$2.$length)) { $s = 35; continue; } + i$3 = _i$2; + _r$15 = makeValue(t.Out(i$3), wrapJsObject(t.Out(i$3), results[i$3]), 0); /* */ $s = 36; case 36: if($c) { $c = false; _r$15 = _r$15.$blk(); } if (_r$15 && _r$15.$blk !== undefined) { break s; } + ((i$3 < 0 || i$3 >= ret.$length) ? ($throwRuntimeError("index out of range"), undefined) : ret.$array[ret.$offset + i$3] = _r$15); + _i$2++; + /* } */ $s = 34; continue; case 35: + $s = -1; return ret; + /* } */ case 32: + case 28: + $s = -1; return sliceType$9.nil; + /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.call }; } $f._1 = _1; $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._arg$3 = _arg$3; $f._i = _i; $f._i$1 = _i$1; $f._i$2 = _i$2; $f._r = _r; $f._r$1 = _r$1; $f._r$10 = _r$10; $f._r$11 = _r$11; $f._r$12 = _r$12; $f._r$13 = _r$13; $f._r$14 = _r$14; $f._r$15 = _r$15; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._r$8 = _r$8; $f._r$9 = _r$9; $f._ref = _ref; $f._ref$1 = _ref$1; $f._ref$2 = _ref$2; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tuple = _tuple; $f.arg = arg; $f.argsArray = argsArray; $f.elem = elem; $f.fn = fn; $f.i = i; $f.i$1 = i$1; $f.i$2 = i$2; $f.i$3 = i$3; $f.in$1 = in$1; $f.isSlice = isSlice; $f.m = m; $f.n = n; $f.nin = nin; $f.nout = nout; $f.op = op; $f.origIn = origIn; $f.rcvr = rcvr; $f.results = results; $f.ret = ret; $f.slice = slice; $f.t = t; $f.targ = targ; $f.v = v; $f.x = x; $f.x$1 = x$1; $f.x$2 = x$2; $f.xt = xt; $f.xt$1 = xt$1; $f.$s = $s; $f.$r = $r; return $f; + }; + Value.prototype.call = function(op, in$1) { return this.$val.call(op, in$1); }; + Value.ptr.prototype.Cap = function() { + var _1, k, v; + v = this; + k = new flag(v.flag).kind(); + _1 = k; + if (_1 === (17)) { + return v.typ.Len(); + } else if ((_1 === (18)) || (_1 === (23))) { + return $parseInt($clone(v, Value).object().$capacity) >> 0; + } + $panic(new ValueError.ptr("reflect.Value.Cap", k)); + }; + Value.prototype.Cap = function() { return this.$val.Cap(); }; + wrapJsObject = function(typ, val) { + var typ, val; + if ($interfaceIsEqual(typ, jsObjectPtr)) { + return new (jsType(jsObjectPtr))(val); + } + return val; + }; + unwrapJsObject = function(typ, val) { + var typ, val; + if ($interfaceIsEqual(typ, jsObjectPtr)) { + return val.object; + } + return val; + }; + Value.ptr.prototype.Elem = function() { + var _1, _r, fl, k, tt, typ, v, val, val$1, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; fl = $f.fl; k = $f.k; tt = $f.tt; typ = $f.typ; v = $f.v; val = $f.val; val$1 = $f.val$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + v = this; + k = new flag(v.flag).kind(); + _1 = k; + /* */ if (_1 === (20)) { $s = 2; continue; } + /* */ if (_1 === (22)) { $s = 3; continue; } + /* */ $s = 4; continue; + /* if (_1 === (20)) { */ case 2: + val = $clone(v, Value).object(); + if (val === $ifaceNil) { + $s = -1; return new Value.ptr(ptrType$1.nil, 0, 0); + } + typ = reflectType(val.constructor); + _r = makeValue(typ, val.$val, new flag(v.flag).ro()); /* */ $s = 6; case 6: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + $s = -1; return _r; + /* } else if (_1 === (22)) { */ case 3: + if ($clone(v, Value).IsNil()) { + $s = -1; return new Value.ptr(ptrType$1.nil, 0, 0); + } + val$1 = $clone(v, Value).object(); + tt = (v.typ.kindType); + fl = (((((v.flag & 96) >>> 0) | 128) >>> 0) | 256) >>> 0; + fl = (fl | (((tt.elem.Kind() >>> 0)))) >>> 0; + $s = -1; return new Value.ptr(tt.elem, (wrapJsObject(tt.elem, val$1)), fl); + /* } else { */ case 4: + $panic(new ValueError.ptr("reflect.Value.Elem", k)); + /* } */ case 5: + case 1: + $s = -1; return new Value.ptr(ptrType$1.nil, 0, 0); + /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Elem }; } $f._1 = _1; $f._r = _r; $f.fl = fl; $f.k = k; $f.tt = tt; $f.typ = typ; $f.v = v; $f.val = val; $f.val$1 = val$1; $f.$s = $s; $f.$r = $r; return $f; + }; + Value.prototype.Elem = function() { return this.$val.Elem(); }; + Value.ptr.prototype.Field = function(i) { + var _r, _r$1, _r$2, field, fl, i, jsTag, o, prop, s, tag, tt, typ, v, x, x$1, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; field = $f.field; fl = $f.fl; i = $f.i; jsTag = $f.jsTag; o = $f.o; prop = $f.prop; s = $f.s; tag = $f.tag; tt = $f.tt; typ = $f.typ; v = $f.v; x = $f.x; x$1 = $f.x$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + jsTag = [jsTag]; + prop = [prop]; + s = [s]; + typ = [typ]; + v = this; + if (!((new flag(v.flag).kind() === 25))) { + $panic(new ValueError.ptr("reflect.Value.Field", new flag(v.flag).kind())); + } + tt = (v.typ.kindType); + if (((i >>> 0)) >= ((tt.fields.$length >>> 0))) { + $panic(new $String("reflect: Field index out of range")); + } + prop[0] = $internalize(jsType(v.typ).fields[i].prop, $String); + field = (x = tt.fields, ((i < 0 || i >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + i])); + typ[0] = field.typ; + fl = (((v.flag & 416) >>> 0) | ((typ[0].Kind() >>> 0))) >>> 0; + if (!$clone(field.name, name).isExported()) { + if (field.embedded()) { + fl = (fl | (64)) >>> 0; + } else { + fl = (fl | (32)) >>> 0; + } + } + tag = $clone((x$1 = tt.fields, ((i < 0 || i >= x$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$1.$array[x$1.$offset + i])).name, name).tag(); + /* */ if (!(tag === "") && !((i === 0))) { $s = 1; continue; } + /* */ $s = 2; continue; + /* if (!(tag === "") && !((i === 0))) { */ case 1: + jsTag[0] = getJsTag(tag); + /* */ if (!(jsTag[0] === "")) { $s = 3; continue; } + /* */ $s = 4; continue; + /* if (!(jsTag[0] === "")) { */ case 3: + /* while (true) { */ case 5: + o = [o]; + _r = $clone(v, Value).Field(0); /* */ $s = 7; case 7: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + v = _r; + /* */ if (v.typ === jsObjectPtr) { $s = 8; continue; } + /* */ $s = 9; continue; + /* if (v.typ === jsObjectPtr) { */ case 8: + o[0] = $clone(v, Value).object().object; + $s = -1; return new Value.ptr(typ[0], (new (jsType(PtrTo(typ[0])))((function(jsTag, o, prop, s, typ) { return function() { + return $internalize(o[0][$externalize(jsTag[0], $String)], jsType(typ[0])); + }; })(jsTag, o, prop, s, typ), (function(jsTag, o, prop, s, typ) { return function(x$2) { + var x$2; + o[0][$externalize(jsTag[0], $String)] = $externalize(x$2, jsType(typ[0])); + }; })(jsTag, o, prop, s, typ))), fl); + /* } */ case 9: + /* */ if (v.typ.Kind() === 22) { $s = 10; continue; } + /* */ $s = 11; continue; + /* if (v.typ.Kind() === 22) { */ case 10: + _r$1 = $clone(v, Value).Elem(); /* */ $s = 12; case 12: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + v = _r$1; + /* } */ case 11: + /* } */ $s = 5; continue; case 6: + /* } */ case 4: + /* } */ case 2: + s[0] = v.ptr; + /* */ if (!((((fl & 128) >>> 0) === 0)) && !((typ[0].Kind() === 17)) && !((typ[0].Kind() === 25))) { $s = 13; continue; } + /* */ $s = 14; continue; + /* if (!((((fl & 128) >>> 0) === 0)) && !((typ[0].Kind() === 17)) && !((typ[0].Kind() === 25))) { */ case 13: + $s = -1; return new Value.ptr(typ[0], (new (jsType(PtrTo(typ[0])))((function(jsTag, prop, s, typ) { return function() { + return wrapJsObject(typ[0], s[0][$externalize(prop[0], $String)]); + }; })(jsTag, prop, s, typ), (function(jsTag, prop, s, typ) { return function(x$2) { + var x$2; + s[0][$externalize(prop[0], $String)] = unwrapJsObject(typ[0], x$2); + }; })(jsTag, prop, s, typ))), fl); + /* } */ case 14: + _r$2 = makeValue(typ[0], wrapJsObject(typ[0], s[0][$externalize(prop[0], $String)]), fl); /* */ $s = 15; case 15: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } + $s = -1; return _r$2; + /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Field }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.field = field; $f.fl = fl; $f.i = i; $f.jsTag = jsTag; $f.o = o; $f.prop = prop; $f.s = s; $f.tag = tag; $f.tt = tt; $f.typ = typ; $f.v = v; $f.x = x; $f.x$1 = x$1; $f.$s = $s; $f.$r = $r; return $f; + }; + Value.prototype.Field = function(i) { return this.$val.Field(i); }; + getJsTag = function(tag) { + var _tuple, i, name$1, qvalue, tag, value; + while (true) { + if (!(!(tag === ""))) { break; } + i = 0; + while (true) { + if (!(i < tag.length && (tag.charCodeAt(i) === 32))) { break; } + i = i + (1) >> 0; + } + tag = $substring(tag, i); + if (tag === "") { + break; + } + i = 0; + while (true) { + if (!(i < tag.length && !((tag.charCodeAt(i) === 32)) && !((tag.charCodeAt(i) === 58)) && !((tag.charCodeAt(i) === 34)))) { break; } + i = i + (1) >> 0; + } + if ((i + 1 >> 0) >= tag.length || !((tag.charCodeAt(i) === 58)) || !((tag.charCodeAt((i + 1 >> 0)) === 34))) { + break; + } + name$1 = ($substring(tag, 0, i)); + tag = $substring(tag, (i + 1 >> 0)); + i = 1; + while (true) { + if (!(i < tag.length && !((tag.charCodeAt(i) === 34)))) { break; } + if (tag.charCodeAt(i) === 92) { + i = i + (1) >> 0; + } + i = i + (1) >> 0; + } + if (i >= tag.length) { + break; + } + qvalue = ($substring(tag, 0, (i + 1 >> 0))); + tag = $substring(tag, (i + 1 >> 0)); + if (name$1 === "js") { + _tuple = strconv.Unquote(qvalue); + value = _tuple[0]; + return value; + } + } + return ""; + }; + Value.ptr.prototype.Index = function(i) { + var _1, _r, _r$1, a, a$1, c, fl, fl$1, fl$2, i, k, s, str, tt, tt$1, typ, typ$1, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; _r$1 = $f._r$1; a = $f.a; a$1 = $f.a$1; c = $f.c; fl = $f.fl; fl$1 = $f.fl$1; fl$2 = $f.fl$2; i = $f.i; k = $f.k; s = $f.s; str = $f.str; tt = $f.tt; tt$1 = $f.tt$1; typ = $f.typ; typ$1 = $f.typ$1; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + a = [a]; + a$1 = [a$1]; + c = [c]; + i = [i]; + typ = [typ]; + typ$1 = [typ$1]; + v = this; + k = new flag(v.flag).kind(); + _1 = k; + /* */ if (_1 === (17)) { $s = 2; continue; } + /* */ if (_1 === (23)) { $s = 3; continue; } + /* */ if (_1 === (24)) { $s = 4; continue; } + /* */ $s = 5; continue; + /* if (_1 === (17)) { */ case 2: + tt = (v.typ.kindType); + if (i[0] < 0 || i[0] > ((tt.len >> 0))) { + $panic(new $String("reflect: array index out of range")); + } + typ[0] = tt.elem; + fl = (((((v.flag & 384) >>> 0) | new flag(v.flag).ro()) >>> 0) | ((typ[0].Kind() >>> 0))) >>> 0; + a[0] = v.ptr; + /* */ if (!((((fl & 128) >>> 0) === 0)) && !((typ[0].Kind() === 17)) && !((typ[0].Kind() === 25))) { $s = 7; continue; } + /* */ $s = 8; continue; + /* if (!((((fl & 128) >>> 0) === 0)) && !((typ[0].Kind() === 17)) && !((typ[0].Kind() === 25))) { */ case 7: + $s = -1; return new Value.ptr(typ[0], (new (jsType(PtrTo(typ[0])))((function(a, a$1, c, i, typ, typ$1) { return function() { + return wrapJsObject(typ[0], a[0][i[0]]); + }; })(a, a$1, c, i, typ, typ$1), (function(a, a$1, c, i, typ, typ$1) { return function(x) { + var x; + a[0][i[0]] = unwrapJsObject(typ[0], x); + }; })(a, a$1, c, i, typ, typ$1))), fl); + /* } */ case 8: + _r = makeValue(typ[0], wrapJsObject(typ[0], a[0][i[0]]), fl); /* */ $s = 9; case 9: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + $s = -1; return _r; + /* } else if (_1 === (23)) { */ case 3: + s = $clone(v, Value).object(); + if (i[0] < 0 || i[0] >= ($parseInt(s.$length) >> 0)) { + $panic(new $String("reflect: slice index out of range")); + } + tt$1 = (v.typ.kindType); + typ$1[0] = tt$1.elem; + fl$1 = (((384 | new flag(v.flag).ro()) >>> 0) | ((typ$1[0].Kind() >>> 0))) >>> 0; + i[0] = i[0] + (($parseInt(s.$offset) >> 0)) >> 0; + a$1[0] = s.$array; + /* */ if (!((((fl$1 & 128) >>> 0) === 0)) && !((typ$1[0].Kind() === 17)) && !((typ$1[0].Kind() === 25))) { $s = 10; continue; } + /* */ $s = 11; continue; + /* if (!((((fl$1 & 128) >>> 0) === 0)) && !((typ$1[0].Kind() === 17)) && !((typ$1[0].Kind() === 25))) { */ case 10: + $s = -1; return new Value.ptr(typ$1[0], (new (jsType(PtrTo(typ$1[0])))((function(a, a$1, c, i, typ, typ$1) { return function() { + return wrapJsObject(typ$1[0], a$1[0][i[0]]); + }; })(a, a$1, c, i, typ, typ$1), (function(a, a$1, c, i, typ, typ$1) { return function(x) { + var x; + a$1[0][i[0]] = unwrapJsObject(typ$1[0], x); + }; })(a, a$1, c, i, typ, typ$1))), fl$1); + /* } */ case 11: + _r$1 = makeValue(typ$1[0], wrapJsObject(typ$1[0], a$1[0][i[0]]), fl$1); /* */ $s = 12; case 12: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + $s = -1; return _r$1; + /* } else if (_1 === (24)) { */ case 4: + str = (v.ptr).$get(); + if (i[0] < 0 || i[0] >= str.length) { + $panic(new $String("reflect: string index out of range")); + } + fl$2 = (((new flag(v.flag).ro() | 8) >>> 0) | 128) >>> 0; + c[0] = str.charCodeAt(i[0]); + $s = -1; return new Value.ptr(uint8Type, ((c.$ptr || (c.$ptr = new ptrType$4(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, c)))), fl$2); + /* } else { */ case 5: + $panic(new ValueError.ptr("reflect.Value.Index", k)); + /* } */ case 6: + case 1: + $s = -1; return new Value.ptr(ptrType$1.nil, 0, 0); + /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Index }; } $f._1 = _1; $f._r = _r; $f._r$1 = _r$1; $f.a = a; $f.a$1 = a$1; $f.c = c; $f.fl = fl; $f.fl$1 = fl$1; $f.fl$2 = fl$2; $f.i = i; $f.k = k; $f.s = s; $f.str = str; $f.tt = tt; $f.tt$1 = tt$1; $f.typ = typ; $f.typ$1 = typ$1; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + Value.prototype.Index = function(i) { return this.$val.Index(i); }; + Value.ptr.prototype.InterfaceData = function() { + var v; + v = this; + $panic(errors.New("InterfaceData is not supported by GopherJS")); + }; + Value.prototype.InterfaceData = function() { return this.$val.InterfaceData(); }; + Value.ptr.prototype.IsNil = function() { + var _1, k, v; + v = this; + k = new flag(v.flag).kind(); + _1 = k; + if ((_1 === (22)) || (_1 === (23))) { + return $clone(v, Value).object() === jsType(v.typ).nil; + } else if (_1 === (18)) { + return $clone(v, Value).object() === $chanNil; + } else if (_1 === (19)) { + return $clone(v, Value).object() === $throwNilPointerError; + } else if (_1 === (21)) { + return $clone(v, Value).object() === false; + } else if (_1 === (20)) { + return $clone(v, Value).object() === $ifaceNil; + } else { + $panic(new ValueError.ptr("reflect.Value.IsNil", k)); + } + }; + Value.prototype.IsNil = function() { return this.$val.IsNil(); }; + Value.ptr.prototype.Len = function() { + var _1, k, v; + v = this; + k = new flag(v.flag).kind(); + _1 = k; + if ((_1 === (17)) || (_1 === (24))) { + return $parseInt($clone(v, Value).object().length); + } else if (_1 === (23)) { + return $parseInt($clone(v, Value).object().$length) >> 0; + } else if (_1 === (18)) { + return $parseInt($clone(v, Value).object().$buffer.length) >> 0; + } else if (_1 === (21)) { + return $parseInt($keys($clone(v, Value).object()).length); + } else { + $panic(new ValueError.ptr("reflect.Value.Len", k)); + } + }; + Value.prototype.Len = function() { return this.$val.Len(); }; + Value.ptr.prototype.Pointer = function() { + var _1, k, v; + v = this; + k = new flag(v.flag).kind(); + _1 = k; + if ((_1 === (18)) || (_1 === (21)) || (_1 === (22)) || (_1 === (26))) { + if ($clone(v, Value).IsNil()) { + return 0; + } + return $clone(v, Value).object(); + } else if (_1 === (19)) { + if ($clone(v, Value).IsNil()) { + return 0; + } + return 1; + } else if (_1 === (23)) { + if ($clone(v, Value).IsNil()) { + return 0; + } + return $clone(v, Value).object().$array; + } else { + $panic(new ValueError.ptr("reflect.Value.Pointer", k)); + } + }; + Value.prototype.Pointer = function() { return this.$val.Pointer(); }; + Value.ptr.prototype.Set = function(x) { + var _1, _r, _r$1, v, x, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; _r$1 = $f._r$1; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + v = this; + new flag(v.flag).mustBeAssignable(); + new flag(x.flag).mustBeExported(); + _r = $clone(x, Value).assignTo("reflect.Set", v.typ, 0); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + x = _r; + /* */ if (!((((v.flag & 128) >>> 0) === 0))) { $s = 2; continue; } + /* */ $s = 3; continue; + /* if (!((((v.flag & 128) >>> 0) === 0))) { */ case 2: + _1 = v.typ.Kind(); + /* */ if (_1 === (17)) { $s = 5; continue; } + /* */ if (_1 === (20)) { $s = 6; continue; } + /* */ if (_1 === (25)) { $s = 7; continue; } + /* */ $s = 8; continue; + /* if (_1 === (17)) { */ case 5: + jsType(v.typ).copy(v.ptr, x.ptr); + $s = 9; continue; + /* } else if (_1 === (20)) { */ case 6: + _r$1 = valueInterface($clone(x, Value), false); /* */ $s = 10; case 10: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + v.ptr.$set(_r$1); + $s = 9; continue; + /* } else if (_1 === (25)) { */ case 7: + copyStruct(v.ptr, x.ptr, v.typ); + $s = 9; continue; + /* } else { */ case 8: + v.ptr.$set($clone(x, Value).object()); + /* } */ case 9: + case 4: + $s = -1; return; + /* } */ case 3: + v.ptr = x.ptr; + $s = -1; return; + /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Set }; } $f._1 = _1; $f._r = _r; $f._r$1 = _r$1; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; + }; + Value.prototype.Set = function(x) { return this.$val.Set(x); }; + Value.ptr.prototype.SetBytes = function(x) { + var _r, _r$1, _v, slice, typedSlice, v, x, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _v = $f._v; slice = $f.slice; typedSlice = $f.typedSlice; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + v = this; + new flag(v.flag).mustBeAssignable(); + new flag(v.flag).mustBe(23); + _r = v.typ.Elem().Kind(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + /* */ if (!((_r === 8))) { $s = 1; continue; } + /* */ $s = 2; continue; + /* if (!((_r === 8))) { */ case 1: + $panic(new $String("reflect.Value.SetBytes of non-byte slice")); + /* } */ case 2: + slice = x; + if (!(v.typ.Name() === "")) { _v = true; $s = 6; continue s; } + _r$1 = v.typ.Elem().Name(); /* */ $s = 7; case 7: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + _v = !(_r$1 === ""); case 6: + /* */ if (_v) { $s = 4; continue; } + /* */ $s = 5; continue; + /* if (_v) { */ case 4: + typedSlice = new (jsType(v.typ))(slice.$array); + typedSlice.$offset = slice.$offset; + typedSlice.$length = slice.$length; + typedSlice.$capacity = slice.$capacity; + slice = typedSlice; + /* } */ case 5: + v.ptr.$set(slice); + $s = -1; return; + /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.SetBytes }; } $f._r = _r; $f._r$1 = _r$1; $f._v = _v; $f.slice = slice; $f.typedSlice = typedSlice; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; + }; + Value.prototype.SetBytes = function(x) { return this.$val.SetBytes(x); }; + Value.ptr.prototype.SetCap = function(n) { + var n, newSlice, s, v; + v = this; + new flag(v.flag).mustBeAssignable(); + new flag(v.flag).mustBe(23); + s = v.ptr.$get(); + if (n < ($parseInt(s.$length) >> 0) || n > ($parseInt(s.$capacity) >> 0)) { + $panic(new $String("reflect: slice capacity out of range in SetCap")); + } + newSlice = new (jsType(v.typ))(s.$array); + newSlice.$offset = s.$offset; + newSlice.$length = s.$length; + newSlice.$capacity = n; + v.ptr.$set(newSlice); + }; + Value.prototype.SetCap = function(n) { return this.$val.SetCap(n); }; + Value.ptr.prototype.SetLen = function(n) { + var n, newSlice, s, v; + v = this; + new flag(v.flag).mustBeAssignable(); + new flag(v.flag).mustBe(23); + s = v.ptr.$get(); + if (n < 0 || n > ($parseInt(s.$capacity) >> 0)) { + $panic(new $String("reflect: slice length out of range in SetLen")); + } + newSlice = new (jsType(v.typ))(s.$array); + newSlice.$offset = s.$offset; + newSlice.$length = n; + newSlice.$capacity = s.$capacity; + v.ptr.$set(newSlice); + }; + Value.prototype.SetLen = function(n) { return this.$val.SetLen(n); }; + Value.ptr.prototype.Slice = function(i, j) { + var _1, _r, _r$1, cap, i, j, kind, s, str, tt, typ, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; _r$1 = $f._r$1; cap = $f.cap; i = $f.i; j = $f.j; kind = $f.kind; s = $f.s; str = $f.str; tt = $f.tt; typ = $f.typ; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + v = this; + cap = 0; + typ = $ifaceNil; + s = null; + kind = new flag(v.flag).kind(); + _1 = kind; + /* */ if (_1 === (17)) { $s = 2; continue; } + /* */ if (_1 === (23)) { $s = 3; continue; } + /* */ if (_1 === (24)) { $s = 4; continue; } + /* */ $s = 5; continue; + /* if (_1 === (17)) { */ case 2: + if (((v.flag & 256) >>> 0) === 0) { + $panic(new $String("reflect.Value.Slice: slice of unaddressable array")); + } + tt = (v.typ.kindType); + cap = ((tt.len >> 0)); + typ = SliceOf(tt.elem); + s = new (jsType(typ))($clone(v, Value).object()); + $s = 6; continue; + /* } else if (_1 === (23)) { */ case 3: + typ = v.typ; + s = $clone(v, Value).object(); + cap = $parseInt(s.$capacity) >> 0; + $s = 6; continue; + /* } else if (_1 === (24)) { */ case 4: + str = (v.ptr).$get(); + if (i < 0 || j < i || j > str.length) { + $panic(new $String("reflect.Value.Slice: string slice index out of bounds")); + } + _r = ValueOf(new $String($substring(str, i, j))); /* */ $s = 7; case 7: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + $s = -1; return _r; + /* } else { */ case 5: + $panic(new ValueError.ptr("reflect.Value.Slice", kind)); + /* } */ case 6: + case 1: + if (i < 0 || j < i || j > cap) { + $panic(new $String("reflect.Value.Slice: slice index out of bounds")); + } + _r$1 = makeValue(typ, $subslice(s, i, j), new flag(v.flag).ro()); /* */ $s = 8; case 8: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + $s = -1; return _r$1; + /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Slice }; } $f._1 = _1; $f._r = _r; $f._r$1 = _r$1; $f.cap = cap; $f.i = i; $f.j = j; $f.kind = kind; $f.s = s; $f.str = str; $f.tt = tt; $f.typ = typ; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + Value.prototype.Slice = function(i, j) { return this.$val.Slice(i, j); }; + Value.ptr.prototype.Slice3 = function(i, j, k) { + var _1, _r, cap, i, j, k, kind, s, tt, typ, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; cap = $f.cap; i = $f.i; j = $f.j; k = $f.k; kind = $f.kind; s = $f.s; tt = $f.tt; typ = $f.typ; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + v = this; + cap = 0; + typ = $ifaceNil; + s = null; + kind = new flag(v.flag).kind(); + _1 = kind; + if (_1 === (17)) { + if (((v.flag & 256) >>> 0) === 0) { + $panic(new $String("reflect.Value.Slice: slice of unaddressable array")); + } + tt = (v.typ.kindType); + cap = ((tt.len >> 0)); + typ = SliceOf(tt.elem); + s = new (jsType(typ))($clone(v, Value).object()); + } else if (_1 === (23)) { + typ = v.typ; + s = $clone(v, Value).object(); + cap = $parseInt(s.$capacity) >> 0; + } else { + $panic(new ValueError.ptr("reflect.Value.Slice3", kind)); + } + if (i < 0 || j < i || k < j || k > cap) { + $panic(new $String("reflect.Value.Slice3: slice index out of bounds")); + } + _r = makeValue(typ, $subslice(s, i, j, k), new flag(v.flag).ro()); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + $s = -1; return _r; + /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Slice3 }; } $f._1 = _1; $f._r = _r; $f.cap = cap; $f.i = i; $f.j = j; $f.k = k; $f.kind = kind; $f.s = s; $f.tt = tt; $f.typ = typ; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + Value.prototype.Slice3 = function(i, j, k) { return this.$val.Slice3(i, j, k); }; + Value.ptr.prototype.Close = function() { + var v; + v = this; + new flag(v.flag).mustBe(18); + new flag(v.flag).mustBeExported(); + $close($clone(v, Value).object()); + }; + Value.prototype.Close = function() { return this.$val.Close(); }; + chanrecv = function(ch, nb, val) { + var _r, _tmp, _tmp$1, _tmp$2, _tmp$3, ch, comms, nb, received, recvRes, selectRes, selected, val, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; ch = $f.ch; comms = $f.comms; nb = $f.nb; received = $f.received; recvRes = $f.recvRes; selectRes = $f.selectRes; selected = $f.selected; val = $f.val; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + selected = false; + received = false; + comms = new sliceType$11([new sliceType$8([ch])]); + if (nb) { + comms = $append(comms, new sliceType$8([])); + } + _r = selectHelper(new sliceType$3([comms])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + selectRes = _r; + if (nb && (($parseInt(selectRes[0]) >> 0) === 1)) { + _tmp = false; + _tmp$1 = false; + selected = _tmp; + received = _tmp$1; + $s = -1; return [selected, received]; + } + recvRes = selectRes[1]; + val.$set(recvRes[0]); + _tmp$2 = true; + _tmp$3 = !!(recvRes[1]); + selected = _tmp$2; + received = _tmp$3; + $s = -1; return [selected, received]; + /* */ } return; } if ($f === undefined) { $f = { $blk: chanrecv }; } $f._r = _r; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f.ch = ch; $f.comms = comms; $f.nb = nb; $f.received = received; $f.recvRes = recvRes; $f.selectRes = selectRes; $f.selected = selected; $f.val = val; $f.$s = $s; $f.$r = $r; return $f; + }; + chansend = function(ch, val, nb) { + var _r, ch, comms, nb, selectRes, val, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; ch = $f.ch; comms = $f.comms; nb = $f.nb; selectRes = $f.selectRes; val = $f.val; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + comms = new sliceType$11([new sliceType$8([ch, val.$get()])]); + if (nb) { + comms = $append(comms, new sliceType$8([])); + } + _r = selectHelper(new sliceType$3([comms])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + selectRes = _r; + if (nb && (($parseInt(selectRes[0]) >> 0) === 1)) { + $s = -1; return false; + } + $s = -1; return true; + /* */ } return; } if ($f === undefined) { $f = { $blk: chansend }; } $f._r = _r; $f.ch = ch; $f.comms = comms; $f.nb = nb; $f.selectRes = selectRes; $f.val = val; $f.$s = $s; $f.$r = $r; return $f; + }; + DeepEqual = function(a1, a2) { + var _arg, _arg$1, _arg$2, _r, _r$1, _r$2, a1, a2, i1, i2, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; a1 = $f.a1; a2 = $f.a2; i1 = $f.i1; i2 = $f.i2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + i1 = a1; + i2 = a2; + if (i1 === i2) { + $s = -1; return true; + } + if (i1 === null || i2 === null || !(i1.constructor === i2.constructor)) { + $s = -1; return false; + } + _r = ValueOf(a1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + _arg = $clone(_r, Value); + _r$1 = ValueOf(a2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + _arg$1 = $clone(_r$1, Value); + _arg$2 = sliceType$12.nil; + _r$2 = deepValueEqualJs(_arg, _arg$1, _arg$2); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } + $s = -1; return _r$2; + /* */ } return; } if ($f === undefined) { $f = { $blk: DeepEqual }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.a1 = a1; $f.a2 = a2; $f.i1 = i1; $f.i2 = i2; $f.$s = $s; $f.$r = $r; return $f; + }; + $pkg.DeepEqual = DeepEqual; + deepValueEqualJs = function(v1, v2, visited) { + var _1, _2, _arg, _arg$1, _arg$10, _arg$11, _arg$2, _arg$3, _arg$4, _arg$5, _arg$6, _arg$7, _arg$8, _arg$9, _i, _i$1, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$16, _r$17, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, _ref$1, _v, entry, i, i$1, k, keys, n, n$1, v1, v2, val1, val2, visited, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _2 = $f._2; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$10 = $f._arg$10; _arg$11 = $f._arg$11; _arg$2 = $f._arg$2; _arg$3 = $f._arg$3; _arg$4 = $f._arg$4; _arg$5 = $f._arg$5; _arg$6 = $f._arg$6; _arg$7 = $f._arg$7; _arg$8 = $f._arg$8; _arg$9 = $f._arg$9; _i = $f._i; _i$1 = $f._i$1; _r = $f._r; _r$1 = $f._r$1; _r$10 = $f._r$10; _r$11 = $f._r$11; _r$12 = $f._r$12; _r$13 = $f._r$13; _r$14 = $f._r$14; _r$15 = $f._r$15; _r$16 = $f._r$16; _r$17 = $f._r$17; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _r$8 = $f._r$8; _r$9 = $f._r$9; _ref = $f._ref; _ref$1 = $f._ref$1; _v = $f._v; entry = $f.entry; i = $f.i; i$1 = $f.i$1; k = $f.k; keys = $f.keys; n = $f.n; n$1 = $f.n$1; v1 = $f.v1; v2 = $f.v2; val1 = $f.val1; val2 = $f.val2; visited = $f.visited; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + if (!$clone(v1, Value).IsValid() || !$clone(v2, Value).IsValid()) { + $s = -1; return !$clone(v1, Value).IsValid() && !$clone(v2, Value).IsValid(); + } + if (!($interfaceIsEqual($clone(v1, Value).Type(), $clone(v2, Value).Type()))) { + $s = -1; return false; + } + if ($interfaceIsEqual($clone(v1, Value).Type(), jsObjectPtr)) { + $s = -1; return unwrapJsObject(jsObjectPtr, $clone(v1, Value).object()) === unwrapJsObject(jsObjectPtr, $clone(v2, Value).object()); + } + _1 = $clone(v1, Value).Kind(); + if ((_1 === (17)) || (_1 === (21)) || (_1 === (23)) || (_1 === (25))) { + _ref = visited; + _i = 0; + while (true) { + if (!(_i < _ref.$length)) { break; } + entry = $clone(((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]), arrayType$1); + if (v1.ptr === entry[0] && v2.ptr === entry[1]) { + $s = -1; return true; + } + _i++; + } + visited = $append(visited, $toNativeArray($kindUnsafePointer, [v1.ptr, v2.ptr])); + } + _2 = $clone(v1, Value).Kind(); + /* */ if ((_2 === (17)) || (_2 === (23))) { $s = 2; continue; } + /* */ if (_2 === (20)) { $s = 3; continue; } + /* */ if (_2 === (22)) { $s = 4; continue; } + /* */ if (_2 === (25)) { $s = 5; continue; } + /* */ if (_2 === (21)) { $s = 6; continue; } + /* */ if (_2 === (19)) { $s = 7; continue; } + /* */ if (_2 === (26)) { $s = 8; continue; } + /* */ $s = 9; continue; + /* if ((_2 === (17)) || (_2 === (23))) { */ case 2: + if ($clone(v1, Value).Kind() === 23) { + if (!($clone(v1, Value).IsNil() === $clone(v2, Value).IsNil())) { + $s = -1; return false; + } + if ($clone(v1, Value).object() === $clone(v2, Value).object()) { + $s = -1; return true; + } + } + n = $clone(v1, Value).Len(); + if (!((n === $clone(v2, Value).Len()))) { + $s = -1; return false; + } + i = 0; + /* while (true) { */ case 10: + /* if (!(i < n)) { break; } */ if(!(i < n)) { $s = 11; continue; } + _r = $clone(v1, Value).Index(i); /* */ $s = 14; case 14: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + _arg = $clone(_r, Value); + _r$1 = $clone(v2, Value).Index(i); /* */ $s = 15; case 15: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + _arg$1 = $clone(_r$1, Value); + _arg$2 = visited; + _r$2 = deepValueEqualJs(_arg, _arg$1, _arg$2); /* */ $s = 16; case 16: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } + /* */ if (!_r$2) { $s = 12; continue; } + /* */ $s = 13; continue; + /* if (!_r$2) { */ case 12: + $s = -1; return false; + /* } */ case 13: + i = i + (1) >> 0; + /* } */ $s = 10; continue; case 11: + $s = -1; return true; + /* } else if (_2 === (20)) { */ case 3: + if ($clone(v1, Value).IsNil() || $clone(v2, Value).IsNil()) { + $s = -1; return $clone(v1, Value).IsNil() && $clone(v2, Value).IsNil(); + } + _r$3 = $clone(v1, Value).Elem(); /* */ $s = 17; case 17: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; } + _arg$3 = $clone(_r$3, Value); + _r$4 = $clone(v2, Value).Elem(); /* */ $s = 18; case 18: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; } + _arg$4 = $clone(_r$4, Value); + _arg$5 = visited; + _r$5 = deepValueEqualJs(_arg$3, _arg$4, _arg$5); /* */ $s = 19; case 19: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; } + $s = -1; return _r$5; + /* } else if (_2 === (22)) { */ case 4: + _r$6 = $clone(v1, Value).Elem(); /* */ $s = 20; case 20: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; } + _arg$6 = $clone(_r$6, Value); + _r$7 = $clone(v2, Value).Elem(); /* */ $s = 21; case 21: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; } + _arg$7 = $clone(_r$7, Value); + _arg$8 = visited; + _r$8 = deepValueEqualJs(_arg$6, _arg$7, _arg$8); /* */ $s = 22; case 22: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; } + $s = -1; return _r$8; + /* } else if (_2 === (25)) { */ case 5: + n$1 = $clone(v1, Value).NumField(); + i$1 = 0; + /* while (true) { */ case 23: + /* if (!(i$1 < n$1)) { break; } */ if(!(i$1 < n$1)) { $s = 24; continue; } + _r$9 = $clone(v1, Value).Field(i$1); /* */ $s = 27; case 27: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; } + _arg$9 = $clone(_r$9, Value); + _r$10 = $clone(v2, Value).Field(i$1); /* */ $s = 28; case 28: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; } + _arg$10 = $clone(_r$10, Value); + _arg$11 = visited; + _r$11 = deepValueEqualJs(_arg$9, _arg$10, _arg$11); /* */ $s = 29; case 29: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; } + /* */ if (!_r$11) { $s = 25; continue; } + /* */ $s = 26; continue; + /* if (!_r$11) { */ case 25: + $s = -1; return false; + /* } */ case 26: + i$1 = i$1 + (1) >> 0; + /* } */ $s = 23; continue; case 24: + $s = -1; return true; + /* } else if (_2 === (21)) { */ case 6: + if (!($clone(v1, Value).IsNil() === $clone(v2, Value).IsNil())) { + $s = -1; return false; + } + if ($clone(v1, Value).object() === $clone(v2, Value).object()) { + $s = -1; return true; + } + _r$12 = $clone(v1, Value).MapKeys(); /* */ $s = 30; case 30: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; } + keys = _r$12; + if (!((keys.$length === $clone(v2, Value).Len()))) { + $s = -1; return false; + } + _ref$1 = keys; + _i$1 = 0; + /* while (true) { */ case 31: + /* if (!(_i$1 < _ref$1.$length)) { break; } */ if(!(_i$1 < _ref$1.$length)) { $s = 32; continue; } + k = ((_i$1 < 0 || _i$1 >= _ref$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$1.$array[_ref$1.$offset + _i$1]); + _r$13 = $clone(v1, Value).MapIndex($clone(k, Value)); /* */ $s = 33; case 33: if($c) { $c = false; _r$13 = _r$13.$blk(); } if (_r$13 && _r$13.$blk !== undefined) { break s; } + val1 = _r$13; + _r$14 = $clone(v2, Value).MapIndex($clone(k, Value)); /* */ $s = 34; case 34: if($c) { $c = false; _r$14 = _r$14.$blk(); } if (_r$14 && _r$14.$blk !== undefined) { break s; } + val2 = _r$14; + if (!$clone(val1, Value).IsValid() || !$clone(val2, Value).IsValid()) { _v = true; $s = 37; continue s; } + _r$15 = deepValueEqualJs($clone(val1, Value), $clone(val2, Value), visited); /* */ $s = 38; case 38: if($c) { $c = false; _r$15 = _r$15.$blk(); } if (_r$15 && _r$15.$blk !== undefined) { break s; } + _v = !_r$15; case 37: + /* */ if (_v) { $s = 35; continue; } + /* */ $s = 36; continue; + /* if (_v) { */ case 35: + $s = -1; return false; + /* } */ case 36: + _i$1++; + /* } */ $s = 31; continue; case 32: + $s = -1; return true; + /* } else if (_2 === (19)) { */ case 7: + $s = -1; return $clone(v1, Value).IsNil() && $clone(v2, Value).IsNil(); + /* } else if (_2 === (26)) { */ case 8: + $s = -1; return $clone(v1, Value).object() === $clone(v2, Value).object(); + /* } */ case 9: + case 1: + _r$16 = valueInterface($clone(v1, Value), false); /* */ $s = 39; case 39: if($c) { $c = false; _r$16 = _r$16.$blk(); } if (_r$16 && _r$16.$blk !== undefined) { break s; } + _r$17 = valueInterface($clone(v2, Value), false); /* */ $s = 40; case 40: if($c) { $c = false; _r$17 = _r$17.$blk(); } if (_r$17 && _r$17.$blk !== undefined) { break s; } + $s = -1; return !!($interfaceIsEqual(_r$16, _r$17)); + /* */ } return; } if ($f === undefined) { $f = { $blk: deepValueEqualJs }; } $f._1 = _1; $f._2 = _2; $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$10 = _arg$10; $f._arg$11 = _arg$11; $f._arg$2 = _arg$2; $f._arg$3 = _arg$3; $f._arg$4 = _arg$4; $f._arg$5 = _arg$5; $f._arg$6 = _arg$6; $f._arg$7 = _arg$7; $f._arg$8 = _arg$8; $f._arg$9 = _arg$9; $f._i = _i; $f._i$1 = _i$1; $f._r = _r; $f._r$1 = _r$1; $f._r$10 = _r$10; $f._r$11 = _r$11; $f._r$12 = _r$12; $f._r$13 = _r$13; $f._r$14 = _r$14; $f._r$15 = _r$15; $f._r$16 = _r$16; $f._r$17 = _r$17; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._r$8 = _r$8; $f._r$9 = _r$9; $f._ref = _ref; $f._ref$1 = _ref$1; $f._v = _v; $f.entry = entry; $f.i = i; $f.i$1 = i$1; $f.k = k; $f.keys = keys; $f.n = n; $f.n$1 = n$1; $f.v1 = v1; $f.v2 = v2; $f.val1 = val1; $f.val2 = val2; $f.visited = visited; $f.$s = $s; $f.$r = $r; return $f; + }; + Swapper = function(slice) { + var _1, _r, a, off, slice, v, vLen, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; a = $f.a; off = $f.off; slice = $f.slice; v = $f.v; vLen = $f.vLen; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + a = [a]; + off = [off]; + vLen = [vLen]; + _r = ValueOf(slice); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + v = _r; + if (!(($clone(v, Value).Kind() === 23))) { + $panic(new ValueError.ptr("Swapper", $clone(v, Value).Kind())); + } + vLen[0] = (($clone(v, Value).Len() >>> 0)); + _1 = vLen[0]; + if (_1 === (0)) { + $s = -1; return (function(a, off, vLen) { return function(i, j) { + var i, j; + $panic(new $String("reflect: slice index out of range")); + }; })(a, off, vLen); + } else if (_1 === (1)) { + $s = -1; return (function(a, off, vLen) { return function(i, j) { + var i, j; + if (!((i === 0)) || !((j === 0))) { + $panic(new $String("reflect: slice index out of range")); + } + }; })(a, off, vLen); + } + a[0] = slice.$array; + off[0] = $parseInt(slice.$offset) >> 0; + $s = -1; return (function(a, off, vLen) { return function(i, j) { + var i, j, tmp; + if (((i >>> 0)) >= vLen[0] || ((j >>> 0)) >= vLen[0]) { + $panic(new $String("reflect: slice index out of range")); + } + i = i + (off[0]) >> 0; + j = j + (off[0]) >> 0; + tmp = a[0][i]; + a[0][i] = a[0][j]; + a[0][j] = tmp; + }; })(a, off, vLen); + /* */ } return; } if ($f === undefined) { $f = { $blk: Swapper }; } $f._1 = _1; $f._r = _r; $f.a = a; $f.off = off; $f.slice = slice; $f.v = v; $f.vLen = vLen; $f.$s = $s; $f.$r = $r; return $f; + }; + $pkg.Swapper = Swapper; + structField.ptr.prototype.offset = function() { + var f; + f = this; + return f.offsetEmbed >>> 1 >>> 0; + }; + structField.prototype.offset = function() { return this.$val.offset(); }; + structField.ptr.prototype.embedded = function() { + var f; + f = this; + return !((((f.offsetEmbed & 1) >>> 0) === 0)); + }; + structField.prototype.embedded = function() { return this.$val.embedded(); }; + Kind.prototype.String = function() { + var k; + k = this.$val; + if (((k >> 0)) < kindNames.$length) { + return ((k < 0 || k >= kindNames.$length) ? ($throwRuntimeError("index out of range"), undefined) : kindNames.$array[kindNames.$offset + k]); + } + return "kind" + strconv.Itoa(((k >> 0))); + }; + $ptrType(Kind).prototype.String = function() { return new Kind(this.$get()).String(); }; + rtype.ptr.prototype.String = function() { + var s, t; + t = this; + s = $clone(t.nameOff(t.str), name).name(); + if (!((((t.tflag & 2) >>> 0) === 0))) { + return $substring(s, 1); + } + return s; + }; + rtype.prototype.String = function() { return this.$val.String(); }; + rtype.ptr.prototype.Size = function() { + var t; + t = this; + return t.size; + }; + rtype.prototype.Size = function() { return this.$val.Size(); }; + rtype.ptr.prototype.Bits = function() { + var k, t; + t = this; + if (t === ptrType$1.nil) { + $panic(new $String("reflect: Bits of nil Type")); + } + k = t.Kind(); + if (k < 2 || k > 16) { + $panic(new $String("reflect: Bits of non-arithmetic Type " + t.String())); + } + return $imul(((t.size >> 0)), 8); + }; + rtype.prototype.Bits = function() { return this.$val.Bits(); }; + rtype.ptr.prototype.Align = function() { + var t; + t = this; + return ((t.align >> 0)); + }; + rtype.prototype.Align = function() { return this.$val.Align(); }; + rtype.ptr.prototype.FieldAlign = function() { + var t; + t = this; + return ((t.fieldAlign >> 0)); + }; + rtype.prototype.FieldAlign = function() { return this.$val.FieldAlign(); }; + rtype.ptr.prototype.Kind = function() { + var t; + t = this; + return ((((t.kind & 31) >>> 0) >>> 0)); + }; + rtype.prototype.Kind = function() { return this.$val.Kind(); }; + rtype.ptr.prototype.common = function() { + var t; + t = this; + return t; + }; + rtype.prototype.common = function() { return this.$val.common(); }; + rtype.ptr.prototype.exportedMethods = function() { + var t, ut; + t = this; + ut = t.uncommon(); + if (ut === ptrType$5.nil) { + return sliceType$5.nil; + } + return ut.exportedMethods(); + }; + rtype.prototype.exportedMethods = function() { return this.$val.exportedMethods(); }; + rtype.ptr.prototype.NumMethod = function() { + var t, tt; + t = this; + if (t.Kind() === 20) { + tt = (t.kindType); + return tt.NumMethod(); + } + return t.exportedMethods().$length; + }; + rtype.prototype.NumMethod = function() { return this.$val.NumMethod(); }; + rtype.ptr.prototype.MethodByName = function(name$1) { + var _i, _r, _ref, _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tuple, i, m, name$1, ok, p, t, tt, ut, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _r = $f._r; _ref = $f._ref; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; _tmp$4 = $f._tmp$4; _tmp$5 = $f._tmp$5; _tuple = $f._tuple; i = $f.i; m = $f.m; name$1 = $f.name$1; ok = $f.ok; p = $f.p; t = $f.t; tt = $f.tt; ut = $f.ut; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + m = new Method.ptr("", "", $ifaceNil, new Value.ptr(ptrType$1.nil, 0, 0), 0); + ok = false; + t = this; + if (t.Kind() === 20) { + tt = (t.kindType); + _tuple = tt.MethodByName(name$1); + Method.copy(m, _tuple[0]); + ok = _tuple[1]; + $s = -1; return [m, ok]; + } + ut = t.uncommon(); + if (ut === ptrType$5.nil) { + _tmp = new Method.ptr("", "", $ifaceNil, new Value.ptr(ptrType$1.nil, 0, 0), 0); + _tmp$1 = false; + Method.copy(m, _tmp); + ok = _tmp$1; + $s = -1; return [m, ok]; + } + _ref = ut.exportedMethods(); + _i = 0; + /* while (true) { */ case 1: + /* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 2; continue; } + i = _i; + p = $clone(((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]), method); + /* */ if ($clone(t.nameOff(p.name), name).name() === name$1) { $s = 3; continue; } + /* */ $s = 4; continue; + /* if ($clone(t.nameOff(p.name), name).name() === name$1) { */ case 3: + _r = t.Method(i); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + _tmp$2 = $clone(_r, Method); + _tmp$3 = true; + Method.copy(m, _tmp$2); + ok = _tmp$3; + $s = -1; return [m, ok]; + /* } */ case 4: + _i++; + /* } */ $s = 1; continue; case 2: + _tmp$4 = new Method.ptr("", "", $ifaceNil, new Value.ptr(ptrType$1.nil, 0, 0), 0); + _tmp$5 = false; + Method.copy(m, _tmp$4); + ok = _tmp$5; + $s = -1; return [m, ok]; + /* */ } return; } if ($f === undefined) { $f = { $blk: rtype.ptr.prototype.MethodByName }; } $f._i = _i; $f._r = _r; $f._ref = _ref; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f._tmp$4 = _tmp$4; $f._tmp$5 = _tmp$5; $f._tuple = _tuple; $f.i = i; $f.m = m; $f.name$1 = name$1; $f.ok = ok; $f.p = p; $f.t = t; $f.tt = tt; $f.ut = ut; $f.$s = $s; $f.$r = $r; return $f; + }; + rtype.prototype.MethodByName = function(name$1) { return this.$val.MethodByName(name$1); }; + rtype.ptr.prototype.PkgPath = function() { + var t, ut; + t = this; + if (((t.tflag & 4) >>> 0) === 0) { + return ""; + } + ut = t.uncommon(); + if (ut === ptrType$5.nil) { + return ""; + } + return $clone(t.nameOff(ut.pkgPath), name).name(); + }; + rtype.prototype.PkgPath = function() { return this.$val.PkgPath(); }; + rtype.ptr.prototype.Name = function() { + var i, s, t; + t = this; + if (((t.tflag & 4) >>> 0) === 0) { + return ""; + } + s = t.String(); + i = s.length - 1 >> 0; + while (true) { + if (!(i >= 0)) { break; } + if (s.charCodeAt(i) === 46) { + break; + } + i = i - (1) >> 0; + } + return $substring(s, (i + 1 >> 0)); + }; + rtype.prototype.Name = function() { return this.$val.Name(); }; + rtype.ptr.prototype.ChanDir = function() { + var t, tt; + t = this; + if (!((t.Kind() === 18))) { + $panic(new $String("reflect: ChanDir of non-chan type")); + } + tt = (t.kindType); + return ((tt.dir >> 0)); + }; + rtype.prototype.ChanDir = function() { return this.$val.ChanDir(); }; + rtype.ptr.prototype.IsVariadic = function() { + var t, tt; + t = this; + if (!((t.Kind() === 19))) { + $panic(new $String("reflect: IsVariadic of non-func type")); + } + tt = (t.kindType); + return !((((tt.outCount & 32768) >>> 0) === 0)); + }; + rtype.prototype.IsVariadic = function() { return this.$val.IsVariadic(); }; + rtype.ptr.prototype.Elem = function() { + var _1, t, tt, tt$1, tt$2, tt$3, tt$4; + t = this; + _1 = t.Kind(); + if (_1 === (17)) { + tt = (t.kindType); + return toType(tt.elem); + } else if (_1 === (18)) { + tt$1 = (t.kindType); + return toType(tt$1.elem); + } else if (_1 === (21)) { + tt$2 = (t.kindType); + return toType(tt$2.elem); + } else if (_1 === (22)) { + tt$3 = (t.kindType); + return toType(tt$3.elem); + } else if (_1 === (23)) { + tt$4 = (t.kindType); + return toType(tt$4.elem); + } + $panic(new $String("reflect: Elem of invalid type")); + }; + rtype.prototype.Elem = function() { return this.$val.Elem(); }; + rtype.ptr.prototype.Field = function(i) { + var i, t, tt; + t = this; + if (!((t.Kind() === 25))) { + $panic(new $String("reflect: Field of non-struct type")); + } + tt = (t.kindType); + return tt.Field(i); + }; + rtype.prototype.Field = function(i) { return this.$val.Field(i); }; + rtype.ptr.prototype.FieldByIndex = function(index) { + var _r, index, t, tt, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; index = $f.index; t = $f.t; tt = $f.tt; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + t = this; + if (!((t.Kind() === 25))) { + $panic(new $String("reflect: FieldByIndex of non-struct type")); + } + tt = (t.kindType); + _r = tt.FieldByIndex(index); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + $s = -1; return _r; + /* */ } return; } if ($f === undefined) { $f = { $blk: rtype.ptr.prototype.FieldByIndex }; } $f._r = _r; $f.index = index; $f.t = t; $f.tt = tt; $f.$s = $s; $f.$r = $r; return $f; + }; + rtype.prototype.FieldByIndex = function(index) { return this.$val.FieldByIndex(index); }; + rtype.ptr.prototype.FieldByName = function(name$1) { + var _r, name$1, t, tt, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; name$1 = $f.name$1; t = $f.t; tt = $f.tt; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + t = this; + if (!((t.Kind() === 25))) { + $panic(new $String("reflect: FieldByName of non-struct type")); + } + tt = (t.kindType); + _r = tt.FieldByName(name$1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + $s = -1; return _r; + /* */ } return; } if ($f === undefined) { $f = { $blk: rtype.ptr.prototype.FieldByName }; } $f._r = _r; $f.name$1 = name$1; $f.t = t; $f.tt = tt; $f.$s = $s; $f.$r = $r; return $f; + }; + rtype.prototype.FieldByName = function(name$1) { return this.$val.FieldByName(name$1); }; + rtype.ptr.prototype.FieldByNameFunc = function(match) { + var _r, match, t, tt, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; match = $f.match; t = $f.t; tt = $f.tt; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + t = this; + if (!((t.Kind() === 25))) { + $panic(new $String("reflect: FieldByNameFunc of non-struct type")); + } + tt = (t.kindType); + _r = tt.FieldByNameFunc(match); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + $s = -1; return _r; + /* */ } return; } if ($f === undefined) { $f = { $blk: rtype.ptr.prototype.FieldByNameFunc }; } $f._r = _r; $f.match = match; $f.t = t; $f.tt = tt; $f.$s = $s; $f.$r = $r; return $f; + }; + rtype.prototype.FieldByNameFunc = function(match) { return this.$val.FieldByNameFunc(match); }; + rtype.ptr.prototype.In = function(i) { + var i, t, tt, x; + t = this; + if (!((t.Kind() === 19))) { + $panic(new $String("reflect: In of non-func type")); + } + tt = (t.kindType); + return toType((x = tt.in$(), ((i < 0 || i >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + i]))); + }; + rtype.prototype.In = function(i) { return this.$val.In(i); }; + rtype.ptr.prototype.Key = function() { + var t, tt; + t = this; + if (!((t.Kind() === 21))) { + $panic(new $String("reflect: Key of non-map type")); + } + tt = (t.kindType); + return toType(tt.key); + }; + rtype.prototype.Key = function() { return this.$val.Key(); }; + rtype.ptr.prototype.Len = function() { + var t, tt; + t = this; + if (!((t.Kind() === 17))) { + $panic(new $String("reflect: Len of non-array type")); + } + tt = (t.kindType); + return ((tt.len >> 0)); + }; + rtype.prototype.Len = function() { return this.$val.Len(); }; + rtype.ptr.prototype.NumField = function() { + var t, tt; + t = this; + if (!((t.Kind() === 25))) { + $panic(new $String("reflect: NumField of non-struct type")); + } + tt = (t.kindType); + return tt.fields.$length; + }; + rtype.prototype.NumField = function() { return this.$val.NumField(); }; + rtype.ptr.prototype.NumIn = function() { + var t, tt; + t = this; + if (!((t.Kind() === 19))) { + $panic(new $String("reflect: NumIn of non-func type")); + } + tt = (t.kindType); + return ((tt.inCount >> 0)); + }; + rtype.prototype.NumIn = function() { return this.$val.NumIn(); }; + rtype.ptr.prototype.NumOut = function() { + var t, tt; + t = this; + if (!((t.Kind() === 19))) { + $panic(new $String("reflect: NumOut of non-func type")); + } + tt = (t.kindType); + return tt.out().$length; + }; + rtype.prototype.NumOut = function() { return this.$val.NumOut(); }; + rtype.ptr.prototype.Out = function(i) { + var i, t, tt, x; + t = this; + if (!((t.Kind() === 19))) { + $panic(new $String("reflect: Out of non-func type")); + } + tt = (t.kindType); + return toType((x = tt.out(), ((i < 0 || i >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + i]))); + }; + rtype.prototype.Out = function(i) { return this.$val.Out(i); }; + ChanDir.prototype.String = function() { + var _1, d; + d = this.$val; + _1 = d; + if (_1 === (2)) { + return "chan<-"; + } else if (_1 === (1)) { + return "<-chan"; + } else if (_1 === (3)) { + return "chan"; + } + return "ChanDir" + strconv.Itoa(((d >> 0))); + }; + $ptrType(ChanDir).prototype.String = function() { return new ChanDir(this.$get()).String(); }; + interfaceType.ptr.prototype.Method = function(i) { + var i, m, p, pname, t, x; + m = new Method.ptr("", "", $ifaceNil, new Value.ptr(ptrType$1.nil, 0, 0), 0); + t = this; + if (i < 0 || i >= t.methods.$length) { + return m; + } + p = (x = t.methods, ((i < 0 || i >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + i])); + pname = $clone(t.rtype.nameOff(p.name), name); + m.Name = $clone(pname, name).name(); + if (!$clone(pname, name).isExported()) { + m.PkgPath = $clone(pname, name).pkgPath(); + if (m.PkgPath === "") { + m.PkgPath = $clone(t.pkgPath, name).name(); + } + } + m.Type = toType(t.rtype.typeOff(p.typ)); + m.Index = i; + return m; + }; + interfaceType.prototype.Method = function(i) { return this.$val.Method(i); }; + interfaceType.ptr.prototype.NumMethod = function() { + var t; + t = this; + return t.methods.$length; + }; + interfaceType.prototype.NumMethod = function() { return this.$val.NumMethod(); }; + interfaceType.ptr.prototype.MethodByName = function(name$1) { + var _i, _ref, _tmp, _tmp$1, i, m, name$1, ok, p, t, x; + m = new Method.ptr("", "", $ifaceNil, new Value.ptr(ptrType$1.nil, 0, 0), 0); + ok = false; + t = this; + if (t === ptrType$7.nil) { + return [m, ok]; + } + p = ptrType$8.nil; + _ref = t.methods; + _i = 0; + while (true) { + if (!(_i < _ref.$length)) { break; } + i = _i; + p = (x = t.methods, ((i < 0 || i >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + i])); + if ($clone(t.rtype.nameOff(p.name), name).name() === name$1) { + _tmp = $clone(t.Method(i), Method); + _tmp$1 = true; + Method.copy(m, _tmp); + ok = _tmp$1; + return [m, ok]; + } + _i++; + } + return [m, ok]; + }; + interfaceType.prototype.MethodByName = function(name$1) { return this.$val.MethodByName(name$1); }; + StructTag.prototype.Get = function(key) { + var _tuple, key, tag, v; + tag = this.$val; + _tuple = new StructTag(tag).Lookup(key); + v = _tuple[0]; + return v; + }; + $ptrType(StructTag).prototype.Get = function(key) { return new StructTag(this.$get()).Get(key); }; + StructTag.prototype.Lookup = function(key) { + var _tmp, _tmp$1, _tmp$2, _tmp$3, _tuple, err, i, key, name$1, ok, qvalue, tag, value, value$1; + value = ""; + ok = false; + tag = this.$val; + while (true) { + if (!(!(tag === ""))) { break; } + i = 0; + while (true) { + if (!(i < tag.length && (tag.charCodeAt(i) === 32))) { break; } + i = i + (1) >> 0; + } + tag = $substring(tag, i); + if (tag === "") { + break; + } + i = 0; + while (true) { + if (!(i < tag.length && tag.charCodeAt(i) > 32 && !((tag.charCodeAt(i) === 58)) && !((tag.charCodeAt(i) === 34)) && !((tag.charCodeAt(i) === 127)))) { break; } + i = i + (1) >> 0; + } + if ((i === 0) || (i + 1 >> 0) >= tag.length || !((tag.charCodeAt(i) === 58)) || !((tag.charCodeAt((i + 1 >> 0)) === 34))) { + break; + } + name$1 = ($substring(tag, 0, i)); + tag = $substring(tag, (i + 1 >> 0)); + i = 1; + while (true) { + if (!(i < tag.length && !((tag.charCodeAt(i) === 34)))) { break; } + if (tag.charCodeAt(i) === 92) { + i = i + (1) >> 0; + } + i = i + (1) >> 0; + } + if (i >= tag.length) { + break; + } + qvalue = ($substring(tag, 0, (i + 1 >> 0))); + tag = $substring(tag, (i + 1 >> 0)); + if (key === name$1) { + _tuple = strconv.Unquote(qvalue); + value$1 = _tuple[0]; + err = _tuple[1]; + if (!($interfaceIsEqual(err, $ifaceNil))) { + break; + } + _tmp = value$1; + _tmp$1 = true; + value = _tmp; + ok = _tmp$1; + return [value, ok]; + } + } + _tmp$2 = ""; + _tmp$3 = false; + value = _tmp$2; + ok = _tmp$3; + return [value, ok]; + }; + $ptrType(StructTag).prototype.Lookup = function(key) { return new StructTag(this.$get()).Lookup(key); }; + structType.ptr.prototype.Field = function(i) { + var f, i, p, t, tag, x; + f = new StructField.ptr("", "", $ifaceNil, "", 0, sliceType$13.nil, false); + t = this; + if (i < 0 || i >= t.fields.$length) { + $panic(new $String("reflect: Field index out of bounds")); + } + p = (x = t.fields, ((i < 0 || i >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + i])); + f.Type = toType(p.typ); + f.Name = $clone(p.name, name).name(); + f.Anonymous = p.embedded(); + if (!$clone(p.name, name).isExported()) { + f.PkgPath = $clone(t.pkgPath, name).name(); + } + tag = $clone(p.name, name).tag(); + if (!(tag === "")) { + f.Tag = (tag); + } + f.Offset = p.offset(); + f.Index = new sliceType$13([i]); + return f; + }; + structType.prototype.Field = function(i) { return this.$val.Field(i); }; + structType.ptr.prototype.FieldByIndex = function(index) { + var _i, _r, _r$1, _r$2, _r$3, _r$4, _ref, _v, f, ft, i, index, t, x, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _ref = $f._ref; _v = $f._v; f = $f.f; ft = $f.ft; i = $f.i; index = $f.index; t = $f.t; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + f = new StructField.ptr("", "", $ifaceNil, "", 0, sliceType$13.nil, false); + t = this; + f.Type = toType(t.rtype); + _ref = index; + _i = 0; + /* while (true) { */ case 1: + /* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 2; continue; } + i = _i; + x = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]); + /* */ if (i > 0) { $s = 3; continue; } + /* */ $s = 4; continue; + /* if (i > 0) { */ case 3: + ft = f.Type; + _r = ft.Kind(); /* */ $s = 8; case 8: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + if (!(_r === 22)) { _v = false; $s = 7; continue s; } + _r$1 = ft.Elem(); /* */ $s = 9; case 9: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + _r$2 = _r$1.Kind(); /* */ $s = 10; case 10: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } + _v = _r$2 === 25; case 7: + /* */ if (_v) { $s = 5; continue; } + /* */ $s = 6; continue; + /* if (_v) { */ case 5: + _r$3 = ft.Elem(); /* */ $s = 11; case 11: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; } + ft = _r$3; + /* } */ case 6: + f.Type = ft; + /* } */ case 4: + _r$4 = f.Type.Field(x); /* */ $s = 12; case 12: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; } + StructField.copy(f, _r$4); + _i++; + /* } */ $s = 1; continue; case 2: + $s = -1; return f; + /* */ } return; } if ($f === undefined) { $f = { $blk: structType.ptr.prototype.FieldByIndex }; } $f._i = _i; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._ref = _ref; $f._v = _v; $f.f = f; $f.ft = ft; $f.i = i; $f.index = index; $f.t = t; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; + }; + structType.prototype.FieldByIndex = function(index) { return this.$val.FieldByIndex(index); }; + structType.ptr.prototype.FieldByNameFunc = function(match) { + var _entry, _entry$1, _entry$2, _entry$3, _i, _i$1, _key, _key$1, _key$2, _key$3, _r, _r$1, _ref, _ref$1, _tmp, _tmp$1, _tmp$2, _tmp$3, count, current, f, fname, i, index, match, next, nextCount, ntyp, ok, result, scan, styp, t, t$1, visited, x, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _entry = $f._entry; _entry$1 = $f._entry$1; _entry$2 = $f._entry$2; _entry$3 = $f._entry$3; _i = $f._i; _i$1 = $f._i$1; _key = $f._key; _key$1 = $f._key$1; _key$2 = $f._key$2; _key$3 = $f._key$3; _r = $f._r; _r$1 = $f._r$1; _ref = $f._ref; _ref$1 = $f._ref$1; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; count = $f.count; current = $f.current; f = $f.f; fname = $f.fname; i = $f.i; index = $f.index; match = $f.match; next = $f.next; nextCount = $f.nextCount; ntyp = $f.ntyp; ok = $f.ok; result = $f.result; scan = $f.scan; styp = $f.styp; t = $f.t; t$1 = $f.t$1; visited = $f.visited; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + result = new StructField.ptr("", "", $ifaceNil, "", 0, sliceType$13.nil, false); + ok = false; + t = this; + current = new sliceType$14([]); + next = new sliceType$14([new fieldScan.ptr(t, sliceType$13.nil)]); + nextCount = false; + visited = $makeMap(ptrType$9.keyFor, []); + /* while (true) { */ case 1: + /* if (!(next.$length > 0)) { break; } */ if(!(next.$length > 0)) { $s = 2; continue; } + _tmp = next; + _tmp$1 = $subslice(current, 0, 0); + current = _tmp; + next = _tmp$1; + count = nextCount; + nextCount = false; + _ref = current; + _i = 0; + /* while (true) { */ case 3: + /* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 4; continue; } + scan = $clone(((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]), fieldScan); + t$1 = scan.typ; + /* */ if ((_entry = visited[ptrType$9.keyFor(t$1)], _entry !== undefined ? _entry.v : false)) { $s = 5; continue; } + /* */ $s = 6; continue; + /* if ((_entry = visited[ptrType$9.keyFor(t$1)], _entry !== undefined ? _entry.v : false)) { */ case 5: + _i++; + /* continue; */ $s = 3; continue; + /* } */ case 6: + _key = t$1; (visited || $throwRuntimeError("assignment to entry in nil map"))[ptrType$9.keyFor(_key)] = { k: _key, v: true }; + _ref$1 = t$1.fields; + _i$1 = 0; + /* while (true) { */ case 7: + /* if (!(_i$1 < _ref$1.$length)) { break; } */ if(!(_i$1 < _ref$1.$length)) { $s = 8; continue; } + i = _i$1; + f = (x = t$1.fields, ((i < 0 || i >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + i])); + fname = $clone(f.name, name).name(); + ntyp = ptrType$1.nil; + /* */ if (f.embedded()) { $s = 9; continue; } + /* */ $s = 10; continue; + /* if (f.embedded()) { */ case 9: + ntyp = f.typ; + /* */ if (ntyp.Kind() === 22) { $s = 11; continue; } + /* */ $s = 12; continue; + /* if (ntyp.Kind() === 22) { */ case 11: + _r = ntyp.Elem().common(); /* */ $s = 13; case 13: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + ntyp = _r; + /* } */ case 12: + /* } */ case 10: + _r$1 = match(fname); /* */ $s = 16; case 16: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + /* */ if (_r$1) { $s = 14; continue; } + /* */ $s = 15; continue; + /* if (_r$1) { */ case 14: + if ((_entry$1 = count[ptrType$9.keyFor(t$1)], _entry$1 !== undefined ? _entry$1.v : 0) > 1 || ok) { + _tmp$2 = new StructField.ptr("", "", $ifaceNil, "", 0, sliceType$13.nil, false); + _tmp$3 = false; + StructField.copy(result, _tmp$2); + ok = _tmp$3; + $s = -1; return [result, ok]; + } + StructField.copy(result, t$1.Field(i)); + result.Index = sliceType$13.nil; + result.Index = $appendSlice(result.Index, scan.index); + result.Index = $append(result.Index, i); + ok = true; + _i$1++; + /* continue; */ $s = 7; continue; + /* } */ case 15: + if (ok || ntyp === ptrType$1.nil || !((ntyp.Kind() === 25))) { + _i$1++; + /* continue; */ $s = 7; continue; + } + styp = (ntyp.kindType); + if ((_entry$2 = nextCount[ptrType$9.keyFor(styp)], _entry$2 !== undefined ? _entry$2.v : 0) > 0) { + _key$1 = styp; (nextCount || $throwRuntimeError("assignment to entry in nil map"))[ptrType$9.keyFor(_key$1)] = { k: _key$1, v: 2 }; + _i$1++; + /* continue; */ $s = 7; continue; + } + if (nextCount === false) { + nextCount = $makeMap(ptrType$9.keyFor, []); + } + _key$2 = styp; (nextCount || $throwRuntimeError("assignment to entry in nil map"))[ptrType$9.keyFor(_key$2)] = { k: _key$2, v: 1 }; + if ((_entry$3 = count[ptrType$9.keyFor(t$1)], _entry$3 !== undefined ? _entry$3.v : 0) > 1) { + _key$3 = styp; (nextCount || $throwRuntimeError("assignment to entry in nil map"))[ptrType$9.keyFor(_key$3)] = { k: _key$3, v: 2 }; + } + index = sliceType$13.nil; + index = $appendSlice(index, scan.index); + index = $append(index, i); + next = $append(next, new fieldScan.ptr(styp, index)); + _i$1++; + /* } */ $s = 7; continue; case 8: + _i++; + /* } */ $s = 3; continue; case 4: + if (ok) { + /* break; */ $s = 2; continue; + } + /* } */ $s = 1; continue; case 2: + $s = -1; return [result, ok]; + /* */ } return; } if ($f === undefined) { $f = { $blk: structType.ptr.prototype.FieldByNameFunc }; } $f._entry = _entry; $f._entry$1 = _entry$1; $f._entry$2 = _entry$2; $f._entry$3 = _entry$3; $f._i = _i; $f._i$1 = _i$1; $f._key = _key; $f._key$1 = _key$1; $f._key$2 = _key$2; $f._key$3 = _key$3; $f._r = _r; $f._r$1 = _r$1; $f._ref = _ref; $f._ref$1 = _ref$1; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f.count = count; $f.current = current; $f.f = f; $f.fname = fname; $f.i = i; $f.index = index; $f.match = match; $f.next = next; $f.nextCount = nextCount; $f.ntyp = ntyp; $f.ok = ok; $f.result = result; $f.scan = scan; $f.styp = styp; $f.t = t; $f.t$1 = t$1; $f.visited = visited; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; + }; + structType.prototype.FieldByNameFunc = function(match) { return this.$val.FieldByNameFunc(match); }; + structType.ptr.prototype.FieldByName = function(name$1) { + var _i, _r, _ref, _tmp, _tmp$1, _tuple, f, hasEmbeds, i, name$1, present, t, tf, x, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _r = $f._r; _ref = $f._ref; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tuple = $f._tuple; f = $f.f; hasEmbeds = $f.hasEmbeds; i = $f.i; name$1 = $f.name$1; present = $f.present; t = $f.t; tf = $f.tf; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + name$1 = [name$1]; + f = new StructField.ptr("", "", $ifaceNil, "", 0, sliceType$13.nil, false); + present = false; + t = this; + hasEmbeds = false; + if (!(name$1[0] === "")) { + _ref = t.fields; + _i = 0; + while (true) { + if (!(_i < _ref.$length)) { break; } + i = _i; + tf = (x = t.fields, ((i < 0 || i >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + i])); + if ($clone(tf.name, name).name() === name$1[0]) { + _tmp = $clone(t.Field(i), StructField); + _tmp$1 = true; + StructField.copy(f, _tmp); + present = _tmp$1; + $s = -1; return [f, present]; + } + if (tf.embedded()) { + hasEmbeds = true; + } + _i++; + } + } + if (!hasEmbeds) { + $s = -1; return [f, present]; + } + _r = t.FieldByNameFunc((function(name$1) { return function(s) { + var s; + return s === name$1[0]; + }; })(name$1)); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + _tuple = _r; + StructField.copy(f, _tuple[0]); + present = _tuple[1]; + $s = -1; return [f, present]; + /* */ } return; } if ($f === undefined) { $f = { $blk: structType.ptr.prototype.FieldByName }; } $f._i = _i; $f._r = _r; $f._ref = _ref; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tuple = _tuple; $f.f = f; $f.hasEmbeds = hasEmbeds; $f.i = i; $f.name$1 = name$1; $f.present = present; $f.t = t; $f.tf = tf; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; + }; + structType.prototype.FieldByName = function(name$1) { return this.$val.FieldByName(name$1); }; + PtrTo = function(t) { + var t; + return $assertType(t, ptrType$1).ptrTo(); + }; + $pkg.PtrTo = PtrTo; + rtype.ptr.prototype.Implements = function(u) { + var _r, t, u, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; u = $f.u; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + t = this; + if ($interfaceIsEqual(u, $ifaceNil)) { + $panic(new $String("reflect: nil type passed to Type.Implements")); + } + _r = u.Kind(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + /* */ if (!((_r === 20))) { $s = 1; continue; } + /* */ $s = 2; continue; + /* if (!((_r === 20))) { */ case 1: + $panic(new $String("reflect: non-interface type passed to Type.Implements")); + /* } */ case 2: + $s = -1; return implements$1($assertType(u, ptrType$1), t); + /* */ } return; } if ($f === undefined) { $f = { $blk: rtype.ptr.prototype.Implements }; } $f._r = _r; $f.t = t; $f.u = u; $f.$s = $s; $f.$r = $r; return $f; + }; + rtype.prototype.Implements = function(u) { return this.$val.Implements(u); }; + rtype.ptr.prototype.AssignableTo = function(u) { + var _r, t, u, uu, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; u = $f.u; uu = $f.uu; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + t = this; + if ($interfaceIsEqual(u, $ifaceNil)) { + $panic(new $String("reflect: nil type passed to Type.AssignableTo")); + } + uu = $assertType(u, ptrType$1); + _r = directlyAssignable(uu, t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + $s = -1; return _r || implements$1(uu, t); + /* */ } return; } if ($f === undefined) { $f = { $blk: rtype.ptr.prototype.AssignableTo }; } $f._r = _r; $f.t = t; $f.u = u; $f.uu = uu; $f.$s = $s; $f.$r = $r; return $f; + }; + rtype.prototype.AssignableTo = function(u) { return this.$val.AssignableTo(u); }; + rtype.ptr.prototype.ConvertibleTo = function(u) { + var _r, t, u, uu, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; u = $f.u; uu = $f.uu; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + t = this; + if ($interfaceIsEqual(u, $ifaceNil)) { + $panic(new $String("reflect: nil type passed to Type.ConvertibleTo")); + } + uu = $assertType(u, ptrType$1); + _r = convertOp(uu, t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + $s = -1; return !(_r === $throwNilPointerError); + /* */ } return; } if ($f === undefined) { $f = { $blk: rtype.ptr.prototype.ConvertibleTo }; } $f._r = _r; $f.t = t; $f.u = u; $f.uu = uu; $f.$s = $s; $f.$r = $r; return $f; + }; + rtype.prototype.ConvertibleTo = function(u) { return this.$val.ConvertibleTo(u); }; + implements$1 = function(T, V) { + var T, V, i, i$1, j, j$1, t, tm, tm$1, tmName, tmName$1, tmPkgPath, tmPkgPath$1, v, v$1, vm, vm$1, vmName, vmName$1, vmPkgPath, vmPkgPath$1, vmethods, x, x$1, x$2; + if (!((T.Kind() === 20))) { + return false; + } + t = (T.kindType); + if (t.methods.$length === 0) { + return true; + } + if (V.Kind() === 20) { + v = (V.kindType); + i = 0; + j = 0; + while (true) { + if (!(j < v.methods.$length)) { break; } + tm = (x = t.methods, ((i < 0 || i >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + i])); + tmName = $clone(t.rtype.nameOff(tm.name), name); + vm = (x$1 = v.methods, ((j < 0 || j >= x$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$1.$array[x$1.$offset + j])); + vmName = $clone(V.nameOff(vm.name), name); + if ($clone(vmName, name).name() === $clone(tmName, name).name() && V.typeOff(vm.typ) === t.rtype.typeOff(tm.typ)) { + if (!$clone(tmName, name).isExported()) { + tmPkgPath = $clone(tmName, name).pkgPath(); + if (tmPkgPath === "") { + tmPkgPath = $clone(t.pkgPath, name).name(); + } + vmPkgPath = $clone(vmName, name).pkgPath(); + if (vmPkgPath === "") { + vmPkgPath = $clone(v.pkgPath, name).name(); + } + if (!(tmPkgPath === vmPkgPath)) { + j = j + (1) >> 0; + continue; + } + } + i = i + (1) >> 0; + if (i >= t.methods.$length) { + return true; + } + } + j = j + (1) >> 0; + } + return false; + } + v$1 = V.uncommon(); + if (v$1 === ptrType$5.nil) { + return false; + } + i$1 = 0; + vmethods = v$1.methods(); + j$1 = 0; + while (true) { + if (!(j$1 < ((v$1.mcount >> 0)))) { break; } + tm$1 = (x$2 = t.methods, ((i$1 < 0 || i$1 >= x$2.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$2.$array[x$2.$offset + i$1])); + tmName$1 = $clone(t.rtype.nameOff(tm$1.name), name); + vm$1 = $clone(((j$1 < 0 || j$1 >= vmethods.$length) ? ($throwRuntimeError("index out of range"), undefined) : vmethods.$array[vmethods.$offset + j$1]), method); + vmName$1 = $clone(V.nameOff(vm$1.name), name); + if ($clone(vmName$1, name).name() === $clone(tmName$1, name).name() && V.typeOff(vm$1.mtyp) === t.rtype.typeOff(tm$1.typ)) { + if (!$clone(tmName$1, name).isExported()) { + tmPkgPath$1 = $clone(tmName$1, name).pkgPath(); + if (tmPkgPath$1 === "") { + tmPkgPath$1 = $clone(t.pkgPath, name).name(); + } + vmPkgPath$1 = $clone(vmName$1, name).pkgPath(); + if (vmPkgPath$1 === "") { + vmPkgPath$1 = $clone(V.nameOff(v$1.pkgPath), name).name(); + } + if (!(tmPkgPath$1 === vmPkgPath$1)) { + j$1 = j$1 + (1) >> 0; + continue; + } + } + i$1 = i$1 + (1) >> 0; + if (i$1 >= t.methods.$length) { + return true; + } + } + j$1 = j$1 + (1) >> 0; + } + return false; + }; + directlyAssignable = function(T, V) { + var T, V, _r, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; T = $f.T; V = $f.V; _r = $f._r; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + if (T === V) { + $s = -1; return true; + } + if (!(T.Name() === "") && !(V.Name() === "") || !((T.Kind() === V.Kind()))) { + $s = -1; return false; + } + _r = haveIdenticalUnderlyingType(T, V, true); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + $s = -1; return _r; + /* */ } return; } if ($f === undefined) { $f = { $blk: directlyAssignable }; } $f.T = T; $f.V = V; $f._r = _r; $f.$s = $s; $f.$r = $r; return $f; + }; + haveIdenticalType = function(T, V, cmpTags) { + var T, V, _arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _v, cmpTags, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; T = $f.T; V = $f.V; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _v = $f._v; cmpTags = $f.cmpTags; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + if (cmpTags) { + $s = -1; return $interfaceIsEqual(T, V); + } + _r = T.Name(); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + _r$1 = V.Name(); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + if (!(_r === _r$1)) { _v = true; $s = 3; continue s; } + _r$2 = T.Kind(); /* */ $s = 6; case 6: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } + _r$3 = V.Kind(); /* */ $s = 7; case 7: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; } + _v = !((_r$2 === _r$3)); case 3: + /* */ if (_v) { $s = 1; continue; } + /* */ $s = 2; continue; + /* if (_v) { */ case 1: + $s = -1; return false; + /* } */ case 2: + _r$4 = T.common(); /* */ $s = 8; case 8: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; } + _arg = _r$4; + _r$5 = V.common(); /* */ $s = 9; case 9: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; } + _arg$1 = _r$5; + _r$6 = haveIdenticalUnderlyingType(_arg, _arg$1, false); /* */ $s = 10; case 10: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; } + $s = -1; return _r$6; + /* */ } return; } if ($f === undefined) { $f = { $blk: haveIdenticalType }; } $f.T = T; $f.V = V; $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._v = _v; $f.cmpTags = cmpTags; $f.$s = $s; $f.$r = $r; return $f; + }; + haveIdenticalUnderlyingType = function(T, V, cmpTags) { + var T, V, _1, _i, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _ref, _v, _v$1, _v$2, _v$3, cmpTags, i, i$1, i$2, kind, t, t$1, t$2, tf, v, v$1, v$2, vf, x, x$1, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; T = $f.T; V = $f.V; _1 = $f._1; _i = $f._i; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _r$8 = $f._r$8; _ref = $f._ref; _v = $f._v; _v$1 = $f._v$1; _v$2 = $f._v$2; _v$3 = $f._v$3; cmpTags = $f.cmpTags; i = $f.i; i$1 = $f.i$1; i$2 = $f.i$2; kind = $f.kind; t = $f.t; t$1 = $f.t$1; t$2 = $f.t$2; tf = $f.tf; v = $f.v; v$1 = $f.v$1; v$2 = $f.v$2; vf = $f.vf; x = $f.x; x$1 = $f.x$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + if (T === V) { + $s = -1; return true; + } + kind = T.Kind(); + if (!((kind === V.Kind()))) { + $s = -1; return false; + } + if (1 <= kind && kind <= 16 || (kind === 24) || (kind === 26)) { + $s = -1; return true; + } + _1 = kind; + /* */ if (_1 === (17)) { $s = 2; continue; } + /* */ if (_1 === (18)) { $s = 3; continue; } + /* */ if (_1 === (19)) { $s = 4; continue; } + /* */ if (_1 === (20)) { $s = 5; continue; } + /* */ if (_1 === (21)) { $s = 6; continue; } + /* */ if ((_1 === (22)) || (_1 === (23))) { $s = 7; continue; } + /* */ if (_1 === (25)) { $s = 8; continue; } + /* */ $s = 9; continue; + /* if (_1 === (17)) { */ case 2: + if (!(T.Len() === V.Len())) { _v = false; $s = 10; continue s; } + _r = haveIdenticalType(T.Elem(), V.Elem(), cmpTags); /* */ $s = 11; case 11: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + _v = _r; case 10: + $s = -1; return _v; + /* } else if (_1 === (18)) { */ case 3: + if (!(V.ChanDir() === 3)) { _v$1 = false; $s = 14; continue s; } + _r$1 = haveIdenticalType(T.Elem(), V.Elem(), cmpTags); /* */ $s = 15; case 15: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + _v$1 = _r$1; case 14: + /* */ if (_v$1) { $s = 12; continue; } + /* */ $s = 13; continue; + /* if (_v$1) { */ case 12: + $s = -1; return true; + /* } */ case 13: + if (!(V.ChanDir() === T.ChanDir())) { _v$2 = false; $s = 16; continue s; } + _r$2 = haveIdenticalType(T.Elem(), V.Elem(), cmpTags); /* */ $s = 17; case 17: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } + _v$2 = _r$2; case 16: + $s = -1; return _v$2; + /* } else if (_1 === (19)) { */ case 4: + t = (T.kindType); + v = (V.kindType); + if (!((t.outCount === v.outCount)) || !((t.inCount === v.inCount))) { + $s = -1; return false; + } + i = 0; + /* while (true) { */ case 18: + /* if (!(i < t.rtype.NumIn())) { break; } */ if(!(i < t.rtype.NumIn())) { $s = 19; continue; } + _r$3 = haveIdenticalType(t.rtype.In(i), v.rtype.In(i), cmpTags); /* */ $s = 22; case 22: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; } + /* */ if (!_r$3) { $s = 20; continue; } + /* */ $s = 21; continue; + /* if (!_r$3) { */ case 20: + $s = -1; return false; + /* } */ case 21: + i = i + (1) >> 0; + /* } */ $s = 18; continue; case 19: + i$1 = 0; + /* while (true) { */ case 23: + /* if (!(i$1 < t.rtype.NumOut())) { break; } */ if(!(i$1 < t.rtype.NumOut())) { $s = 24; continue; } + _r$4 = haveIdenticalType(t.rtype.Out(i$1), v.rtype.Out(i$1), cmpTags); /* */ $s = 27; case 27: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; } + /* */ if (!_r$4) { $s = 25; continue; } + /* */ $s = 26; continue; + /* if (!_r$4) { */ case 25: + $s = -1; return false; + /* } */ case 26: + i$1 = i$1 + (1) >> 0; + /* } */ $s = 23; continue; case 24: + $s = -1; return true; + /* } else if (_1 === (20)) { */ case 5: + t$1 = (T.kindType); + v$1 = (V.kindType); + if ((t$1.methods.$length === 0) && (v$1.methods.$length === 0)) { + $s = -1; return true; + } + $s = -1; return false; + /* } else if (_1 === (21)) { */ case 6: + _r$5 = haveIdenticalType(T.Key(), V.Key(), cmpTags); /* */ $s = 29; case 29: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; } + if (!(_r$5)) { _v$3 = false; $s = 28; continue s; } + _r$6 = haveIdenticalType(T.Elem(), V.Elem(), cmpTags); /* */ $s = 30; case 30: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; } + _v$3 = _r$6; case 28: + $s = -1; return _v$3; + /* } else if ((_1 === (22)) || (_1 === (23))) { */ case 7: + _r$7 = haveIdenticalType(T.Elem(), V.Elem(), cmpTags); /* */ $s = 31; case 31: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; } + $s = -1; return _r$7; + /* } else if (_1 === (25)) { */ case 8: + t$2 = (T.kindType); + v$2 = (V.kindType); + if (!((t$2.fields.$length === v$2.fields.$length))) { + $s = -1; return false; + } + if (!($clone(t$2.pkgPath, name).name() === $clone(v$2.pkgPath, name).name())) { + $s = -1; return false; + } + _ref = t$2.fields; + _i = 0; + /* while (true) { */ case 32: + /* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 33; continue; } + i$2 = _i; + tf = (x = t$2.fields, ((i$2 < 0 || i$2 >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + i$2])); + vf = (x$1 = v$2.fields, ((i$2 < 0 || i$2 >= x$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$1.$array[x$1.$offset + i$2])); + if (!($clone(tf.name, name).name() === $clone(vf.name, name).name())) { + $s = -1; return false; + } + _r$8 = haveIdenticalType(tf.typ, vf.typ, cmpTags); /* */ $s = 36; case 36: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; } + /* */ if (!_r$8) { $s = 34; continue; } + /* */ $s = 35; continue; + /* if (!_r$8) { */ case 34: + $s = -1; return false; + /* } */ case 35: + if (cmpTags && !($clone(tf.name, name).tag() === $clone(vf.name, name).tag())) { + $s = -1; return false; + } + if (!((tf.offsetEmbed === vf.offsetEmbed))) { + $s = -1; return false; + } + _i++; + /* } */ $s = 32; continue; case 33: + $s = -1; return true; + /* } */ case 9: + case 1: + $s = -1; return false; + /* */ } return; } if ($f === undefined) { $f = { $blk: haveIdenticalUnderlyingType }; } $f.T = T; $f.V = V; $f._1 = _1; $f._i = _i; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._r$8 = _r$8; $f._ref = _ref; $f._v = _v; $f._v$1 = _v$1; $f._v$2 = _v$2; $f._v$3 = _v$3; $f.cmpTags = cmpTags; $f.i = i; $f.i$1 = i$1; $f.i$2 = i$2; $f.kind = kind; $f.t = t; $f.t$1 = t$1; $f.t$2 = t$2; $f.tf = tf; $f.v = v; $f.v$1 = v$1; $f.v$2 = v$2; $f.vf = vf; $f.x = x; $f.x$1 = x$1; $f.$s = $s; $f.$r = $r; return $f; + }; + toType = function(t) { + var t; + if (t === ptrType$1.nil) { + return $ifaceNil; + } + return t; + }; + ifaceIndir = function(t) { + var t; + return ((t.kind & 32) >>> 0) === 0; + }; + flag.prototype.kind = function() { + var f; + f = this.$val; + return ((((f & 31) >>> 0) >>> 0)); + }; + $ptrType(flag).prototype.kind = function() { return new flag(this.$get()).kind(); }; + flag.prototype.ro = function() { + var f; + f = this.$val; + if (!((((f & 96) >>> 0) === 0))) { + return 32; + } + return 0; + }; + $ptrType(flag).prototype.ro = function() { return new flag(this.$get()).ro(); }; + Value.ptr.prototype.pointer = function() { + var v; + v = this; + if (!((v.typ.size === 4)) || !v.typ.pointers()) { + $panic(new $String("can't call pointer on a non-pointer Value")); + } + if (!((((v.flag & 128) >>> 0) === 0))) { + return (v.ptr).$get(); + } + return v.ptr; + }; + Value.prototype.pointer = function() { return this.$val.pointer(); }; + ValueError.ptr.prototype.Error = function() { + var e; + e = this; + if (e.Kind === 0) { + return "reflect: call of " + e.Method + " on zero Value"; + } + return "reflect: call of " + e.Method + " on " + new Kind(e.Kind).String() + " Value"; + }; + ValueError.prototype.Error = function() { return this.$val.Error(); }; + flag.prototype.mustBe = function(expected) { + var expected, f; + f = this.$val; + if (!((new flag(f).kind() === expected))) { + $panic(new ValueError.ptr(methodName(), new flag(f).kind())); + } + }; + $ptrType(flag).prototype.mustBe = function(expected) { return new flag(this.$get()).mustBe(expected); }; + flag.prototype.mustBeExported = function() { + var f; + f = this.$val; + if (f === 0) { + $panic(new ValueError.ptr(methodName(), 0)); + } + if (!((((f & 96) >>> 0) === 0))) { + $panic(new $String("reflect: " + methodName() + " using value obtained using unexported field")); + } + }; + $ptrType(flag).prototype.mustBeExported = function() { return new flag(this.$get()).mustBeExported(); }; + flag.prototype.mustBeAssignable = function() { + var f; + f = this.$val; + if (f === 0) { + $panic(new ValueError.ptr(methodName(), 0)); + } + if (!((((f & 96) >>> 0) === 0))) { + $panic(new $String("reflect: " + methodName() + " using value obtained using unexported field")); + } + if (((f & 256) >>> 0) === 0) { + $panic(new $String("reflect: " + methodName() + " using unaddressable value")); + } + }; + $ptrType(flag).prototype.mustBeAssignable = function() { return new flag(this.$get()).mustBeAssignable(); }; + Value.ptr.prototype.Addr = function() { + var v; + v = this; + if (((v.flag & 256) >>> 0) === 0) { + $panic(new $String("reflect.Value.Addr of unaddressable value")); + } + return new Value.ptr(v.typ.ptrTo(), v.ptr, (new flag(v.flag).ro() | 22) >>> 0); + }; + Value.prototype.Addr = function() { return this.$val.Addr(); }; + Value.ptr.prototype.Bool = function() { + var v; + v = this; + new flag(v.flag).mustBe(1); + return (v.ptr).$get(); + }; + Value.prototype.Bool = function() { return this.$val.Bool(); }; + Value.ptr.prototype.Bytes = function() { + var _r, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + v = this; + new flag(v.flag).mustBe(23); + _r = v.typ.Elem().Kind(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + /* */ if (!((_r === 8))) { $s = 1; continue; } + /* */ $s = 2; continue; + /* if (!((_r === 8))) { */ case 1: + $panic(new $String("reflect.Value.Bytes of non-byte slice")); + /* } */ case 2: + $s = -1; return (v.ptr).$get(); + /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Bytes }; } $f._r = _r; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + Value.prototype.Bytes = function() { return this.$val.Bytes(); }; + Value.ptr.prototype.runes = function() { + var _r, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + v = this; + new flag(v.flag).mustBe(23); + _r = v.typ.Elem().Kind(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + /* */ if (!((_r === 5))) { $s = 1; continue; } + /* */ $s = 2; continue; + /* if (!((_r === 5))) { */ case 1: + $panic(new $String("reflect.Value.Bytes of non-rune slice")); + /* } */ case 2: + $s = -1; return (v.ptr).$get(); + /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.runes }; } $f._r = _r; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + Value.prototype.runes = function() { return this.$val.runes(); }; + Value.ptr.prototype.CanAddr = function() { + var v; + v = this; + return !((((v.flag & 256) >>> 0) === 0)); + }; + Value.prototype.CanAddr = function() { return this.$val.CanAddr(); }; + Value.ptr.prototype.CanSet = function() { + var v; + v = this; + return ((v.flag & 352) >>> 0) === 256; + }; + Value.prototype.CanSet = function() { return this.$val.CanSet(); }; + Value.ptr.prototype.Call = function(in$1) { + var _r, in$1, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; in$1 = $f.in$1; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + v = this; + new flag(v.flag).mustBe(19); + new flag(v.flag).mustBeExported(); + _r = $clone(v, Value).call("Call", in$1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + $s = -1; return _r; + /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Call }; } $f._r = _r; $f.in$1 = in$1; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + Value.prototype.Call = function(in$1) { return this.$val.Call(in$1); }; + Value.ptr.prototype.CallSlice = function(in$1) { + var _r, in$1, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; in$1 = $f.in$1; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + v = this; + new flag(v.flag).mustBe(19); + new flag(v.flag).mustBeExported(); + _r = $clone(v, Value).call("CallSlice", in$1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + $s = -1; return _r; + /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.CallSlice }; } $f._r = _r; $f.in$1 = in$1; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + Value.prototype.CallSlice = function(in$1) { return this.$val.CallSlice(in$1); }; + Value.ptr.prototype.Complex = function() { + var _1, k, v, x; + v = this; + k = new flag(v.flag).kind(); + _1 = k; + if (_1 === (15)) { + return ((x = (v.ptr).$get(), new $Complex128(x.$real, x.$imag))); + } else if (_1 === (16)) { + return (v.ptr).$get(); + } + $panic(new ValueError.ptr("reflect.Value.Complex", new flag(v.flag).kind())); + }; + Value.prototype.Complex = function() { return this.$val.Complex(); }; + Value.ptr.prototype.FieldByIndex = function(index) { + var _i, _r, _r$1, _r$2, _r$3, _ref, _v, i, index, v, x, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _ref = $f._ref; _v = $f._v; i = $f.i; index = $f.index; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + v = this; + /* */ if (index.$length === 1) { $s = 1; continue; } + /* */ $s = 2; continue; + /* if (index.$length === 1) { */ case 1: + _r = $clone(v, Value).Field((0 >= index.$length ? ($throwRuntimeError("index out of range"), undefined) : index.$array[index.$offset + 0])); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + $s = -1; return _r; + /* } */ case 2: + new flag(v.flag).mustBe(25); + _ref = index; + _i = 0; + /* while (true) { */ case 4: + /* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 5; continue; } + i = _i; + x = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]); + /* */ if (i > 0) { $s = 6; continue; } + /* */ $s = 7; continue; + /* if (i > 0) { */ case 6: + if (!($clone(v, Value).Kind() === 22)) { _v = false; $s = 10; continue s; } + _r$1 = v.typ.Elem().Kind(); /* */ $s = 11; case 11: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + _v = _r$1 === 25; case 10: + /* */ if (_v) { $s = 8; continue; } + /* */ $s = 9; continue; + /* if (_v) { */ case 8: + if ($clone(v, Value).IsNil()) { + $panic(new $String("reflect: indirection through nil pointer to embedded struct")); + } + _r$2 = $clone(v, Value).Elem(); /* */ $s = 12; case 12: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } + v = _r$2; + /* } */ case 9: + /* } */ case 7: + _r$3 = $clone(v, Value).Field(x); /* */ $s = 13; case 13: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; } + v = _r$3; + _i++; + /* } */ $s = 4; continue; case 5: + $s = -1; return v; + /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.FieldByIndex }; } $f._i = _i; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._ref = _ref; $f._v = _v; $f.i = i; $f.index = index; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; + }; + Value.prototype.FieldByIndex = function(index) { return this.$val.FieldByIndex(index); }; + Value.ptr.prototype.FieldByName = function(name$1) { + var _r, _r$1, _tuple, f, name$1, ok, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; f = $f.f; name$1 = $f.name$1; ok = $f.ok; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + v = this; + new flag(v.flag).mustBe(25); + _r = v.typ.FieldByName(name$1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + _tuple = _r; + f = $clone(_tuple[0], StructField); + ok = _tuple[1]; + /* */ if (ok) { $s = 2; continue; } + /* */ $s = 3; continue; + /* if (ok) { */ case 2: + _r$1 = $clone(v, Value).FieldByIndex(f.Index); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + $s = -1; return _r$1; + /* } */ case 3: + $s = -1; return new Value.ptr(ptrType$1.nil, 0, 0); + /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.FieldByName }; } $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f.f = f; $f.name$1 = name$1; $f.ok = ok; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + Value.prototype.FieldByName = function(name$1) { return this.$val.FieldByName(name$1); }; + Value.ptr.prototype.FieldByNameFunc = function(match) { + var _r, _r$1, _tuple, f, match, ok, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; f = $f.f; match = $f.match; ok = $f.ok; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + v = this; + _r = v.typ.FieldByNameFunc(match); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + _tuple = _r; + f = $clone(_tuple[0], StructField); + ok = _tuple[1]; + /* */ if (ok) { $s = 2; continue; } + /* */ $s = 3; continue; + /* if (ok) { */ case 2: + _r$1 = $clone(v, Value).FieldByIndex(f.Index); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + $s = -1; return _r$1; + /* } */ case 3: + $s = -1; return new Value.ptr(ptrType$1.nil, 0, 0); + /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.FieldByNameFunc }; } $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f.f = f; $f.match = match; $f.ok = ok; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + Value.prototype.FieldByNameFunc = function(match) { return this.$val.FieldByNameFunc(match); }; + Value.ptr.prototype.Float = function() { + var _1, k, v; + v = this; + k = new flag(v.flag).kind(); + _1 = k; + if (_1 === (13)) { + return ((v.ptr).$get()); + } else if (_1 === (14)) { + return (v.ptr).$get(); + } + $panic(new ValueError.ptr("reflect.Value.Float", new flag(v.flag).kind())); + }; + Value.prototype.Float = function() { return this.$val.Float(); }; + Value.ptr.prototype.Int = function() { + var _1, k, p, v; + v = this; + k = new flag(v.flag).kind(); + p = v.ptr; + _1 = k; + if (_1 === (2)) { + return (new $Int64(0, (p).$get())); + } else if (_1 === (3)) { + return (new $Int64(0, (p).$get())); + } else if (_1 === (4)) { + return (new $Int64(0, (p).$get())); + } else if (_1 === (5)) { + return (new $Int64(0, (p).$get())); + } else if (_1 === (6)) { + return (p).$get(); + } + $panic(new ValueError.ptr("reflect.Value.Int", new flag(v.flag).kind())); + }; + Value.prototype.Int = function() { return this.$val.Int(); }; + Value.ptr.prototype.CanInterface = function() { + var v; + v = this; + if (v.flag === 0) { + $panic(new ValueError.ptr("reflect.Value.CanInterface", 0)); + } + return ((v.flag & 96) >>> 0) === 0; + }; + Value.prototype.CanInterface = function() { return this.$val.CanInterface(); }; + Value.ptr.prototype.Interface = function() { + var _r, i, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; i = $f.i; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + i = $ifaceNil; + v = this; + _r = valueInterface($clone(v, Value), true); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + i = _r; + $s = -1; return i; + /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Interface }; } $f._r = _r; $f.i = i; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + Value.prototype.Interface = function() { return this.$val.Interface(); }; + Value.ptr.prototype.IsValid = function() { + var v; + v = this; + return !((v.flag === 0)); + }; + Value.prototype.IsValid = function() { return this.$val.IsValid(); }; + Value.ptr.prototype.Kind = function() { + var v; + v = this; + return new flag(v.flag).kind(); + }; + Value.prototype.Kind = function() { return this.$val.Kind(); }; + Value.ptr.prototype.MapIndex = function(key) { + var _r, c, e, fl, k, key, tt, typ, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; c = $f.c; e = $f.e; fl = $f.fl; k = $f.k; key = $f.key; tt = $f.tt; typ = $f.typ; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + v = this; + new flag(v.flag).mustBe(21); + tt = (v.typ.kindType); + _r = $clone(key, Value).assignTo("reflect.Value.MapIndex", tt.key, 0); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + key = _r; + k = 0; + if (!((((key.flag & 128) >>> 0) === 0))) { + k = key.ptr; + } else { + k = ((key.$ptr_ptr || (key.$ptr_ptr = new ptrType$15(function() { return this.$target.ptr; }, function($v) { this.$target.ptr = $v; }, key)))); + } + e = mapaccess(v.typ, $clone(v, Value).pointer(), k); + if (e === 0) { + $s = -1; return new Value.ptr(ptrType$1.nil, 0, 0); + } + typ = tt.elem; + fl = new flag((((v.flag | key.flag) >>> 0))).ro(); + fl = (fl | (((typ.Kind() >>> 0)))) >>> 0; + if (!ifaceIndir(typ)) { + $s = -1; return new Value.ptr(typ, (e).$get(), fl); + } + c = unsafe_New(typ); + typedmemmove(typ, c, e); + $s = -1; return new Value.ptr(typ, c, (fl | 128) >>> 0); + /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.MapIndex }; } $f._r = _r; $f.c = c; $f.e = e; $f.fl = fl; $f.k = k; $f.key = key; $f.tt = tt; $f.typ = typ; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + Value.prototype.MapIndex = function(key) { return this.$val.MapIndex(key); }; + Value.ptr.prototype.MapKeys = function() { + var _r, a, c, fl, i, it, key, keyType, m, mlen, tt, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; a = $f.a; c = $f.c; fl = $f.fl; i = $f.i; it = $f.it; key = $f.key; keyType = $f.keyType; m = $f.m; mlen = $f.mlen; tt = $f.tt; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + v = this; + new flag(v.flag).mustBe(21); + tt = (v.typ.kindType); + keyType = tt.key; + fl = (new flag(v.flag).ro() | ((keyType.Kind() >>> 0))) >>> 0; + m = $clone(v, Value).pointer(); + mlen = 0; + if (!(m === 0)) { + mlen = maplen(m); + } + it = mapiterinit(v.typ, m); + a = $makeSlice(sliceType$9, mlen); + i = 0; + i = 0; + /* while (true) { */ case 1: + /* if (!(i < a.$length)) { break; } */ if(!(i < a.$length)) { $s = 2; continue; } + _r = mapiterkey(it); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + key = _r; + if (key === 0) { + /* break; */ $s = 2; continue; + } + if (ifaceIndir(keyType)) { + c = unsafe_New(keyType); + typedmemmove(keyType, c, key); + ((i < 0 || i >= a.$length) ? ($throwRuntimeError("index out of range"), undefined) : a.$array[a.$offset + i] = new Value.ptr(keyType, c, (fl | 128) >>> 0)); + } else { + ((i < 0 || i >= a.$length) ? ($throwRuntimeError("index out of range"), undefined) : a.$array[a.$offset + i] = new Value.ptr(keyType, (key).$get(), fl)); + } + mapiternext(it); + i = i + (1) >> 0; + /* } */ $s = 1; continue; case 2: + $s = -1; return $subslice(a, 0, i); + /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.MapKeys }; } $f._r = _r; $f.a = a; $f.c = c; $f.fl = fl; $f.i = i; $f.it = it; $f.key = key; $f.keyType = keyType; $f.m = m; $f.mlen = mlen; $f.tt = tt; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + Value.prototype.MapKeys = function() { return this.$val.MapKeys(); }; + Value.ptr.prototype.Method = function(i) { + var fl, i, v; + v = this; + if (v.typ === ptrType$1.nil) { + $panic(new ValueError.ptr("reflect.Value.Method", 0)); + } + if (!((((v.flag & 512) >>> 0) === 0)) || ((i >>> 0)) >= ((v.typ.NumMethod() >>> 0))) { + $panic(new $String("reflect: Method index out of range")); + } + if ((v.typ.Kind() === 20) && $clone(v, Value).IsNil()) { + $panic(new $String("reflect: Method on nil interface value")); + } + fl = (v.flag & 160) >>> 0; + fl = (fl | (19)) >>> 0; + fl = (fl | ((((((i >>> 0)) << 10 >>> 0) | 512) >>> 0))) >>> 0; + return new Value.ptr(v.typ, v.ptr, fl); + }; + Value.prototype.Method = function(i) { return this.$val.Method(i); }; + Value.ptr.prototype.NumMethod = function() { + var v; + v = this; + if (v.typ === ptrType$1.nil) { + $panic(new ValueError.ptr("reflect.Value.NumMethod", 0)); + } + if (!((((v.flag & 512) >>> 0) === 0))) { + return 0; + } + return v.typ.NumMethod(); + }; + Value.prototype.NumMethod = function() { return this.$val.NumMethod(); }; + Value.ptr.prototype.MethodByName = function(name$1) { + var _r, _tuple, m, name$1, ok, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; m = $f.m; name$1 = $f.name$1; ok = $f.ok; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + v = this; + if (v.typ === ptrType$1.nil) { + $panic(new ValueError.ptr("reflect.Value.MethodByName", 0)); + } + if (!((((v.flag & 512) >>> 0) === 0))) { + $s = -1; return new Value.ptr(ptrType$1.nil, 0, 0); + } + _r = v.typ.MethodByName(name$1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + _tuple = _r; + m = $clone(_tuple[0], Method); + ok = _tuple[1]; + if (!ok) { + $s = -1; return new Value.ptr(ptrType$1.nil, 0, 0); + } + $s = -1; return $clone(v, Value).Method(m.Index); + /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.MethodByName }; } $f._r = _r; $f._tuple = _tuple; $f.m = m; $f.name$1 = name$1; $f.ok = ok; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + Value.prototype.MethodByName = function(name$1) { return this.$val.MethodByName(name$1); }; + Value.ptr.prototype.NumField = function() { + var tt, v; + v = this; + new flag(v.flag).mustBe(25); + tt = (v.typ.kindType); + return tt.fields.$length; + }; + Value.prototype.NumField = function() { return this.$val.NumField(); }; + Value.ptr.prototype.OverflowComplex = function(x) { + var _1, k, v, x; + v = this; + k = new flag(v.flag).kind(); + _1 = k; + if (_1 === (15)) { + return overflowFloat32(x.$real) || overflowFloat32(x.$imag); + } else if (_1 === (16)) { + return false; + } + $panic(new ValueError.ptr("reflect.Value.OverflowComplex", new flag(v.flag).kind())); + }; + Value.prototype.OverflowComplex = function(x) { return this.$val.OverflowComplex(x); }; + Value.ptr.prototype.OverflowFloat = function(x) { + var _1, k, v, x; + v = this; + k = new flag(v.flag).kind(); + _1 = k; + if (_1 === (13)) { + return overflowFloat32(x); + } else if (_1 === (14)) { + return false; + } + $panic(new ValueError.ptr("reflect.Value.OverflowFloat", new flag(v.flag).kind())); + }; + Value.prototype.OverflowFloat = function(x) { return this.$val.OverflowFloat(x); }; + overflowFloat32 = function(x) { + var x; + if (x < 0) { + x = -x; + } + return 3.4028234663852886e+38 < x && x <= 1.7976931348623157e+308; + }; + Value.ptr.prototype.OverflowInt = function(x) { + var _1, bitSize, k, trunc, v, x; + v = this; + k = new flag(v.flag).kind(); + _1 = k; + if ((_1 === (2)) || (_1 === (3)) || (_1 === (4)) || (_1 === (5)) || (_1 === (6))) { + bitSize = $imul(v.typ.size, 8) >>> 0; + trunc = $shiftRightInt64(($shiftLeft64(x, ((64 - bitSize >>> 0)))), ((64 - bitSize >>> 0))); + return !((x.$high === trunc.$high && x.$low === trunc.$low)); + } + $panic(new ValueError.ptr("reflect.Value.OverflowInt", new flag(v.flag).kind())); + }; + Value.prototype.OverflowInt = function(x) { return this.$val.OverflowInt(x); }; + Value.ptr.prototype.OverflowUint = function(x) { + var _1, bitSize, k, trunc, v, x; + v = this; + k = new flag(v.flag).kind(); + _1 = k; + if ((_1 === (7)) || (_1 === (12)) || (_1 === (8)) || (_1 === (9)) || (_1 === (10)) || (_1 === (11))) { + bitSize = $imul(v.typ.size, 8) >>> 0; + trunc = $shiftRightUint64(($shiftLeft64(x, ((64 - bitSize >>> 0)))), ((64 - bitSize >>> 0))); + return !((x.$high === trunc.$high && x.$low === trunc.$low)); + } + $panic(new ValueError.ptr("reflect.Value.OverflowUint", new flag(v.flag).kind())); + }; + Value.prototype.OverflowUint = function(x) { return this.$val.OverflowUint(x); }; + Value.ptr.prototype.Recv = function() { + var _r, _tuple, ok, v, x, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; ok = $f.ok; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + x = new Value.ptr(ptrType$1.nil, 0, 0); + ok = false; + v = this; + new flag(v.flag).mustBe(18); + new flag(v.flag).mustBeExported(); + _r = $clone(v, Value).recv(false); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + _tuple = _r; + x = _tuple[0]; + ok = _tuple[1]; + $s = -1; return [x, ok]; + /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Recv }; } $f._r = _r; $f._tuple = _tuple; $f.ok = ok; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; + }; + Value.prototype.Recv = function() { return this.$val.Recv(); }; + Value.ptr.prototype.recv = function(nb) { + var _r, _tuple, nb, ok, p, selected, t, tt, v, val, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; nb = $f.nb; ok = $f.ok; p = $f.p; selected = $f.selected; t = $f.t; tt = $f.tt; v = $f.v; val = $f.val; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + val = new Value.ptr(ptrType$1.nil, 0, 0); + ok = false; + v = this; + tt = (v.typ.kindType); + if ((((tt.dir >> 0)) & 1) === 0) { + $panic(new $String("reflect: recv on send-only channel")); + } + t = tt.elem; + val = new Value.ptr(t, 0, ((t.Kind() >>> 0))); + p = 0; + if (ifaceIndir(t)) { + p = unsafe_New(t); + val.ptr = p; + val.flag = (val.flag | (128)) >>> 0; + } else { + p = ((val.$ptr_ptr || (val.$ptr_ptr = new ptrType$15(function() { return this.$target.ptr; }, function($v) { this.$target.ptr = $v; }, val)))); + } + _r = chanrecv($clone(v, Value).pointer(), nb, p); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + _tuple = _r; + selected = _tuple[0]; + ok = _tuple[1]; + if (!selected) { + val = new Value.ptr(ptrType$1.nil, 0, 0); + } + $s = -1; return [val, ok]; + /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.recv }; } $f._r = _r; $f._tuple = _tuple; $f.nb = nb; $f.ok = ok; $f.p = p; $f.selected = selected; $f.t = t; $f.tt = tt; $f.v = v; $f.val = val; $f.$s = $s; $f.$r = $r; return $f; + }; + Value.prototype.recv = function(nb) { return this.$val.recv(nb); }; + Value.ptr.prototype.Send = function(x) { + var _r, v, x, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + v = this; + new flag(v.flag).mustBe(18); + new flag(v.flag).mustBeExported(); + _r = $clone(v, Value).send($clone(x, Value), false); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + _r; + $s = -1; return; + /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Send }; } $f._r = _r; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; + }; + Value.prototype.Send = function(x) { return this.$val.Send(x); }; + Value.ptr.prototype.send = function(x, nb) { + var _r, _r$1, nb, p, selected, tt, v, x, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; nb = $f.nb; p = $f.p; selected = $f.selected; tt = $f.tt; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + selected = false; + v = this; + tt = (v.typ.kindType); + if ((((tt.dir >> 0)) & 2) === 0) { + $panic(new $String("reflect: send on recv-only channel")); + } + new flag(x.flag).mustBeExported(); + _r = $clone(x, Value).assignTo("reflect.Value.Send", tt.elem, 0); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + x = _r; + p = 0; + if (!((((x.flag & 128) >>> 0) === 0))) { + p = x.ptr; + } else { + p = ((x.$ptr_ptr || (x.$ptr_ptr = new ptrType$15(function() { return this.$target.ptr; }, function($v) { this.$target.ptr = $v; }, x)))); + } + _r$1 = chansend($clone(v, Value).pointer(), p, nb); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + selected = _r$1; + $s = -1; return selected; + /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.send }; } $f._r = _r; $f._r$1 = _r$1; $f.nb = nb; $f.p = p; $f.selected = selected; $f.tt = tt; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; + }; + Value.prototype.send = function(x, nb) { return this.$val.send(x, nb); }; + Value.ptr.prototype.SetBool = function(x) { + var v, x; + v = this; + new flag(v.flag).mustBeAssignable(); + new flag(v.flag).mustBe(1); + (v.ptr).$set(x); + }; + Value.prototype.SetBool = function(x) { return this.$val.SetBool(x); }; + Value.ptr.prototype.setRunes = function(x) { + var _r, v, x, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + v = this; + new flag(v.flag).mustBeAssignable(); + new flag(v.flag).mustBe(23); + _r = v.typ.Elem().Kind(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + /* */ if (!((_r === 5))) { $s = 1; continue; } + /* */ $s = 2; continue; + /* if (!((_r === 5))) { */ case 1: + $panic(new $String("reflect.Value.setRunes of non-rune slice")); + /* } */ case 2: + (v.ptr).$set(x); + $s = -1; return; + /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.setRunes }; } $f._r = _r; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; + }; + Value.prototype.setRunes = function(x) { return this.$val.setRunes(x); }; + Value.ptr.prototype.SetComplex = function(x) { + var _1, k, v, x; + v = this; + new flag(v.flag).mustBeAssignable(); + k = new flag(v.flag).kind(); + _1 = k; + if (_1 === (15)) { + (v.ptr).$set((new $Complex64(x.$real, x.$imag))); + } else if (_1 === (16)) { + (v.ptr).$set(x); + } else { + $panic(new ValueError.ptr("reflect.Value.SetComplex", new flag(v.flag).kind())); + } + }; + Value.prototype.SetComplex = function(x) { return this.$val.SetComplex(x); }; + Value.ptr.prototype.SetFloat = function(x) { + var _1, k, v, x; + v = this; + new flag(v.flag).mustBeAssignable(); + k = new flag(v.flag).kind(); + _1 = k; + if (_1 === (13)) { + (v.ptr).$set(($fround(x))); + } else if (_1 === (14)) { + (v.ptr).$set(x); + } else { + $panic(new ValueError.ptr("reflect.Value.SetFloat", new flag(v.flag).kind())); + } + }; + Value.prototype.SetFloat = function(x) { return this.$val.SetFloat(x); }; + Value.ptr.prototype.SetInt = function(x) { + var _1, k, v, x; + v = this; + new flag(v.flag).mustBeAssignable(); + k = new flag(v.flag).kind(); + _1 = k; + if (_1 === (2)) { + (v.ptr).$set((((x.$low + ((x.$high >> 31) * 4294967296)) >> 0))); + } else if (_1 === (3)) { + (v.ptr).$set((((x.$low + ((x.$high >> 31) * 4294967296)) << 24 >> 24))); + } else if (_1 === (4)) { + (v.ptr).$set((((x.$low + ((x.$high >> 31) * 4294967296)) << 16 >> 16))); + } else if (_1 === (5)) { + (v.ptr).$set((((x.$low + ((x.$high >> 31) * 4294967296)) >> 0))); + } else if (_1 === (6)) { + (v.ptr).$set(x); + } else { + $panic(new ValueError.ptr("reflect.Value.SetInt", new flag(v.flag).kind())); + } + }; + Value.prototype.SetInt = function(x) { return this.$val.SetInt(x); }; + Value.ptr.prototype.SetMapIndex = function(key, val) { + var _r, _r$1, e, k, key, tt, v, val, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; e = $f.e; k = $f.k; key = $f.key; tt = $f.tt; v = $f.v; val = $f.val; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + v = this; + new flag(v.flag).mustBe(21); + new flag(v.flag).mustBeExported(); + new flag(key.flag).mustBeExported(); + tt = (v.typ.kindType); + _r = $clone(key, Value).assignTo("reflect.Value.SetMapIndex", tt.key, 0); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + key = _r; + k = 0; + if (!((((key.flag & 128) >>> 0) === 0))) { + k = key.ptr; + } else { + k = ((key.$ptr_ptr || (key.$ptr_ptr = new ptrType$15(function() { return this.$target.ptr; }, function($v) { this.$target.ptr = $v; }, key)))); + } + if (val.typ === ptrType$1.nil) { + mapdelete(v.typ, $clone(v, Value).pointer(), k); + $s = -1; return; + } + new flag(val.flag).mustBeExported(); + _r$1 = $clone(val, Value).assignTo("reflect.Value.SetMapIndex", tt.elem, 0); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + val = _r$1; + e = 0; + if (!((((val.flag & 128) >>> 0) === 0))) { + e = val.ptr; + } else { + e = ((val.$ptr_ptr || (val.$ptr_ptr = new ptrType$15(function() { return this.$target.ptr; }, function($v) { this.$target.ptr = $v; }, val)))); + } + $r = mapassign(v.typ, $clone(v, Value).pointer(), k, e); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $s = -1; return; + /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.SetMapIndex }; } $f._r = _r; $f._r$1 = _r$1; $f.e = e; $f.k = k; $f.key = key; $f.tt = tt; $f.v = v; $f.val = val; $f.$s = $s; $f.$r = $r; return $f; + }; + Value.prototype.SetMapIndex = function(key, val) { return this.$val.SetMapIndex(key, val); }; + Value.ptr.prototype.SetUint = function(x) { + var _1, k, v, x; + v = this; + new flag(v.flag).mustBeAssignable(); + k = new flag(v.flag).kind(); + _1 = k; + if (_1 === (7)) { + (v.ptr).$set(((x.$low >>> 0))); + } else if (_1 === (8)) { + (v.ptr).$set(((x.$low << 24 >>> 24))); + } else if (_1 === (9)) { + (v.ptr).$set(((x.$low << 16 >>> 16))); + } else if (_1 === (10)) { + (v.ptr).$set(((x.$low >>> 0))); + } else if (_1 === (11)) { + (v.ptr).$set(x); + } else if (_1 === (12)) { + (v.ptr).$set(((x.$low >>> 0))); + } else { + $panic(new ValueError.ptr("reflect.Value.SetUint", new flag(v.flag).kind())); + } + }; + Value.prototype.SetUint = function(x) { return this.$val.SetUint(x); }; + Value.ptr.prototype.SetPointer = function(x) { + var v, x; + v = this; + new flag(v.flag).mustBeAssignable(); + new flag(v.flag).mustBe(26); + (v.ptr).$set(x); + }; + Value.prototype.SetPointer = function(x) { return this.$val.SetPointer(x); }; + Value.ptr.prototype.SetString = function(x) { + var v, x; + v = this; + new flag(v.flag).mustBeAssignable(); + new flag(v.flag).mustBe(24); + (v.ptr).$set(x); + }; + Value.prototype.SetString = function(x) { return this.$val.SetString(x); }; + Value.ptr.prototype.String = function() { + var _1, _r, k, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; k = $f.k; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + v = this; + k = new flag(v.flag).kind(); + _1 = k; + if (_1 === (0)) { + $s = -1; return ""; + } else if (_1 === (24)) { + $s = -1; return (v.ptr).$get(); + } + _r = $clone(v, Value).Type().String(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + $s = -1; return "<" + _r + " Value>"; + /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.String }; } $f._1 = _1; $f._r = _r; $f.k = k; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + Value.prototype.String = function() { return this.$val.String(); }; + Value.ptr.prototype.TryRecv = function() { + var _r, _tuple, ok, v, x, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; ok = $f.ok; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + x = new Value.ptr(ptrType$1.nil, 0, 0); + ok = false; + v = this; + new flag(v.flag).mustBe(18); + new flag(v.flag).mustBeExported(); + _r = $clone(v, Value).recv(true); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + _tuple = _r; + x = _tuple[0]; + ok = _tuple[1]; + $s = -1; return [x, ok]; + /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.TryRecv }; } $f._r = _r; $f._tuple = _tuple; $f.ok = ok; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; + }; + Value.prototype.TryRecv = function() { return this.$val.TryRecv(); }; + Value.ptr.prototype.TrySend = function(x) { + var _r, v, x, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + v = this; + new flag(v.flag).mustBe(18); + new flag(v.flag).mustBeExported(); + _r = $clone(v, Value).send($clone(x, Value), true); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + $s = -1; return _r; + /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.TrySend }; } $f._r = _r; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; + }; + Value.prototype.TrySend = function(x) { return this.$val.TrySend(x); }; + Value.ptr.prototype.Type = function() { + var f, i, m, m$1, ms, tt, v, x; + v = this; + f = v.flag; + if (f === 0) { + $panic(new ValueError.ptr("reflect.Value.Type", 0)); + } + if (((f & 512) >>> 0) === 0) { + return v.typ; + } + i = ((v.flag >> 0)) >> 10 >> 0; + if (v.typ.Kind() === 20) { + tt = (v.typ.kindType); + if (((i >>> 0)) >= ((tt.methods.$length >>> 0))) { + $panic(new $String("reflect: internal error: invalid method index")); + } + m = (x = tt.methods, ((i < 0 || i >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + i])); + return v.typ.typeOff(m.typ); + } + ms = v.typ.exportedMethods(); + if (((i >>> 0)) >= ((ms.$length >>> 0))) { + $panic(new $String("reflect: internal error: invalid method index")); + } + m$1 = $clone(((i < 0 || i >= ms.$length) ? ($throwRuntimeError("index out of range"), undefined) : ms.$array[ms.$offset + i]), method); + return v.typ.typeOff(m$1.mtyp); + }; + Value.prototype.Type = function() { return this.$val.Type(); }; + Value.ptr.prototype.Uint = function() { + var _1, k, p, v, x; + v = this; + k = new flag(v.flag).kind(); + p = v.ptr; + _1 = k; + if (_1 === (7)) { + return (new $Uint64(0, (p).$get())); + } else if (_1 === (8)) { + return (new $Uint64(0, (p).$get())); + } else if (_1 === (9)) { + return (new $Uint64(0, (p).$get())); + } else if (_1 === (10)) { + return (new $Uint64(0, (p).$get())); + } else if (_1 === (11)) { + return (p).$get(); + } else if (_1 === (12)) { + return ((x = (p).$get(), new $Uint64(0, x.constructor === Number ? x : 1))); + } + $panic(new ValueError.ptr("reflect.Value.Uint", new flag(v.flag).kind())); + }; + Value.prototype.Uint = function() { return this.$val.Uint(); }; + Value.ptr.prototype.UnsafeAddr = function() { + var v; + v = this; + if (v.typ === ptrType$1.nil) { + $panic(new ValueError.ptr("reflect.Value.UnsafeAddr", 0)); + } + if (((v.flag & 256) >>> 0) === 0) { + $panic(new $String("reflect.Value.UnsafeAddr of unaddressable value")); + } + return (v.ptr); + }; + Value.prototype.UnsafeAddr = function() { return this.$val.UnsafeAddr(); }; + typesMustMatch = function(what, t1, t2) { + var _r, _r$1, t1, t2, what, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; t1 = $f.t1; t2 = $f.t2; what = $f.what; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + /* */ if (!($interfaceIsEqual(t1, t2))) { $s = 1; continue; } + /* */ $s = 2; continue; + /* if (!($interfaceIsEqual(t1, t2))) { */ case 1: + _r = t1.String(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + _r$1 = t2.String(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + $panic(new $String(what + ": " + _r + " != " + _r$1)); + /* } */ case 2: + $s = -1; return; + /* */ } return; } if ($f === undefined) { $f = { $blk: typesMustMatch }; } $f._r = _r; $f._r$1 = _r$1; $f.t1 = t1; $f.t2 = t2; $f.what = what; $f.$s = $s; $f.$r = $r; return $f; + }; + MakeMap = function(typ) { + var _r, typ, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; typ = $f.typ; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + _r = MakeMapWithSize(typ, 0); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + $s = -1; return _r; + /* */ } return; } if ($f === undefined) { $f = { $blk: MakeMap }; } $f._r = _r; $f.typ = typ; $f.$s = $s; $f.$r = $r; return $f; + }; + $pkg.MakeMap = MakeMap; + MakeMapWithSize = function(typ, n) { + var _r, m, n, t, typ, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; m = $f.m; n = $f.n; t = $f.t; typ = $f.typ; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + _r = typ.Kind(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + /* */ if (!((_r === 21))) { $s = 1; continue; } + /* */ $s = 2; continue; + /* if (!((_r === 21))) { */ case 1: + $panic(new $String("reflect.MakeMapWithSize of non-map type")); + /* } */ case 2: + t = $assertType(typ, ptrType$1); + m = makemap(t, n); + $s = -1; return new Value.ptr(t, m, 21); + /* */ } return; } if ($f === undefined) { $f = { $blk: MakeMapWithSize }; } $f._r = _r; $f.m = m; $f.n = n; $f.t = t; $f.typ = typ; $f.$s = $s; $f.$r = $r; return $f; + }; + $pkg.MakeMapWithSize = MakeMapWithSize; + New = function(typ) { + var fl, ptr, t, typ; + if ($interfaceIsEqual(typ, $ifaceNil)) { + $panic(new $String("reflect: New(nil)")); + } + t = $assertType(typ, ptrType$1); + ptr = unsafe_New(t); + fl = 22; + return new Value.ptr(t.ptrTo(), ptr, fl); + }; + $pkg.New = New; + Value.ptr.prototype.Convert = function(t) { + var _r, _r$1, _r$2, _r$3, _r$4, op, t, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; op = $f.op; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + v = this; + /* */ if (!((((v.flag & 512) >>> 0) === 0))) { $s = 1; continue; } + /* */ $s = 2; continue; + /* if (!((((v.flag & 512) >>> 0) === 0))) { */ case 1: + _r = makeMethodValue("Convert", $clone(v, Value)); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + v = _r; + /* } */ case 2: + _r$1 = t.common(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + _r$2 = convertOp(_r$1, v.typ); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } + op = _r$2; + /* */ if (op === $throwNilPointerError) { $s = 6; continue; } + /* */ $s = 7; continue; + /* if (op === $throwNilPointerError) { */ case 6: + _r$3 = t.String(); /* */ $s = 8; case 8: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; } + $panic(new $String("reflect.Value.Convert: value of type " + v.typ.String() + " cannot be converted to type " + _r$3)); + /* } */ case 7: + _r$4 = op($clone(v, Value), t); /* */ $s = 9; case 9: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; } + $s = -1; return _r$4; + /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Convert }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f.op = op; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + Value.prototype.Convert = function(t) { return this.$val.Convert(t); }; + convertOp = function(dst, src) { + var _1, _2, _3, _4, _5, _6, _7, _arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _v, _v$1, _v$2, dst, src, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _2 = $f._2; _3 = $f._3; _4 = $f._4; _5 = $f._5; _6 = $f._6; _7 = $f._7; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _v = $f._v; _v$1 = $f._v$1; _v$2 = $f._v$2; dst = $f.dst; src = $f.src; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + _1 = src.Kind(); + /* */ if ((_1 === (2)) || (_1 === (3)) || (_1 === (4)) || (_1 === (5)) || (_1 === (6))) { $s = 2; continue; } + /* */ if ((_1 === (7)) || (_1 === (8)) || (_1 === (9)) || (_1 === (10)) || (_1 === (11)) || (_1 === (12))) { $s = 3; continue; } + /* */ if ((_1 === (13)) || (_1 === (14))) { $s = 4; continue; } + /* */ if ((_1 === (15)) || (_1 === (16))) { $s = 5; continue; } + /* */ if (_1 === (24)) { $s = 6; continue; } + /* */ if (_1 === (23)) { $s = 7; continue; } + /* */ $s = 8; continue; + /* if ((_1 === (2)) || (_1 === (3)) || (_1 === (4)) || (_1 === (5)) || (_1 === (6))) { */ case 2: + _2 = dst.Kind(); + if ((_2 === (2)) || (_2 === (3)) || (_2 === (4)) || (_2 === (5)) || (_2 === (6)) || (_2 === (7)) || (_2 === (8)) || (_2 === (9)) || (_2 === (10)) || (_2 === (11)) || (_2 === (12))) { + $s = -1; return cvtInt; + } else if ((_2 === (13)) || (_2 === (14))) { + $s = -1; return cvtIntFloat; + } else if (_2 === (24)) { + $s = -1; return cvtIntString; + } + $s = 8; continue; + /* } else if ((_1 === (7)) || (_1 === (8)) || (_1 === (9)) || (_1 === (10)) || (_1 === (11)) || (_1 === (12))) { */ case 3: + _3 = dst.Kind(); + if ((_3 === (2)) || (_3 === (3)) || (_3 === (4)) || (_3 === (5)) || (_3 === (6)) || (_3 === (7)) || (_3 === (8)) || (_3 === (9)) || (_3 === (10)) || (_3 === (11)) || (_3 === (12))) { + $s = -1; return cvtUint; + } else if ((_3 === (13)) || (_3 === (14))) { + $s = -1; return cvtUintFloat; + } else if (_3 === (24)) { + $s = -1; return cvtUintString; + } + $s = 8; continue; + /* } else if ((_1 === (13)) || (_1 === (14))) { */ case 4: + _4 = dst.Kind(); + if ((_4 === (2)) || (_4 === (3)) || (_4 === (4)) || (_4 === (5)) || (_4 === (6))) { + $s = -1; return cvtFloatInt; + } else if ((_4 === (7)) || (_4 === (8)) || (_4 === (9)) || (_4 === (10)) || (_4 === (11)) || (_4 === (12))) { + $s = -1; return cvtFloatUint; + } else if ((_4 === (13)) || (_4 === (14))) { + $s = -1; return cvtFloat; + } + $s = 8; continue; + /* } else if ((_1 === (15)) || (_1 === (16))) { */ case 5: + _5 = dst.Kind(); + if ((_5 === (15)) || (_5 === (16))) { + $s = -1; return cvtComplex; + } + $s = 8; continue; + /* } else if (_1 === (24)) { */ case 6: + if (!(dst.Kind() === 23)) { _v = false; $s = 11; continue s; } + _r = dst.Elem().PkgPath(); /* */ $s = 12; case 12: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + _v = _r === ""; case 11: + /* */ if (_v) { $s = 9; continue; } + /* */ $s = 10; continue; + /* if (_v) { */ case 9: + _r$1 = dst.Elem().Kind(); /* */ $s = 14; case 14: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + _6 = _r$1; + if (_6 === (8)) { + $s = -1; return cvtStringBytes; + } else if (_6 === (5)) { + $s = -1; return cvtStringRunes; + } + case 13: + /* } */ case 10: + $s = 8; continue; + /* } else if (_1 === (23)) { */ case 7: + if (!(dst.Kind() === 24)) { _v$1 = false; $s = 17; continue s; } + _r$2 = src.Elem().PkgPath(); /* */ $s = 18; case 18: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } + _v$1 = _r$2 === ""; case 17: + /* */ if (_v$1) { $s = 15; continue; } + /* */ $s = 16; continue; + /* if (_v$1) { */ case 15: + _r$3 = src.Elem().Kind(); /* */ $s = 20; case 20: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; } + _7 = _r$3; + if (_7 === (8)) { + $s = -1; return cvtBytesString; + } else if (_7 === (5)) { + $s = -1; return cvtRunesString; + } + case 19: + /* } */ case 16: + /* } */ case 8: + case 1: + _r$4 = haveIdenticalUnderlyingType(dst, src, false); /* */ $s = 23; case 23: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; } + /* */ if (_r$4) { $s = 21; continue; } + /* */ $s = 22; continue; + /* if (_r$4) { */ case 21: + $s = -1; return cvtDirect; + /* } */ case 22: + if (!((dst.Kind() === 22) && dst.Name() === "" && (src.Kind() === 22) && src.Name() === "")) { _v$2 = false; $s = 26; continue s; } + _r$5 = dst.Elem().common(); /* */ $s = 27; case 27: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; } + _arg = _r$5; + _r$6 = src.Elem().common(); /* */ $s = 28; case 28: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; } + _arg$1 = _r$6; + _r$7 = haveIdenticalUnderlyingType(_arg, _arg$1, false); /* */ $s = 29; case 29: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; } + _v$2 = _r$7; case 26: + /* */ if (_v$2) { $s = 24; continue; } + /* */ $s = 25; continue; + /* if (_v$2) { */ case 24: + $s = -1; return cvtDirect; + /* } */ case 25: + if (implements$1(dst, src)) { + if (src.Kind() === 20) { + $s = -1; return cvtI2I; + } + $s = -1; return cvtT2I; + } + $s = -1; return $throwNilPointerError; + /* */ } return; } if ($f === undefined) { $f = { $blk: convertOp }; } $f._1 = _1; $f._2 = _2; $f._3 = _3; $f._4 = _4; $f._5 = _5; $f._6 = _6; $f._7 = _7; $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._v = _v; $f._v$1 = _v$1; $f._v$2 = _v$2; $f.dst = dst; $f.src = src; $f.$s = $s; $f.$r = $r; return $f; + }; + makeFloat = function(f, v, t) { + var _1, _r, f, ptr, t, typ, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; f = $f.f; ptr = $f.ptr; t = $f.t; typ = $f.typ; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + _r = t.common(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + typ = _r; + ptr = unsafe_New(typ); + _1 = typ.size; + if (_1 === (4)) { + (ptr).$set(($fround(v))); + } else if (_1 === (8)) { + (ptr).$set(v); + } + $s = -1; return new Value.ptr(typ, ptr, (((f | 128) >>> 0) | ((typ.Kind() >>> 0))) >>> 0); + /* */ } return; } if ($f === undefined) { $f = { $blk: makeFloat }; } $f._1 = _1; $f._r = _r; $f.f = f; $f.ptr = ptr; $f.t = t; $f.typ = typ; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + makeComplex = function(f, v, t) { + var _1, _r, f, ptr, t, typ, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; f = $f.f; ptr = $f.ptr; t = $f.t; typ = $f.typ; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + _r = t.common(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + typ = _r; + ptr = unsafe_New(typ); + _1 = typ.size; + if (_1 === (8)) { + (ptr).$set((new $Complex64(v.$real, v.$imag))); + } else if (_1 === (16)) { + (ptr).$set(v); + } + $s = -1; return new Value.ptr(typ, ptr, (((f | 128) >>> 0) | ((typ.Kind() >>> 0))) >>> 0); + /* */ } return; } if ($f === undefined) { $f = { $blk: makeComplex }; } $f._1 = _1; $f._r = _r; $f.f = f; $f.ptr = ptr; $f.t = t; $f.typ = typ; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + makeString = function(f, v, t) { + var _r, f, ret, t, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; f = $f.f; ret = $f.ret; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + _r = $clone(New(t), Value).Elem(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + ret = _r; + $clone(ret, Value).SetString(v); + ret.flag = (((ret.flag & ~256) >>> 0) | f) >>> 0; + $s = -1; return ret; + /* */ } return; } if ($f === undefined) { $f = { $blk: makeString }; } $f._r = _r; $f.f = f; $f.ret = ret; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + makeBytes = function(f, v, t) { + var _r, f, ret, t, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; f = $f.f; ret = $f.ret; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + _r = $clone(New(t), Value).Elem(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + ret = _r; + $r = $clone(ret, Value).SetBytes(v); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + ret.flag = (((ret.flag & ~256) >>> 0) | f) >>> 0; + $s = -1; return ret; + /* */ } return; } if ($f === undefined) { $f = { $blk: makeBytes }; } $f._r = _r; $f.f = f; $f.ret = ret; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + makeRunes = function(f, v, t) { + var _r, f, ret, t, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; f = $f.f; ret = $f.ret; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + _r = $clone(New(t), Value).Elem(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + ret = _r; + $r = $clone(ret, Value).setRunes(v); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + ret.flag = (((ret.flag & ~256) >>> 0) | f) >>> 0; + $s = -1; return ret; + /* */ } return; } if ($f === undefined) { $f = { $blk: makeRunes }; } $f._r = _r; $f.f = f; $f.ret = ret; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + cvtInt = function(v, t) { + var _r, t, v, x, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + _r = makeInt(new flag(v.flag).ro(), ((x = $clone(v, Value).Int(), new $Uint64(x.$high, x.$low))), t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + $s = -1; return _r; + /* */ } return; } if ($f === undefined) { $f = { $blk: cvtInt }; } $f._r = _r; $f.t = t; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; + }; + cvtUint = function(v, t) { + var _r, t, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + _r = makeInt(new flag(v.flag).ro(), $clone(v, Value).Uint(), t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + $s = -1; return _r; + /* */ } return; } if ($f === undefined) { $f = { $blk: cvtUint }; } $f._r = _r; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + cvtFloatInt = function(v, t) { + var _r, t, v, x, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + _r = makeInt(new flag(v.flag).ro(), ((x = (new $Int64(0, $clone(v, Value).Float())), new $Uint64(x.$high, x.$low))), t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + $s = -1; return _r; + /* */ } return; } if ($f === undefined) { $f = { $blk: cvtFloatInt }; } $f._r = _r; $f.t = t; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; + }; + cvtFloatUint = function(v, t) { + var _r, t, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + _r = makeInt(new flag(v.flag).ro(), (new $Uint64(0, $clone(v, Value).Float())), t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + $s = -1; return _r; + /* */ } return; } if ($f === undefined) { $f = { $blk: cvtFloatUint }; } $f._r = _r; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + cvtIntFloat = function(v, t) { + var _r, t, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + _r = makeFloat(new flag(v.flag).ro(), ($flatten64($clone(v, Value).Int())), t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + $s = -1; return _r; + /* */ } return; } if ($f === undefined) { $f = { $blk: cvtIntFloat }; } $f._r = _r; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + cvtUintFloat = function(v, t) { + var _r, t, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + _r = makeFloat(new flag(v.flag).ro(), ($flatten64($clone(v, Value).Uint())), t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + $s = -1; return _r; + /* */ } return; } if ($f === undefined) { $f = { $blk: cvtUintFloat }; } $f._r = _r; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + cvtFloat = function(v, t) { + var _r, t, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + _r = makeFloat(new flag(v.flag).ro(), $clone(v, Value).Float(), t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + $s = -1; return _r; + /* */ } return; } if ($f === undefined) { $f = { $blk: cvtFloat }; } $f._r = _r; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + cvtComplex = function(v, t) { + var _r, t, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + _r = makeComplex(new flag(v.flag).ro(), $clone(v, Value).Complex(), t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + $s = -1; return _r; + /* */ } return; } if ($f === undefined) { $f = { $blk: cvtComplex }; } $f._r = _r; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + cvtIntString = function(v, t) { + var _r, t, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + _r = makeString(new flag(v.flag).ro(), ($encodeRune($clone(v, Value).Int().$low)), t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + $s = -1; return _r; + /* */ } return; } if ($f === undefined) { $f = { $blk: cvtIntString }; } $f._r = _r; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + cvtUintString = function(v, t) { + var _r, t, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + _r = makeString(new flag(v.flag).ro(), ($encodeRune($clone(v, Value).Uint().$low)), t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + $s = -1; return _r; + /* */ } return; } if ($f === undefined) { $f = { $blk: cvtUintString }; } $f._r = _r; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + cvtBytesString = function(v, t) { + var _arg, _arg$1, _arg$2, _r, _r$1, t, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _r = $f._r; _r$1 = $f._r$1; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + _arg = new flag(v.flag).ro(); + _r = $clone(v, Value).Bytes(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + _arg$1 = ($bytesToString(_r)); + _arg$2 = t; + _r$1 = makeString(_arg, _arg$1, _arg$2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + $s = -1; return _r$1; + /* */ } return; } if ($f === undefined) { $f = { $blk: cvtBytesString }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._r = _r; $f._r$1 = _r$1; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + cvtStringBytes = function(v, t) { + var _arg, _arg$1, _arg$2, _r, _r$1, t, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _r = $f._r; _r$1 = $f._r$1; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + _arg = new flag(v.flag).ro(); + _r = $clone(v, Value).String(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + _arg$1 = (new sliceType$15($stringToBytes(_r))); + _arg$2 = t; + _r$1 = makeBytes(_arg, _arg$1, _arg$2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + $s = -1; return _r$1; + /* */ } return; } if ($f === undefined) { $f = { $blk: cvtStringBytes }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._r = _r; $f._r$1 = _r$1; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + cvtRunesString = function(v, t) { + var _arg, _arg$1, _arg$2, _r, _r$1, t, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _r = $f._r; _r$1 = $f._r$1; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + _arg = new flag(v.flag).ro(); + _r = $clone(v, Value).runes(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + _arg$1 = ($runesToString(_r)); + _arg$2 = t; + _r$1 = makeString(_arg, _arg$1, _arg$2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + $s = -1; return _r$1; + /* */ } return; } if ($f === undefined) { $f = { $blk: cvtRunesString }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._r = _r; $f._r$1 = _r$1; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + cvtStringRunes = function(v, t) { + var _arg, _arg$1, _arg$2, _r, _r$1, t, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _r = $f._r; _r$1 = $f._r$1; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + _arg = new flag(v.flag).ro(); + _r = $clone(v, Value).String(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + _arg$1 = (new sliceType$17($stringToRunes(_r))); + _arg$2 = t; + _r$1 = makeRunes(_arg, _arg$1, _arg$2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + $s = -1; return _r$1; + /* */ } return; } if ($f === undefined) { $f = { $blk: cvtStringRunes }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._r = _r; $f._r$1 = _r$1; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + cvtT2I = function(v, typ) { + var _r, _r$1, _r$2, _r$3, _r$4, target, typ, v, x, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; target = $f.target; typ = $f.typ; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + _r = typ.common(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + _r$1 = unsafe_New(_r); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + target = _r$1; + _r$2 = valueInterface($clone(v, Value), false); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } + x = _r$2; + _r$3 = typ.NumMethod(); /* */ $s = 7; case 7: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; } + /* */ if (_r$3 === 0) { $s = 4; continue; } + /* */ $s = 5; continue; + /* if (_r$3 === 0) { */ case 4: + (target).$set(x); + $s = 6; continue; + /* } else { */ case 5: + ifaceE2I($assertType(typ, ptrType$1), x, target); + /* } */ case 6: + _r$4 = typ.common(); /* */ $s = 8; case 8: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; } + $s = -1; return new Value.ptr(_r$4, target, (((new flag(v.flag).ro() | 128) >>> 0) | 20) >>> 0); + /* */ } return; } if ($f === undefined) { $f = { $blk: cvtT2I }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f.target = target; $f.typ = typ; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; + }; + cvtI2I = function(v, typ) { + var _r, _r$1, _r$2, ret, typ, v, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; ret = $f.ret; typ = $f.typ; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + /* */ if ($clone(v, Value).IsNil()) { $s = 1; continue; } + /* */ $s = 2; continue; + /* if ($clone(v, Value).IsNil()) { */ case 1: + _r = Zero(typ); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + ret = _r; + ret.flag = (ret.flag | (new flag(v.flag).ro())) >>> 0; + $s = -1; return ret; + /* } */ case 2: + _r$1 = $clone(v, Value).Elem(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + _r$2 = cvtT2I($clone(_r$1, Value), typ); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } + $s = -1; return _r$2; + /* */ } return; } if ($f === undefined) { $f = { $blk: cvtI2I }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.ret = ret; $f.typ = typ; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; + }; + ptrType$5.methods = [{prop: "methods", name: "methods", pkg: "reflect", typ: $funcType([], [sliceType$5], false)}, {prop: "exportedMethods", name: "exportedMethods", pkg: "reflect", typ: $funcType([], [sliceType$5], false)}]; + ptrType$16.methods = [{prop: "in$", name: "in", pkg: "reflect", typ: $funcType([], [sliceType$2], false)}, {prop: "out", name: "out", pkg: "reflect", typ: $funcType([], [sliceType$2], false)}]; + name.methods = [{prop: "name", name: "name", pkg: "reflect", typ: $funcType([], [$String], false)}, {prop: "tag", name: "tag", pkg: "reflect", typ: $funcType([], [$String], false)}, {prop: "pkgPath", name: "pkgPath", pkg: "reflect", typ: $funcType([], [$String], false)}, {prop: "isExported", name: "isExported", pkg: "reflect", typ: $funcType([], [$Bool], false)}, {prop: "data", name: "data", pkg: "reflect", typ: $funcType([$Int, $String], [ptrType$4], false)}, {prop: "nameLen", name: "nameLen", pkg: "reflect", typ: $funcType([], [$Int], false)}, {prop: "tagLen", name: "tagLen", pkg: "reflect", typ: $funcType([], [$Int], false)}]; + Kind.methods = [{prop: "String", name: "String", pkg: "", typ: $funcType([], [$String], false)}]; + ptrType$1.methods = [{prop: "uncommon", name: "uncommon", pkg: "reflect", typ: $funcType([], [ptrType$5], false)}, {prop: "nameOff", name: "nameOff", pkg: "reflect", typ: $funcType([nameOff], [name], false)}, {prop: "typeOff", name: "typeOff", pkg: "reflect", typ: $funcType([typeOff], [ptrType$1], false)}, {prop: "ptrTo", name: "ptrTo", pkg: "reflect", typ: $funcType([], [ptrType$1], false)}, {prop: "pointers", name: "pointers", pkg: "reflect", typ: $funcType([], [$Bool], false)}, {prop: "Comparable", name: "Comparable", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "Method", name: "Method", pkg: "", typ: $funcType([$Int], [Method], false)}, {prop: "textOff", name: "textOff", pkg: "reflect", typ: $funcType([textOff], [$UnsafePointer], false)}, {prop: "String", name: "String", pkg: "", typ: $funcType([], [$String], false)}, {prop: "Size", name: "Size", pkg: "", typ: $funcType([], [$Uintptr], false)}, {prop: "Bits", name: "Bits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "Align", name: "Align", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "FieldAlign", name: "FieldAlign", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "Kind", name: "Kind", pkg: "", typ: $funcType([], [Kind], false)}, {prop: "common", name: "common", pkg: "reflect", typ: $funcType([], [ptrType$1], false)}, {prop: "exportedMethods", name: "exportedMethods", pkg: "reflect", typ: $funcType([], [sliceType$5], false)}, {prop: "NumMethod", name: "NumMethod", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "MethodByName", name: "MethodByName", pkg: "", typ: $funcType([$String], [Method, $Bool], false)}, {prop: "PkgPath", name: "PkgPath", pkg: "", typ: $funcType([], [$String], false)}, {prop: "Name", name: "Name", pkg: "", typ: $funcType([], [$String], false)}, {prop: "ChanDir", name: "ChanDir", pkg: "", typ: $funcType([], [ChanDir], false)}, {prop: "IsVariadic", name: "IsVariadic", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "Elem", name: "Elem", pkg: "", typ: $funcType([], [Type], false)}, {prop: "Field", name: "Field", pkg: "", typ: $funcType([$Int], [StructField], false)}, {prop: "FieldByIndex", name: "FieldByIndex", pkg: "", typ: $funcType([sliceType$13], [StructField], false)}, {prop: "FieldByName", name: "FieldByName", pkg: "", typ: $funcType([$String], [StructField, $Bool], false)}, {prop: "FieldByNameFunc", name: "FieldByNameFunc", pkg: "", typ: $funcType([funcType$3], [StructField, $Bool], false)}, {prop: "In", name: "In", pkg: "", typ: $funcType([$Int], [Type], false)}, {prop: "Key", name: "Key", pkg: "", typ: $funcType([], [Type], false)}, {prop: "Len", name: "Len", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "NumField", name: "NumField", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "NumIn", name: "NumIn", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "NumOut", name: "NumOut", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "Out", name: "Out", pkg: "", typ: $funcType([$Int], [Type], false)}, {prop: "Implements", name: "Implements", pkg: "", typ: $funcType([Type], [$Bool], false)}, {prop: "AssignableTo", name: "AssignableTo", pkg: "", typ: $funcType([Type], [$Bool], false)}, {prop: "ConvertibleTo", name: "ConvertibleTo", pkg: "", typ: $funcType([Type], [$Bool], false)}]; + ChanDir.methods = [{prop: "String", name: "String", pkg: "", typ: $funcType([], [$String], false)}]; + ptrType$7.methods = [{prop: "Method", name: "Method", pkg: "", typ: $funcType([$Int], [Method], false)}, {prop: "NumMethod", name: "NumMethod", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "MethodByName", name: "MethodByName", pkg: "", typ: $funcType([$String], [Method, $Bool], false)}]; + ptrType$17.methods = [{prop: "offset", name: "offset", pkg: "reflect", typ: $funcType([], [$Uintptr], false)}, {prop: "embedded", name: "embedded", pkg: "reflect", typ: $funcType([], [$Bool], false)}]; + ptrType$9.methods = [{prop: "Field", name: "Field", pkg: "", typ: $funcType([$Int], [StructField], false)}, {prop: "FieldByIndex", name: "FieldByIndex", pkg: "", typ: $funcType([sliceType$13], [StructField], false)}, {prop: "FieldByNameFunc", name: "FieldByNameFunc", pkg: "", typ: $funcType([funcType$3], [StructField, $Bool], false)}, {prop: "FieldByName", name: "FieldByName", pkg: "", typ: $funcType([$String], [StructField, $Bool], false)}]; + StructTag.methods = [{prop: "Get", name: "Get", pkg: "", typ: $funcType([$String], [$String], false)}, {prop: "Lookup", name: "Lookup", pkg: "", typ: $funcType([$String], [$String, $Bool], false)}]; + Value.methods = [{prop: "object", name: "object", pkg: "reflect", typ: $funcType([], [ptrType$2], false)}, {prop: "assignTo", name: "assignTo", pkg: "reflect", typ: $funcType([$String, ptrType$1, $UnsafePointer], [Value], false)}, {prop: "call", name: "call", pkg: "reflect", typ: $funcType([$String, sliceType$9], [sliceType$9], false)}, {prop: "Cap", name: "Cap", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "Elem", name: "Elem", pkg: "", typ: $funcType([], [Value], false)}, {prop: "Field", name: "Field", pkg: "", typ: $funcType([$Int], [Value], false)}, {prop: "Index", name: "Index", pkg: "", typ: $funcType([$Int], [Value], false)}, {prop: "InterfaceData", name: "InterfaceData", pkg: "", typ: $funcType([], [arrayType$12], false)}, {prop: "IsNil", name: "IsNil", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "Len", name: "Len", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "Pointer", name: "Pointer", pkg: "", typ: $funcType([], [$Uintptr], false)}, {prop: "Set", name: "Set", pkg: "", typ: $funcType([Value], [], false)}, {prop: "SetBytes", name: "SetBytes", pkg: "", typ: $funcType([sliceType$15], [], false)}, {prop: "SetCap", name: "SetCap", pkg: "", typ: $funcType([$Int], [], false)}, {prop: "SetLen", name: "SetLen", pkg: "", typ: $funcType([$Int], [], false)}, {prop: "Slice", name: "Slice", pkg: "", typ: $funcType([$Int, $Int], [Value], false)}, {prop: "Slice3", name: "Slice3", pkg: "", typ: $funcType([$Int, $Int, $Int], [Value], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [], false)}, {prop: "pointer", name: "pointer", pkg: "reflect", typ: $funcType([], [$UnsafePointer], false)}, {prop: "Addr", name: "Addr", pkg: "", typ: $funcType([], [Value], false)}, {prop: "Bool", name: "Bool", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "Bytes", name: "Bytes", pkg: "", typ: $funcType([], [sliceType$15], false)}, {prop: "runes", name: "runes", pkg: "reflect", typ: $funcType([], [sliceType$17], false)}, {prop: "CanAddr", name: "CanAddr", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "CanSet", name: "CanSet", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "Call", name: "Call", pkg: "", typ: $funcType([sliceType$9], [sliceType$9], false)}, {prop: "CallSlice", name: "CallSlice", pkg: "", typ: $funcType([sliceType$9], [sliceType$9], false)}, {prop: "Complex", name: "Complex", pkg: "", typ: $funcType([], [$Complex128], false)}, {prop: "FieldByIndex", name: "FieldByIndex", pkg: "", typ: $funcType([sliceType$13], [Value], false)}, {prop: "FieldByName", name: "FieldByName", pkg: "", typ: $funcType([$String], [Value], false)}, {prop: "FieldByNameFunc", name: "FieldByNameFunc", pkg: "", typ: $funcType([funcType$3], [Value], false)}, {prop: "Float", name: "Float", pkg: "", typ: $funcType([], [$Float64], false)}, {prop: "Int", name: "Int", pkg: "", typ: $funcType([], [$Int64], false)}, {prop: "CanInterface", name: "CanInterface", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "Interface", name: "Interface", pkg: "", typ: $funcType([], [$emptyInterface], false)}, {prop: "IsValid", name: "IsValid", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "Kind", name: "Kind", pkg: "", typ: $funcType([], [Kind], false)}, {prop: "MapIndex", name: "MapIndex", pkg: "", typ: $funcType([Value], [Value], false)}, {prop: "MapKeys", name: "MapKeys", pkg: "", typ: $funcType([], [sliceType$9], false)}, {prop: "Method", name: "Method", pkg: "", typ: $funcType([$Int], [Value], false)}, {prop: "NumMethod", name: "NumMethod", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "MethodByName", name: "MethodByName", pkg: "", typ: $funcType([$String], [Value], false)}, {prop: "NumField", name: "NumField", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "OverflowComplex", name: "OverflowComplex", pkg: "", typ: $funcType([$Complex128], [$Bool], false)}, {prop: "OverflowFloat", name: "OverflowFloat", pkg: "", typ: $funcType([$Float64], [$Bool], false)}, {prop: "OverflowInt", name: "OverflowInt", pkg: "", typ: $funcType([$Int64], [$Bool], false)}, {prop: "OverflowUint", name: "OverflowUint", pkg: "", typ: $funcType([$Uint64], [$Bool], false)}, {prop: "Recv", name: "Recv", pkg: "", typ: $funcType([], [Value, $Bool], false)}, {prop: "recv", name: "recv", pkg: "reflect", typ: $funcType([$Bool], [Value, $Bool], false)}, {prop: "Send", name: "Send", pkg: "", typ: $funcType([Value], [], false)}, {prop: "send", name: "send", pkg: "reflect", typ: $funcType([Value, $Bool], [$Bool], false)}, {prop: "SetBool", name: "SetBool", pkg: "", typ: $funcType([$Bool], [], false)}, {prop: "setRunes", name: "setRunes", pkg: "reflect", typ: $funcType([sliceType$17], [], false)}, {prop: "SetComplex", name: "SetComplex", pkg: "", typ: $funcType([$Complex128], [], false)}, {prop: "SetFloat", name: "SetFloat", pkg: "", typ: $funcType([$Float64], [], false)}, {prop: "SetInt", name: "SetInt", pkg: "", typ: $funcType([$Int64], [], false)}, {prop: "SetMapIndex", name: "SetMapIndex", pkg: "", typ: $funcType([Value, Value], [], false)}, {prop: "SetUint", name: "SetUint", pkg: "", typ: $funcType([$Uint64], [], false)}, {prop: "SetPointer", name: "SetPointer", pkg: "", typ: $funcType([$UnsafePointer], [], false)}, {prop: "SetString", name: "SetString", pkg: "", typ: $funcType([$String], [], false)}, {prop: "String", name: "String", pkg: "", typ: $funcType([], [$String], false)}, {prop: "TryRecv", name: "TryRecv", pkg: "", typ: $funcType([], [Value, $Bool], false)}, {prop: "TrySend", name: "TrySend", pkg: "", typ: $funcType([Value], [$Bool], false)}, {prop: "Type", name: "Type", pkg: "", typ: $funcType([], [Type], false)}, {prop: "Uint", name: "Uint", pkg: "", typ: $funcType([], [$Uint64], false)}, {prop: "UnsafeAddr", name: "UnsafeAddr", pkg: "", typ: $funcType([], [$Uintptr], false)}, {prop: "Convert", name: "Convert", pkg: "", typ: $funcType([Type], [Value], false)}]; + flag.methods = [{prop: "kind", name: "kind", pkg: "reflect", typ: $funcType([], [Kind], false)}, {prop: "ro", name: "ro", pkg: "reflect", typ: $funcType([], [flag], false)}, {prop: "mustBe", name: "mustBe", pkg: "reflect", typ: $funcType([Kind], [], false)}, {prop: "mustBeExported", name: "mustBeExported", pkg: "reflect", typ: $funcType([], [], false)}, {prop: "mustBeAssignable", name: "mustBeAssignable", pkg: "reflect", typ: $funcType([], [], false)}]; + ptrType$18.methods = [{prop: "Error", name: "Error", pkg: "", typ: $funcType([], [$String], false)}]; + uncommonType.init("reflect", [{prop: "pkgPath", name: "pkgPath", embedded: false, exported: false, typ: nameOff, tag: ""}, {prop: "mcount", name: "mcount", embedded: false, exported: false, typ: $Uint16, tag: ""}, {prop: "xcount", name: "xcount", embedded: false, exported: false, typ: $Uint16, tag: ""}, {prop: "moff", name: "moff", embedded: false, exported: false, typ: $Uint32, tag: ""}, {prop: "_methods", name: "_methods", embedded: false, exported: false, typ: sliceType$5, tag: ""}]); + funcType.init("reflect", [{prop: "rtype", name: "rtype", embedded: true, exported: false, typ: rtype, tag: "reflect:\"func\""}, {prop: "inCount", name: "inCount", embedded: false, exported: false, typ: $Uint16, tag: ""}, {prop: "outCount", name: "outCount", embedded: false, exported: false, typ: $Uint16, tag: ""}, {prop: "_in", name: "_in", embedded: false, exported: false, typ: sliceType$2, tag: ""}, {prop: "_out", name: "_out", embedded: false, exported: false, typ: sliceType$2, tag: ""}]); + name.init("reflect", [{prop: "bytes", name: "bytes", embedded: false, exported: false, typ: ptrType$4, tag: ""}]); + nameData.init("reflect", [{prop: "name", name: "name", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "tag", name: "tag", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "exported", name: "exported", embedded: false, exported: false, typ: $Bool, tag: ""}]); + mapIter.init("reflect", [{prop: "t", name: "t", embedded: false, exported: false, typ: Type, tag: ""}, {prop: "m", name: "m", embedded: false, exported: false, typ: ptrType$2, tag: ""}, {prop: "keys", name: "keys", embedded: false, exported: false, typ: ptrType$2, tag: ""}, {prop: "i", name: "i", embedded: false, exported: false, typ: $Int, tag: ""}]); + Type.init([{prop: "Align", name: "Align", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "AssignableTo", name: "AssignableTo", pkg: "", typ: $funcType([Type], [$Bool], false)}, {prop: "Bits", name: "Bits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "ChanDir", name: "ChanDir", pkg: "", typ: $funcType([], [ChanDir], false)}, {prop: "Comparable", name: "Comparable", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "ConvertibleTo", name: "ConvertibleTo", pkg: "", typ: $funcType([Type], [$Bool], false)}, {prop: "Elem", name: "Elem", pkg: "", typ: $funcType([], [Type], false)}, {prop: "Field", name: "Field", pkg: "", typ: $funcType([$Int], [StructField], false)}, {prop: "FieldAlign", name: "FieldAlign", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "FieldByIndex", name: "FieldByIndex", pkg: "", typ: $funcType([sliceType$13], [StructField], false)}, {prop: "FieldByName", name: "FieldByName", pkg: "", typ: $funcType([$String], [StructField, $Bool], false)}, {prop: "FieldByNameFunc", name: "FieldByNameFunc", pkg: "", typ: $funcType([funcType$3], [StructField, $Bool], false)}, {prop: "Implements", name: "Implements", pkg: "", typ: $funcType([Type], [$Bool], false)}, {prop: "In", name: "In", pkg: "", typ: $funcType([$Int], [Type], false)}, {prop: "IsVariadic", name: "IsVariadic", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "Key", name: "Key", pkg: "", typ: $funcType([], [Type], false)}, {prop: "Kind", name: "Kind", pkg: "", typ: $funcType([], [Kind], false)}, {prop: "Len", name: "Len", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "Method", name: "Method", pkg: "", typ: $funcType([$Int], [Method], false)}, {prop: "MethodByName", name: "MethodByName", pkg: "", typ: $funcType([$String], [Method, $Bool], false)}, {prop: "Name", name: "Name", pkg: "", typ: $funcType([], [$String], false)}, {prop: "NumField", name: "NumField", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "NumIn", name: "NumIn", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "NumMethod", name: "NumMethod", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "NumOut", name: "NumOut", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "Out", name: "Out", pkg: "", typ: $funcType([$Int], [Type], false)}, {prop: "PkgPath", name: "PkgPath", pkg: "", typ: $funcType([], [$String], false)}, {prop: "Size", name: "Size", pkg: "", typ: $funcType([], [$Uintptr], false)}, {prop: "String", name: "String", pkg: "", typ: $funcType([], [$String], false)}, {prop: "common", name: "common", pkg: "reflect", typ: $funcType([], [ptrType$1], false)}, {prop: "uncommon", name: "uncommon", pkg: "reflect", typ: $funcType([], [ptrType$5], false)}]); + rtype.init("reflect", [{prop: "size", name: "size", embedded: false, exported: false, typ: $Uintptr, tag: ""}, {prop: "ptrdata", name: "ptrdata", embedded: false, exported: false, typ: $Uintptr, tag: ""}, {prop: "hash", name: "hash", embedded: false, exported: false, typ: $Uint32, tag: ""}, {prop: "tflag", name: "tflag", embedded: false, exported: false, typ: tflag, tag: ""}, {prop: "align", name: "align", embedded: false, exported: false, typ: $Uint8, tag: ""}, {prop: "fieldAlign", name: "fieldAlign", embedded: false, exported: false, typ: $Uint8, tag: ""}, {prop: "kind", name: "kind", embedded: false, exported: false, typ: $Uint8, tag: ""}, {prop: "alg", name: "alg", embedded: false, exported: false, typ: ptrType$3, tag: ""}, {prop: "gcdata", name: "gcdata", embedded: false, exported: false, typ: ptrType$4, tag: ""}, {prop: "str", name: "str", embedded: false, exported: false, typ: nameOff, tag: ""}, {prop: "ptrToThis", name: "ptrToThis", embedded: false, exported: false, typ: typeOff, tag: ""}]); + typeAlg.init("reflect", [{prop: "hash", name: "hash", embedded: false, exported: false, typ: funcType$4, tag: ""}, {prop: "equal", name: "equal", embedded: false, exported: false, typ: funcType$5, tag: ""}]); + method.init("reflect", [{prop: "name", name: "name", embedded: false, exported: false, typ: nameOff, tag: ""}, {prop: "mtyp", name: "mtyp", embedded: false, exported: false, typ: typeOff, tag: ""}, {prop: "ifn", name: "ifn", embedded: false, exported: false, typ: textOff, tag: ""}, {prop: "tfn", name: "tfn", embedded: false, exported: false, typ: textOff, tag: ""}]); + arrayType.init("reflect", [{prop: "rtype", name: "rtype", embedded: true, exported: false, typ: rtype, tag: ""}, {prop: "elem", name: "elem", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "slice", name: "slice", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "len", name: "len", embedded: false, exported: false, typ: $Uintptr, tag: ""}]); + chanType.init("reflect", [{prop: "rtype", name: "rtype", embedded: true, exported: false, typ: rtype, tag: ""}, {prop: "elem", name: "elem", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "dir", name: "dir", embedded: false, exported: false, typ: $Uintptr, tag: ""}]); + imethod.init("reflect", [{prop: "name", name: "name", embedded: false, exported: false, typ: nameOff, tag: ""}, {prop: "typ", name: "typ", embedded: false, exported: false, typ: typeOff, tag: ""}]); + interfaceType.init("reflect", [{prop: "rtype", name: "rtype", embedded: true, exported: false, typ: rtype, tag: ""}, {prop: "pkgPath", name: "pkgPath", embedded: false, exported: false, typ: name, tag: ""}, {prop: "methods", name: "methods", embedded: false, exported: false, typ: sliceType$6, tag: ""}]); + mapType.init("reflect", [{prop: "rtype", name: "rtype", embedded: true, exported: false, typ: rtype, tag: ""}, {prop: "key", name: "key", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "elem", name: "elem", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "bucket", name: "bucket", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "keysize", name: "keysize", embedded: false, exported: false, typ: $Uint8, tag: ""}, {prop: "indirectkey", name: "indirectkey", embedded: false, exported: false, typ: $Uint8, tag: ""}, {prop: "valuesize", name: "valuesize", embedded: false, exported: false, typ: $Uint8, tag: ""}, {prop: "indirectvalue", name: "indirectvalue", embedded: false, exported: false, typ: $Uint8, tag: ""}, {prop: "bucketsize", name: "bucketsize", embedded: false, exported: false, typ: $Uint16, tag: ""}, {prop: "reflexivekey", name: "reflexivekey", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "needkeyupdate", name: "needkeyupdate", embedded: false, exported: false, typ: $Bool, tag: ""}]); + ptrType.init("reflect", [{prop: "rtype", name: "rtype", embedded: true, exported: false, typ: rtype, tag: ""}, {prop: "elem", name: "elem", embedded: false, exported: false, typ: ptrType$1, tag: ""}]); + sliceType.init("reflect", [{prop: "rtype", name: "rtype", embedded: true, exported: false, typ: rtype, tag: ""}, {prop: "elem", name: "elem", embedded: false, exported: false, typ: ptrType$1, tag: ""}]); + structField.init("reflect", [{prop: "name", name: "name", embedded: false, exported: false, typ: name, tag: ""}, {prop: "typ", name: "typ", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "offsetEmbed", name: "offsetEmbed", embedded: false, exported: false, typ: $Uintptr, tag: ""}]); + structType.init("reflect", [{prop: "rtype", name: "rtype", embedded: true, exported: false, typ: rtype, tag: ""}, {prop: "pkgPath", name: "pkgPath", embedded: false, exported: false, typ: name, tag: ""}, {prop: "fields", name: "fields", embedded: false, exported: false, typ: sliceType$7, tag: ""}]); + Method.init("", [{prop: "Name", name: "Name", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "PkgPath", name: "PkgPath", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "Type", name: "Type", embedded: false, exported: true, typ: Type, tag: ""}, {prop: "Func", name: "Func", embedded: false, exported: true, typ: Value, tag: ""}, {prop: "Index", name: "Index", embedded: false, exported: true, typ: $Int, tag: ""}]); + StructField.init("", [{prop: "Name", name: "Name", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "PkgPath", name: "PkgPath", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "Type", name: "Type", embedded: false, exported: true, typ: Type, tag: ""}, {prop: "Tag", name: "Tag", embedded: false, exported: true, typ: StructTag, tag: ""}, {prop: "Offset", name: "Offset", embedded: false, exported: true, typ: $Uintptr, tag: ""}, {prop: "Index", name: "Index", embedded: false, exported: true, typ: sliceType$13, tag: ""}, {prop: "Anonymous", name: "Anonymous", embedded: false, exported: true, typ: $Bool, tag: ""}]); + fieldScan.init("reflect", [{prop: "typ", name: "typ", embedded: false, exported: false, typ: ptrType$9, tag: ""}, {prop: "index", name: "index", embedded: false, exported: false, typ: sliceType$13, tag: ""}]); + Value.init("reflect", [{prop: "typ", name: "typ", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "ptr", name: "ptr", embedded: false, exported: false, typ: $UnsafePointer, tag: ""}, {prop: "flag", name: "flag", embedded: true, exported: false, typ: flag, tag: ""}]); + ValueError.init("", [{prop: "Method", name: "Method", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "Kind", name: "Kind", embedded: false, exported: true, typ: Kind, tag: ""}]); + $init = function() { + $pkg.$init = function() {}; + /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + $r = errors.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = js.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = math.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = runtime.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = strconv.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = sync.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = unicode.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = utf8.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + nameOffList = sliceType$1.nil; + typeOffList = sliceType$2.nil; + initialized = false; + uncommonTypeMap = {}; + nameMap = {}; + callHelper = $assertType($internalize($call, $emptyInterface), funcType$1); + selectHelper = $assertType($internalize($select, $emptyInterface), funcType$1); + jsObjectPtr = reflectType($jsObjectPtr); + kindNames = new sliceType$4(["invalid", "bool", "int", "int8", "int16", "int32", "int64", "uint", "uint8", "uint16", "uint32", "uint64", "uintptr", "float32", "float64", "complex64", "complex128", "array", "chan", "func", "interface", "map", "ptr", "slice", "string", "struct", "unsafe.Pointer"]); + uint8Type = $assertType(TypeOf(new $Uint8(0)), ptrType$1); + $r = init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f; + }; + $pkg.$init = $init; + return $pkg; +})(); +$packages["encoding/binary"] = (function() { + var $pkg = {}, $init, errors, io, math, reflect, bigEndian, sliceType, overflow; + errors = $packages["errors"]; + io = $packages["io"]; + math = $packages["math"]; + reflect = $packages["reflect"]; + bigEndian = $pkg.bigEndian = $newType(0, $kindStruct, "binary.bigEndian", true, "encoding/binary", false, function() { + this.$val = this; + if (arguments.length === 0) { + return; + } + }); + sliceType = $sliceType($Uint8); + bigEndian.ptr.prototype.Uint16 = function(b) { + var b; + $unused((1 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 1])); + return ((((1 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 1]) << 16 >>> 16)) | ((((0 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 0]) << 16 >>> 16)) << 8 << 16 >>> 16)) >>> 0; + }; + bigEndian.prototype.Uint16 = function(b) { return this.$val.Uint16(b); }; + bigEndian.ptr.prototype.PutUint16 = function(b, v) { + var b, v; + $unused((1 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 1])); + (0 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 0] = (((v >>> 8 << 16 >>> 16) << 24 >>> 24))); + (1 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 1] = ((v << 24 >>> 24))); + }; + bigEndian.prototype.PutUint16 = function(b, v) { return this.$val.PutUint16(b, v); }; + bigEndian.ptr.prototype.Uint32 = function(b) { + var b; + $unused((3 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 3])); + return ((((((((3 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 3]) >>> 0)) | ((((2 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 2]) >>> 0)) << 8 >>> 0)) >>> 0) | ((((1 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 1]) >>> 0)) << 16 >>> 0)) >>> 0) | ((((0 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 0]) >>> 0)) << 24 >>> 0)) >>> 0; + }; + bigEndian.prototype.Uint32 = function(b) { return this.$val.Uint32(b); }; + bigEndian.ptr.prototype.PutUint32 = function(b, v) { + var b, v; + $unused((3 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 3])); + (0 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 0] = (((v >>> 24 >>> 0) << 24 >>> 24))); + (1 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 1] = (((v >>> 16 >>> 0) << 24 >>> 24))); + (2 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 2] = (((v >>> 8 >>> 0) << 24 >>> 24))); + (3 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 3] = ((v << 24 >>> 24))); + }; + bigEndian.prototype.PutUint32 = function(b, v) { return this.$val.PutUint32(b, v); }; + bigEndian.ptr.prototype.Uint64 = function(b) { + var b, x, x$1, x$10, x$11, x$12, x$13, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9; + $unused((7 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 7])); + return (x = (x$1 = (x$2 = (x$3 = (x$4 = (x$5 = (x$6 = (new $Uint64(0, (7 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 7]))), x$7 = $shiftLeft64((new $Uint64(0, (6 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 6]))), 8), new $Uint64(x$6.$high | x$7.$high, (x$6.$low | x$7.$low) >>> 0)), x$8 = $shiftLeft64((new $Uint64(0, (5 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 5]))), 16), new $Uint64(x$5.$high | x$8.$high, (x$5.$low | x$8.$low) >>> 0)), x$9 = $shiftLeft64((new $Uint64(0, (4 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 4]))), 24), new $Uint64(x$4.$high | x$9.$high, (x$4.$low | x$9.$low) >>> 0)), x$10 = $shiftLeft64((new $Uint64(0, (3 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 3]))), 32), new $Uint64(x$3.$high | x$10.$high, (x$3.$low | x$10.$low) >>> 0)), x$11 = $shiftLeft64((new $Uint64(0, (2 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 2]))), 40), new $Uint64(x$2.$high | x$11.$high, (x$2.$low | x$11.$low) >>> 0)), x$12 = $shiftLeft64((new $Uint64(0, (1 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 1]))), 48), new $Uint64(x$1.$high | x$12.$high, (x$1.$low | x$12.$low) >>> 0)), x$13 = $shiftLeft64((new $Uint64(0, (0 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 0]))), 56), new $Uint64(x.$high | x$13.$high, (x.$low | x$13.$low) >>> 0)); + }; + bigEndian.prototype.Uint64 = function(b) { return this.$val.Uint64(b); }; + bigEndian.ptr.prototype.PutUint64 = function(b, v) { + var b, v; + $unused((7 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 7])); + (0 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 0] = (($shiftRightUint64(v, 56).$low << 24 >>> 24))); + (1 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 1] = (($shiftRightUint64(v, 48).$low << 24 >>> 24))); + (2 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 2] = (($shiftRightUint64(v, 40).$low << 24 >>> 24))); + (3 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 3] = (($shiftRightUint64(v, 32).$low << 24 >>> 24))); + (4 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 4] = (($shiftRightUint64(v, 24).$low << 24 >>> 24))); + (5 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 5] = (($shiftRightUint64(v, 16).$low << 24 >>> 24))); + (6 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 6] = (($shiftRightUint64(v, 8).$low << 24 >>> 24))); + (7 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 7] = ((v.$low << 24 >>> 24))); + }; + bigEndian.prototype.PutUint64 = function(b, v) { return this.$val.PutUint64(b, v); }; + bigEndian.ptr.prototype.String = function() { + return "BigEndian"; + }; + bigEndian.prototype.String = function() { return this.$val.String(); }; + bigEndian.ptr.prototype.GoString = function() { + return "binary.BigEndian"; + }; + bigEndian.prototype.GoString = function() { return this.$val.GoString(); }; + bigEndian.methods = [{prop: "Uint16", name: "Uint16", pkg: "", typ: $funcType([sliceType], [$Uint16], false)}, {prop: "PutUint16", name: "PutUint16", pkg: "", typ: $funcType([sliceType, $Uint16], [], false)}, {prop: "Uint32", name: "Uint32", pkg: "", typ: $funcType([sliceType], [$Uint32], false)}, {prop: "PutUint32", name: "PutUint32", pkg: "", typ: $funcType([sliceType, $Uint32], [], false)}, {prop: "Uint64", name: "Uint64", pkg: "", typ: $funcType([sliceType], [$Uint64], false)}, {prop: "PutUint64", name: "PutUint64", pkg: "", typ: $funcType([sliceType, $Uint64], [], false)}, {prop: "String", name: "String", pkg: "", typ: $funcType([], [$String], false)}, {prop: "GoString", name: "GoString", pkg: "", typ: $funcType([], [$String], false)}]; + bigEndian.init("", []); + $init = function() { + $pkg.$init = function() {}; + /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + $r = errors.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = io.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = math.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = reflect.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $pkg.BigEndian = new bigEndian.ptr(); + overflow = errors.New("binary: varint overflows a 64-bit integer"); + /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f; + }; + $pkg.$init = $init; + return $pkg; +})(); +$packages["encoding"] = (function() { + var $pkg = {}, $init, TextMarshaler, TextUnmarshaler, sliceType; + TextMarshaler = $pkg.TextMarshaler = $newType(8, $kindInterface, "encoding.TextMarshaler", true, "encoding", true, null); + TextUnmarshaler = $pkg.TextUnmarshaler = $newType(8, $kindInterface, "encoding.TextUnmarshaler", true, "encoding", true, null); + sliceType = $sliceType($Uint8); + TextMarshaler.init([{prop: "MarshalText", name: "MarshalText", pkg: "", typ: $funcType([], [sliceType, $error], false)}]); + TextUnmarshaler.init([{prop: "UnmarshalText", name: "UnmarshalText", pkg: "", typ: $funcType([sliceType], [$error], false)}]); + $init = function() { + $pkg.$init = function() {}; + /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f; + }; + $pkg.$init = $init; + return $pkg; +})(); +$packages["encoding/base64"] = (function() { + var $pkg = {}, $init, binary, io, strconv, Encoding, CorruptInputError, arrayType, arrayType$1, sliceType, ptrType, arrayType$4, NewEncoding; + binary = $packages["encoding/binary"]; + io = $packages["io"]; + strconv = $packages["strconv"]; + Encoding = $pkg.Encoding = $newType(0, $kindStruct, "base64.Encoding", true, "encoding/base64", true, function(encode_, decodeMap_, padChar_, strict_) { + this.$val = this; + if (arguments.length === 0) { + this.encode = arrayType.zero(); + this.decodeMap = arrayType$1.zero(); + this.padChar = 0; + this.strict = false; + return; + } + this.encode = encode_; + this.decodeMap = decodeMap_; + this.padChar = padChar_; + this.strict = strict_; + }); + CorruptInputError = $pkg.CorruptInputError = $newType(8, $kindInt64, "base64.CorruptInputError", true, "encoding/base64", true, null); + arrayType = $arrayType($Uint8, 64); + arrayType$1 = $arrayType($Uint8, 256); + sliceType = $sliceType($Uint8); + ptrType = $ptrType(Encoding); + arrayType$4 = $arrayType($Uint8, 4); + NewEncoding = function(encoder$1) { + var e, encoder$1, i, i$1, i$2, x, x$1, x$2; + if (!((encoder$1.length === 64))) { + $panic(new $String("encoding alphabet is not 64-bytes long")); + } + i = 0; + while (true) { + if (!(i < encoder$1.length)) { break; } + if ((encoder$1.charCodeAt(i) === 10) || (encoder$1.charCodeAt(i) === 13)) { + $panic(new $String("encoding alphabet contains newline character")); + } + i = i + (1) >> 0; + } + e = new Encoding.ptr(arrayType.zero(), arrayType$1.zero(), 0, false); + e.padChar = 61; + $copyString(new sliceType(e.encode), encoder$1); + i$1 = 0; + while (true) { + if (!(i$1 < 256)) { break; } + (x = e.decodeMap, ((i$1 < 0 || i$1 >= x.length) ? ($throwRuntimeError("index out of range"), undefined) : x[i$1] = 255)); + i$1 = i$1 + (1) >> 0; + } + i$2 = 0; + while (true) { + if (!(i$2 < encoder$1.length)) { break; } + (x$1 = e.decodeMap, x$2 = encoder$1.charCodeAt(i$2), ((x$2 < 0 || x$2 >= x$1.length) ? ($throwRuntimeError("index out of range"), undefined) : x$1[x$2] = ((i$2 << 24 >>> 24)))); + i$2 = i$2 + (1) >> 0; + } + return e; + }; + $pkg.NewEncoding = NewEncoding; + Encoding.ptr.prototype.WithPadding = function(padding) { + var enc, i, padding, x; + enc = this; + if ((padding === 13) || (padding === 10) || padding > 255) { + $panic(new $String("invalid padding")); + } + i = 0; + while (true) { + if (!(i < 64)) { break; } + if ((((x = enc.encode, ((i < 0 || i >= x.length) ? ($throwRuntimeError("index out of range"), undefined) : x[i])) >> 0)) === padding) { + $panic(new $String("padding contained in alphabet")); + } + i = i + (1) >> 0; + } + enc.padChar = padding; + return enc; + }; + Encoding.prototype.WithPadding = function(padding) { return this.$val.WithPadding(padding); }; + Encoding.ptr.prototype.Strict = function() { + var enc; + enc = this; + enc.strict = true; + return enc; + }; + Encoding.prototype.Strict = function() { return this.$val.Strict(); }; + Encoding.ptr.prototype.Encode = function(dst, src) { + var _1, _q, _tmp, _tmp$1, di, dst, enc, n, remain, si, src, val, val$1, x, x$1, x$10, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$2, x$20, x$21, x$22, x$23, x$24, x$25, x$26, x$27, x$28, x$3, x$4, x$5, x$6, x$7, x$8, x$9; + enc = this; + if (src.$length === 0) { + return; + } + _tmp = 0; + _tmp$1 = 0; + di = _tmp; + si = _tmp$1; + n = $imul(((_q = src.$length / 3, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero"))), 3); + while (true) { + if (!(si < n)) { break; } + val = (((((((x = si + 0 >> 0, ((x < 0 || x >= src.$length) ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + x])) >>> 0)) << 16 >>> 0) | ((((x$1 = si + 1 >> 0, ((x$1 < 0 || x$1 >= src.$length) ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + x$1])) >>> 0)) << 8 >>> 0)) >>> 0) | (((x$2 = si + 2 >> 0, ((x$2 < 0 || x$2 >= src.$length) ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + x$2])) >>> 0))) >>> 0; + (x$5 = di + 0 >> 0, ((x$5 < 0 || x$5 >= dst.$length) ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + x$5] = (x$3 = enc.encode, x$4 = ((val >>> 18 >>> 0) & 63) >>> 0, ((x$4 < 0 || x$4 >= x$3.length) ? ($throwRuntimeError("index out of range"), undefined) : x$3[x$4])))); + (x$8 = di + 1 >> 0, ((x$8 < 0 || x$8 >= dst.$length) ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + x$8] = (x$6 = enc.encode, x$7 = ((val >>> 12 >>> 0) & 63) >>> 0, ((x$7 < 0 || x$7 >= x$6.length) ? ($throwRuntimeError("index out of range"), undefined) : x$6[x$7])))); + (x$11 = di + 2 >> 0, ((x$11 < 0 || x$11 >= dst.$length) ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + x$11] = (x$9 = enc.encode, x$10 = ((val >>> 6 >>> 0) & 63) >>> 0, ((x$10 < 0 || x$10 >= x$9.length) ? ($throwRuntimeError("index out of range"), undefined) : x$9[x$10])))); + (x$14 = di + 3 >> 0, ((x$14 < 0 || x$14 >= dst.$length) ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + x$14] = (x$12 = enc.encode, x$13 = (val & 63) >>> 0, ((x$13 < 0 || x$13 >= x$12.length) ? ($throwRuntimeError("index out of range"), undefined) : x$12[x$13])))); + si = si + (3) >> 0; + di = di + (4) >> 0; + } + remain = src.$length - si >> 0; + if (remain === 0) { + return; + } + val$1 = (((x$15 = si + 0 >> 0, ((x$15 < 0 || x$15 >= src.$length) ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + x$15])) >>> 0)) << 16 >>> 0; + if (remain === 2) { + val$1 = (val$1 | (((((x$16 = si + 1 >> 0, ((x$16 < 0 || x$16 >= src.$length) ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + x$16])) >>> 0)) << 8 >>> 0))) >>> 0; + } + (x$19 = di + 0 >> 0, ((x$19 < 0 || x$19 >= dst.$length) ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + x$19] = (x$17 = enc.encode, x$18 = ((val$1 >>> 18 >>> 0) & 63) >>> 0, ((x$18 < 0 || x$18 >= x$17.length) ? ($throwRuntimeError("index out of range"), undefined) : x$17[x$18])))); + (x$22 = di + 1 >> 0, ((x$22 < 0 || x$22 >= dst.$length) ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + x$22] = (x$20 = enc.encode, x$21 = ((val$1 >>> 12 >>> 0) & 63) >>> 0, ((x$21 < 0 || x$21 >= x$20.length) ? ($throwRuntimeError("index out of range"), undefined) : x$20[x$21])))); + _1 = remain; + if (_1 === (2)) { + (x$25 = di + 2 >> 0, ((x$25 < 0 || x$25 >= dst.$length) ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + x$25] = (x$23 = enc.encode, x$24 = ((val$1 >>> 6 >>> 0) & 63) >>> 0, ((x$24 < 0 || x$24 >= x$23.length) ? ($throwRuntimeError("index out of range"), undefined) : x$23[x$24])))); + if (!((enc.padChar === -1))) { + (x$26 = di + 3 >> 0, ((x$26 < 0 || x$26 >= dst.$length) ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + x$26] = ((enc.padChar << 24 >>> 24)))); + } + } else if (_1 === (1)) { + if (!((enc.padChar === -1))) { + (x$27 = di + 2 >> 0, ((x$27 < 0 || x$27 >= dst.$length) ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + x$27] = ((enc.padChar << 24 >>> 24)))); + (x$28 = di + 3 >> 0, ((x$28 < 0 || x$28 >= dst.$length) ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + x$28] = ((enc.padChar << 24 >>> 24)))); + } + } + }; + Encoding.prototype.Encode = function(dst, src) { return this.$val.Encode(dst, src); }; + Encoding.ptr.prototype.EncodeToString = function(src) { + var buf, enc, src; + enc = this; + buf = $makeSlice(sliceType, enc.EncodedLen(src.$length)); + enc.Encode(buf, src); + return ($bytesToString(buf)); + }; + Encoding.prototype.EncodeToString = function(src) { return this.$val.EncodeToString(src); }; + Encoding.ptr.prototype.EncodedLen = function(n) { + var _q, _q$1, enc, n; + enc = this; + if (enc.padChar === -1) { + return (_q = ((($imul(n, 8)) + 5 >> 0)) / 6, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero")); + } + return $imul((_q$1 = ((n + 2 >> 0)) / 3, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError("integer divide by zero")), 4); + }; + Encoding.prototype.EncodedLen = function(n) { return this.$val.EncodedLen(n); }; + CorruptInputError.prototype.Error = function() { + var e; + e = this; + return "illegal base64 data at input byte " + strconv.FormatInt((new $Int64(e.$high, e.$low)), 10); + }; + $ptrType(CorruptInputError).prototype.Error = function() { return this.$get().Error(); }; + Encoding.ptr.prototype.decodeQuantum = function(dst, src, si) { + var _1, _2, _tmp, _tmp$1, _tmp$10, _tmp$11, _tmp$12, _tmp$13, _tmp$14, _tmp$15, _tmp$16, _tmp$17, _tmp$18, _tmp$19, _tmp$2, _tmp$20, _tmp$21, _tmp$22, _tmp$23, _tmp$24, _tmp$25, _tmp$26, _tmp$27, _tmp$28, _tmp$29, _tmp$3, _tmp$30, _tmp$31, _tmp$32, _tmp$33, _tmp$34, _tmp$35, _tmp$36, _tmp$37, _tmp$38, _tmp$39, _tmp$4, _tmp$40, _tmp$41, _tmp$42, _tmp$43, _tmp$44, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, dbuf, dinc, dlen, dst, enc, err, in$1, j, n, nsi, out, si, src, val, x; + nsi = 0; + n = 0; + err = $ifaceNil; + enc = this; + dbuf = arrayType$4.zero(); + _tmp = 3; + _tmp$1 = 4; + dinc = _tmp; + dlen = _tmp$1; + j = 0; + while (true) { + if (!(j < 4)) { break; } + if (src.$length === si) { + if ((j === 0)) { + _tmp$2 = si; + _tmp$3 = 0; + _tmp$4 = $ifaceNil; + nsi = _tmp$2; + n = _tmp$3; + err = _tmp$4; + return [nsi, n, err]; + } else if (((j === 1)) || (!((enc.padChar === -1)))) { + _tmp$5 = si; + _tmp$6 = 0; + _tmp$7 = (new CorruptInputError(0, (si - j >> 0))); + nsi = _tmp$5; + n = _tmp$6; + err = _tmp$7; + return [nsi, n, err]; + } + _tmp$8 = j - 1 >> 0; + _tmp$9 = j; + dinc = _tmp$8; + dlen = _tmp$9; + break; + } + in$1 = ((si < 0 || si >= src.$length) ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + si]); + si = si + (1) >> 0; + out = (x = enc.decodeMap, ((in$1 < 0 || in$1 >= x.length) ? ($throwRuntimeError("index out of range"), undefined) : x[in$1])); + if (!((out === 255))) { + ((j < 0 || j >= dbuf.length) ? ($throwRuntimeError("index out of range"), undefined) : dbuf[j] = out); + j = j + (1) >> 0; + continue; + } + if ((in$1 === 10) || (in$1 === 13)) { + j = j - (1) >> 0; + j = j + (1) >> 0; + continue; + } + if (!((((in$1 >> 0)) === enc.padChar))) { + _tmp$10 = si; + _tmp$11 = 0; + _tmp$12 = (new CorruptInputError(0, (si - 1 >> 0))); + nsi = _tmp$10; + n = _tmp$11; + err = _tmp$12; + return [nsi, n, err]; + } + _1 = j; + if ((_1 === (0)) || (_1 === (1))) { + _tmp$13 = si; + _tmp$14 = 0; + _tmp$15 = (new CorruptInputError(0, (si - 1 >> 0))); + nsi = _tmp$13; + n = _tmp$14; + err = _tmp$15; + return [nsi, n, err]; + } else if (_1 === (2)) { + while (true) { + if (!(si < src.$length && ((((si < 0 || si >= src.$length) ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + si]) === 10) || (((si < 0 || si >= src.$length) ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + si]) === 13)))) { break; } + si = si + (1) >> 0; + } + if (si === src.$length) { + _tmp$16 = si; + _tmp$17 = 0; + _tmp$18 = (new CorruptInputError(0, src.$length)); + nsi = _tmp$16; + n = _tmp$17; + err = _tmp$18; + return [nsi, n, err]; + } + if (!((((((si < 0 || si >= src.$length) ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + si]) >> 0)) === enc.padChar))) { + _tmp$19 = si; + _tmp$20 = 0; + _tmp$21 = (new CorruptInputError(0, (si - 1 >> 0))); + nsi = _tmp$19; + n = _tmp$20; + err = _tmp$21; + return [nsi, n, err]; + } + si = si + (1) >> 0; + } + while (true) { + if (!(si < src.$length && ((((si < 0 || si >= src.$length) ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + si]) === 10) || (((si < 0 || si >= src.$length) ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + si]) === 13)))) { break; } + si = si + (1) >> 0; + } + if (si < src.$length) { + err = (new CorruptInputError(0, si)); + } + _tmp$22 = 3; + _tmp$23 = j; + dinc = _tmp$22; + dlen = _tmp$23; + break; + } + val = ((((((((dbuf[0] >>> 0)) << 18 >>> 0) | (((dbuf[1] >>> 0)) << 12 >>> 0)) >>> 0) | (((dbuf[2] >>> 0)) << 6 >>> 0)) >>> 0) | ((dbuf[3] >>> 0))) >>> 0; + _tmp$24 = (((val >>> 0 >>> 0) << 24 >>> 24)); + _tmp$25 = (((val >>> 8 >>> 0) << 24 >>> 24)); + _tmp$26 = (((val >>> 16 >>> 0) << 24 >>> 24)); + dbuf[2] = _tmp$24; + dbuf[1] = _tmp$25; + dbuf[0] = _tmp$26; + _2 = dlen; + if (_2 === (4)) { + (2 >= dst.$length ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + 2] = dbuf[2]); + dbuf[2] = 0; + (1 >= dst.$length ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + 1] = dbuf[1]); + if (enc.strict && !((dbuf[2] === 0))) { + _tmp$27 = si; + _tmp$28 = 0; + _tmp$29 = (new CorruptInputError(0, (si - 1 >> 0))); + nsi = _tmp$27; + n = _tmp$28; + err = _tmp$29; + return [nsi, n, err]; + } + dbuf[1] = 0; + (0 >= dst.$length ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + 0] = dbuf[0]); + if (enc.strict && (!((dbuf[1] === 0)) || !((dbuf[2] === 0)))) { + _tmp$30 = si; + _tmp$31 = 0; + _tmp$32 = (new CorruptInputError(0, (si - 2 >> 0))); + nsi = _tmp$30; + n = _tmp$31; + err = _tmp$32; + return [nsi, n, err]; + } + } else if (_2 === (3)) { + (1 >= dst.$length ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + 1] = dbuf[1]); + if (enc.strict && !((dbuf[2] === 0))) { + _tmp$33 = si; + _tmp$34 = 0; + _tmp$35 = (new CorruptInputError(0, (si - 1 >> 0))); + nsi = _tmp$33; + n = _tmp$34; + err = _tmp$35; + return [nsi, n, err]; + } + dbuf[1] = 0; + (0 >= dst.$length ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + 0] = dbuf[0]); + if (enc.strict && (!((dbuf[1] === 0)) || !((dbuf[2] === 0)))) { + _tmp$36 = si; + _tmp$37 = 0; + _tmp$38 = (new CorruptInputError(0, (si - 2 >> 0))); + nsi = _tmp$36; + n = _tmp$37; + err = _tmp$38; + return [nsi, n, err]; + } + } else if (_2 === (2)) { + (0 >= dst.$length ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + 0] = dbuf[0]); + if (enc.strict && (!((dbuf[1] === 0)) || !((dbuf[2] === 0)))) { + _tmp$39 = si; + _tmp$40 = 0; + _tmp$41 = (new CorruptInputError(0, (si - 2 >> 0))); + nsi = _tmp$39; + n = _tmp$40; + err = _tmp$41; + return [nsi, n, err]; + } + } + dst = $subslice(dst, dinc); + _tmp$42 = si; + _tmp$43 = dlen - 1 >> 0; + _tmp$44 = err; + nsi = _tmp$42; + n = _tmp$43; + err = _tmp$44; + return [nsi, n, err]; + }; + Encoding.prototype.decodeQuantum = function(dst, src, si) { return this.$val.decodeQuantum(dst, src, si); }; + Encoding.ptr.prototype.DecodeString = function(s) { + var _tuple, dbuf, enc, err, n, s; + enc = this; + dbuf = $makeSlice(sliceType, enc.DecodedLen(s.length)); + _tuple = enc.Decode(dbuf, (new sliceType($stringToBytes(s)))); + n = _tuple[0]; + err = _tuple[1]; + return [$subslice(dbuf, 0, n), err]; + }; + Encoding.prototype.DecodeString = function(s) { return this.$val.DecodeString(s); }; + Encoding.ptr.prototype.Decode = function(dst, src) { + var _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, _tuple, _tuple$1, _tuple$2, dst, enc, err, ilen, n, ninc, ninc$1, ninc$2, ok, ok$1, olen, si, src; + n = 0; + err = $ifaceNil; + enc = this; + if (src.$length === 0) { + _tmp = 0; + _tmp$1 = $ifaceNil; + n = _tmp; + err = _tmp$1; + return [n, err]; + } + si = 0; + ilen = src.$length; + olen = dst.$length; + while (true) { + if (!(false && (ilen - si >> 0) >= 8 && (olen - n >> 0) >= 8)) { break; } + ok = enc.decode64($subslice(dst, n), $subslice(src, si)); + if (ok) { + n = n + (6) >> 0; + si = si + (8) >> 0; + } else { + ninc = 0; + _tuple = enc.decodeQuantum($subslice(dst, n), src, si); + si = _tuple[0]; + ninc = _tuple[1]; + err = _tuple[2]; + n = n + (ninc) >> 0; + if (!($interfaceIsEqual(err, $ifaceNil))) { + _tmp$2 = n; + _tmp$3 = err; + n = _tmp$2; + err = _tmp$3; + return [n, err]; + } + } + } + while (true) { + if (!((ilen - si >> 0) >= 4 && (olen - n >> 0) >= 4)) { break; } + ok$1 = enc.decode32($subslice(dst, n), $subslice(src, si)); + if (ok$1) { + n = n + (3) >> 0; + si = si + (4) >> 0; + } else { + ninc$1 = 0; + _tuple$1 = enc.decodeQuantum($subslice(dst, n), src, si); + si = _tuple$1[0]; + ninc$1 = _tuple$1[1]; + err = _tuple$1[2]; + n = n + (ninc$1) >> 0; + if (!($interfaceIsEqual(err, $ifaceNil))) { + _tmp$4 = n; + _tmp$5 = err; + n = _tmp$4; + err = _tmp$5; + return [n, err]; + } + } + } + while (true) { + if (!(si < src.$length)) { break; } + ninc$2 = 0; + _tuple$2 = enc.decodeQuantum($subslice(dst, n), src, si); + si = _tuple$2[0]; + ninc$2 = _tuple$2[1]; + err = _tuple$2[2]; + n = n + (ninc$2) >> 0; + if (!($interfaceIsEqual(err, $ifaceNil))) { + _tmp$6 = n; + _tmp$7 = err; + n = _tmp$6; + err = _tmp$7; + return [n, err]; + } + } + _tmp$8 = n; + _tmp$9 = err; + n = _tmp$8; + err = _tmp$9; + return [n, err]; + }; + Encoding.prototype.Decode = function(dst, src) { return this.$val.Decode(dst, src); }; + Encoding.ptr.prototype.decode32 = function(dst, src) { + var _tmp, _tmp$1, dn, dst, enc, n, src, x, x$1, x$2, x$3, x$4, x$5, x$6, x$7; + enc = this; + _tmp = 0; + _tmp$1 = 0; + dn = _tmp; + n = _tmp$1; + n = (((x = enc.decodeMap, x$1 = (0 >= src.$length ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + 0]), ((x$1 < 0 || x$1 >= x.length) ? ($throwRuntimeError("index out of range"), undefined) : x[x$1])) >>> 0)); + if (n === 255) { + return false; + } + dn = (dn | ((n << 26 >>> 0))) >>> 0; + n = (((x$2 = enc.decodeMap, x$3 = (1 >= src.$length ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + 1]), ((x$3 < 0 || x$3 >= x$2.length) ? ($throwRuntimeError("index out of range"), undefined) : x$2[x$3])) >>> 0)); + if (n === 255) { + return false; + } + dn = (dn | ((n << 20 >>> 0))) >>> 0; + n = (((x$4 = enc.decodeMap, x$5 = (2 >= src.$length ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + 2]), ((x$5 < 0 || x$5 >= x$4.length) ? ($throwRuntimeError("index out of range"), undefined) : x$4[x$5])) >>> 0)); + if (n === 255) { + return false; + } + dn = (dn | ((n << 14 >>> 0))) >>> 0; + n = (((x$6 = enc.decodeMap, x$7 = (3 >= src.$length ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + 3]), ((x$7 < 0 || x$7 >= x$6.length) ? ($throwRuntimeError("index out of range"), undefined) : x$6[x$7])) >>> 0)); + if (n === 255) { + return false; + } + dn = (dn | ((n << 8 >>> 0))) >>> 0; + $clone(binary.BigEndian, binary.bigEndian).PutUint32(dst, dn); + return true; + }; + Encoding.prototype.decode32 = function(dst, src) { return this.$val.decode32(dst, src); }; + Encoding.ptr.prototype.decode64 = function(dst, src) { + var _tmp, _tmp$1, dn, dst, enc, n, src, x, x$1, x$10, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$2, x$20, x$21, x$22, x$23, x$3, x$4, x$5, x$6, x$7, x$8, x$9; + enc = this; + _tmp = new $Uint64(0, 0); + _tmp$1 = new $Uint64(0, 0); + dn = _tmp; + n = _tmp$1; + n = (new $Uint64(0, (x = enc.decodeMap, x$1 = (0 >= src.$length ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + 0]), ((x$1 < 0 || x$1 >= x.length) ? ($throwRuntimeError("index out of range"), undefined) : x[x$1])))); + if ((n.$high === 0 && n.$low === 255)) { + return false; + } + dn = (x$2 = $shiftLeft64(n, 58), new $Uint64(dn.$high | x$2.$high, (dn.$low | x$2.$low) >>> 0)); + n = (new $Uint64(0, (x$3 = enc.decodeMap, x$4 = (1 >= src.$length ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + 1]), ((x$4 < 0 || x$4 >= x$3.length) ? ($throwRuntimeError("index out of range"), undefined) : x$3[x$4])))); + if ((n.$high === 0 && n.$low === 255)) { + return false; + } + dn = (x$5 = $shiftLeft64(n, 52), new $Uint64(dn.$high | x$5.$high, (dn.$low | x$5.$low) >>> 0)); + n = (new $Uint64(0, (x$6 = enc.decodeMap, x$7 = (2 >= src.$length ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + 2]), ((x$7 < 0 || x$7 >= x$6.length) ? ($throwRuntimeError("index out of range"), undefined) : x$6[x$7])))); + if ((n.$high === 0 && n.$low === 255)) { + return false; + } + dn = (x$8 = $shiftLeft64(n, 46), new $Uint64(dn.$high | x$8.$high, (dn.$low | x$8.$low) >>> 0)); + n = (new $Uint64(0, (x$9 = enc.decodeMap, x$10 = (3 >= src.$length ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + 3]), ((x$10 < 0 || x$10 >= x$9.length) ? ($throwRuntimeError("index out of range"), undefined) : x$9[x$10])))); + if ((n.$high === 0 && n.$low === 255)) { + return false; + } + dn = (x$11 = $shiftLeft64(n, 40), new $Uint64(dn.$high | x$11.$high, (dn.$low | x$11.$low) >>> 0)); + n = (new $Uint64(0, (x$12 = enc.decodeMap, x$13 = (4 >= src.$length ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + 4]), ((x$13 < 0 || x$13 >= x$12.length) ? ($throwRuntimeError("index out of range"), undefined) : x$12[x$13])))); + if ((n.$high === 0 && n.$low === 255)) { + return false; + } + dn = (x$14 = $shiftLeft64(n, 34), new $Uint64(dn.$high | x$14.$high, (dn.$low | x$14.$low) >>> 0)); + n = (new $Uint64(0, (x$15 = enc.decodeMap, x$16 = (5 >= src.$length ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + 5]), ((x$16 < 0 || x$16 >= x$15.length) ? ($throwRuntimeError("index out of range"), undefined) : x$15[x$16])))); + if ((n.$high === 0 && n.$low === 255)) { + return false; + } + dn = (x$17 = $shiftLeft64(n, 28), new $Uint64(dn.$high | x$17.$high, (dn.$low | x$17.$low) >>> 0)); + n = (new $Uint64(0, (x$18 = enc.decodeMap, x$19 = (6 >= src.$length ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + 6]), ((x$19 < 0 || x$19 >= x$18.length) ? ($throwRuntimeError("index out of range"), undefined) : x$18[x$19])))); + if ((n.$high === 0 && n.$low === 255)) { + return false; + } + dn = (x$20 = $shiftLeft64(n, 22), new $Uint64(dn.$high | x$20.$high, (dn.$low | x$20.$low) >>> 0)); + n = (new $Uint64(0, (x$21 = enc.decodeMap, x$22 = (7 >= src.$length ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + 7]), ((x$22 < 0 || x$22 >= x$21.length) ? ($throwRuntimeError("index out of range"), undefined) : x$21[x$22])))); + if ((n.$high === 0 && n.$low === 255)) { + return false; + } + dn = (x$23 = $shiftLeft64(n, 16), new $Uint64(dn.$high | x$23.$high, (dn.$low | x$23.$low) >>> 0)); + $clone(binary.BigEndian, binary.bigEndian).PutUint64(dst, dn); + return true; + }; + Encoding.prototype.decode64 = function(dst, src) { return this.$val.decode64(dst, src); }; + Encoding.ptr.prototype.DecodedLen = function(n) { + var _q, _q$1, enc, n; + enc = this; + if (enc.padChar === -1) { + return (_q = ($imul(n, 6)) / 8, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero")); + } + return $imul((_q$1 = n / 4, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError("integer divide by zero")), 3); + }; + Encoding.prototype.DecodedLen = function(n) { return this.$val.DecodedLen(n); }; + Encoding.methods = [{prop: "WithPadding", name: "WithPadding", pkg: "", typ: $funcType([$Int32], [ptrType], false)}, {prop: "Strict", name: "Strict", pkg: "", typ: $funcType([], [ptrType], false)}]; + ptrType.methods = [{prop: "Encode", name: "Encode", pkg: "", typ: $funcType([sliceType, sliceType], [], false)}, {prop: "EncodeToString", name: "EncodeToString", pkg: "", typ: $funcType([sliceType], [$String], false)}, {prop: "EncodedLen", name: "EncodedLen", pkg: "", typ: $funcType([$Int], [$Int], false)}, {prop: "decodeQuantum", name: "decodeQuantum", pkg: "encoding/base64", typ: $funcType([sliceType, sliceType, $Int], [$Int, $Int, $error], false)}, {prop: "DecodeString", name: "DecodeString", pkg: "", typ: $funcType([$String], [sliceType, $error], false)}, {prop: "Decode", name: "Decode", pkg: "", typ: $funcType([sliceType, sliceType], [$Int, $error], false)}, {prop: "decode32", name: "decode32", pkg: "encoding/base64", typ: $funcType([sliceType, sliceType], [$Bool], false)}, {prop: "decode64", name: "decode64", pkg: "encoding/base64", typ: $funcType([sliceType, sliceType], [$Bool], false)}, {prop: "DecodedLen", name: "DecodedLen", pkg: "", typ: $funcType([$Int], [$Int], false)}]; + CorruptInputError.methods = [{prop: "Error", name: "Error", pkg: "", typ: $funcType([], [$String], false)}]; + Encoding.init("encoding/base64", [{prop: "encode", name: "encode", embedded: false, exported: false, typ: arrayType, tag: ""}, {prop: "decodeMap", name: "decodeMap", embedded: false, exported: false, typ: arrayType$1, tag: ""}, {prop: "padChar", name: "padChar", embedded: false, exported: false, typ: $Int32, tag: ""}, {prop: "strict", name: "strict", embedded: false, exported: false, typ: $Bool, tag: ""}]); + $init = function() { + $pkg.$init = function() {}; + /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + $r = binary.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = io.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = strconv.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $pkg.StdEncoding = NewEncoding("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"); + $pkg.URLEncoding = NewEncoding("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"); + $pkg.RawStdEncoding = $clone($pkg.StdEncoding, Encoding).WithPadding(-1); + $pkg.RawURLEncoding = $clone($pkg.URLEncoding, Encoding).WithPadding(-1); + /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f; + }; + $pkg.$init = $init; + return $pkg; +})(); $packages["syscall"] = (function() { var $pkg = {}, $init, errors, js, race, runtime, sync, SockaddrDatalink, mmapper, Errno, Sockaddr, SockaddrInet4, SockaddrInet6, SockaddrUnix, Timespec, Stat_t, RawSockaddrInet4, RawSockaddrInet6, RawSockaddrUnix, RawSockaddrDatalink, RawSockaddr, RawSockaddrAny, _Socklen, Linger, Iovec, IPMreq, IPv6Mreq, Msghdr, sliceType, sliceType$1, ptrType$2, arrayType, arrayType$1, ptrType$11, arrayType$3, arrayType$4, arrayType$5, arrayType$6, arrayType$10, ptrType$16, arrayType$11, ptrType$17, ptrType$18, structType, ptrType$20, ptrType$21, ptrType$27, mapType, funcType$2, funcType$3, ptrType$28, ptrType$29, ptrType$30, ptrType$31, arrayType$15, ptrType$32, warningPrinted, lineBuffer, syscallModule, alreadyTriedToLoad, minusOne, envs, freebsdConfArch, minRoutingSockaddrLen, mapper, errEAGAIN, errEINVAL, errENOENT, ioSync, ioSync$24ptr, errors$1, init, printWarning, printToConsole, Exit, indexByte, runtime_envs, syscall, Syscall, Syscall6, BytePtrFromString, readInt, readIntBE, readIntLE, ParseDirent, CloseOnExec, SetNonblock, msanRead, msanWrite, rsaAlignOf, itoa, uitoa, ReadDirent, anyToSockaddr, Accept, Recvmsg, SendmsgN, direntIno, direntReclen, direntNamlen, errnoErr, Read, Write, Recvfrom, Sendto, SetsockoptByte, SetsockoptInt, SetsockoptInet4Addr, SetsockoptIPMreq, SetsockoptIPv6Mreq, SetsockoptLinger, accept, setsockopt, Shutdown, recvfrom, sendto, recvmsg, sendmsg, fcntl, Close, Dup, Fchdir, Fchmod, Fchown, Fstat, Fsync, Ftruncate, Getdirentries, Lstat, Pread, Pwrite, read, Seek, write, mmap, munmap; errors = $packages["errors"]; @@ -12074,6997 +19698,6 @@ $packages["os"] = (function() { $pkg.$init = $init; return $pkg; })(); -$packages["math/bits"] = (function() { - var $pkg = {}, $init, deBruijn32tab, deBruijn64tab, len8tab, LeadingZeros64, TrailingZeros, TrailingZeros32, TrailingZeros64, Len64; - LeadingZeros64 = function(x) { - var x; - return 64 - Len64(x) >> 0; - }; - $pkg.LeadingZeros64 = LeadingZeros64; - TrailingZeros = function(x) { - var x; - if (true) { - return TrailingZeros32(((x >>> 0))); - } - return TrailingZeros64((new $Uint64(0, x))); - }; - $pkg.TrailingZeros = TrailingZeros; - TrailingZeros32 = function(x) { - var x, x$1; - if (x === 0) { - return 32; - } - return (((x$1 = ($imul((((x & (-x >>> 0)) >>> 0)), 125613361) >>> 0) >>> 27 >>> 0, ((x$1 < 0 || x$1 >= deBruijn32tab.length) ? ($throwRuntimeError("index out of range"), undefined) : deBruijn32tab[x$1])) >> 0)); - }; - $pkg.TrailingZeros32 = TrailingZeros32; - TrailingZeros64 = function(x) { - var x, x$1, x$2; - if ((x.$high === 0 && x.$low === 0)) { - return 64; - } - return (((x$1 = $shiftRightUint64($mul64(((x$2 = new $Uint64(-x.$high, -x.$low), new $Uint64(x.$high & x$2.$high, (x.$low & x$2.$low) >>> 0))), new $Uint64(66559345, 3033172745)), 58), (($flatten64(x$1) < 0 || $flatten64(x$1) >= deBruijn64tab.length) ? ($throwRuntimeError("index out of range"), undefined) : deBruijn64tab[$flatten64(x$1)])) >> 0)); - }; - $pkg.TrailingZeros64 = TrailingZeros64; - Len64 = function(x) { - var n, x; - n = 0; - if ((x.$high > 1 || (x.$high === 1 && x.$low >= 0))) { - x = $shiftRightUint64(x, (32)); - n = 32; - } - if ((x.$high > 0 || (x.$high === 0 && x.$low >= 65536))) { - x = $shiftRightUint64(x, (16)); - n = n + (16) >> 0; - } - if ((x.$high > 0 || (x.$high === 0 && x.$low >= 256))) { - x = $shiftRightUint64(x, (8)); - n = n + (8) >> 0; - } - n = n + (((($flatten64(x) < 0 || $flatten64(x) >= len8tab.length) ? ($throwRuntimeError("index out of range"), undefined) : len8tab[$flatten64(x)]) >> 0)) >> 0; - return n; - }; - $pkg.Len64 = Len64; - $init = function() { - $pkg.$init = function() {}; - /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - deBruijn32tab = $toNativeArray($kindUint8, [0, 1, 28, 2, 29, 14, 24, 3, 30, 22, 20, 15, 25, 17, 4, 8, 31, 27, 13, 23, 21, 19, 16, 7, 26, 12, 18, 6, 11, 5, 10, 9]); - deBruijn64tab = $toNativeArray($kindUint8, [0, 1, 56, 2, 57, 49, 28, 3, 61, 58, 42, 50, 38, 29, 17, 4, 62, 47, 59, 36, 45, 43, 51, 22, 53, 39, 33, 30, 24, 18, 12, 5, 63, 55, 48, 27, 60, 41, 37, 16, 46, 35, 44, 21, 52, 32, 23, 11, 54, 26, 40, 15, 34, 20, 31, 10, 25, 14, 19, 9, 13, 8, 7, 6]); - len8tab = $toNativeArray($kindUint8, [0, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8]); - /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f; - }; - $pkg.$init = $init; - return $pkg; -})(); -$packages["strconv"] = (function() { - var $pkg = {}, $init, errors, math, bits, utf8, NumError, decimal, leftCheat, extFloat, floatInfo, decimalSlice, sliceType, sliceType$1, sliceType$2, sliceType$3, sliceType$4, sliceType$5, arrayType, sliceType$6, ptrType, arrayType$1, arrayType$2, ptrType$1, arrayType$3, arrayType$4, ptrType$2, ptrType$3, ptrType$4, optimize, powtab, float64pow10, float32pow10, leftcheats, smallPowersOfTen, powersOfTen, uint64pow10, float32info, float32info$24ptr, float64info, float64info$24ptr, isPrint16, isNotPrint16, isPrint32, isNotPrint32, isGraphic, equalIgnoreCase, special, readFloat, atof64exact, atof32exact, atof32, atof64, ParseFloat, syntaxError, rangeError, baseError, bitSizeError, ParseUint, ParseInt, digitZero, trim, rightShift, prefixIsLessThan, leftShift, shouldRoundUp, frexp10Many, adjustLastDigitFixed, adjustLastDigit, AppendFloat, genericFtoa, bigFtoa, formatDigits, roundShortest, fmtE, fmtF, fmtB, min, max, FormatInt, Itoa, small, formatBits, isPowerOfTwo, quoteWith, appendQuotedWith, appendQuotedRuneWith, appendEscapedRune, Quote, AppendQuote, AppendQuoteToASCII, AppendQuoteRune, AppendQuoteRuneToASCII, CanBackquote, unhex, UnquoteChar, Unquote, contains, bsearch16, bsearch32, IsPrint, isInGraphicList; - errors = $packages["errors"]; - math = $packages["math"]; - bits = $packages["math/bits"]; - utf8 = $packages["unicode/utf8"]; - NumError = $pkg.NumError = $newType(0, $kindStruct, "strconv.NumError", true, "strconv", true, function(Func_, Num_, Err_) { - this.$val = this; - if (arguments.length === 0) { - this.Func = ""; - this.Num = ""; - this.Err = $ifaceNil; - return; - } - this.Func = Func_; - this.Num = Num_; - this.Err = Err_; - }); - decimal = $pkg.decimal = $newType(0, $kindStruct, "strconv.decimal", true, "strconv", false, function(d_, nd_, dp_, neg_, trunc_) { - this.$val = this; - if (arguments.length === 0) { - this.d = arrayType.zero(); - this.nd = 0; - this.dp = 0; - this.neg = false; - this.trunc = false; - return; - } - this.d = d_; - this.nd = nd_; - this.dp = dp_; - this.neg = neg_; - this.trunc = trunc_; - }); - leftCheat = $pkg.leftCheat = $newType(0, $kindStruct, "strconv.leftCheat", true, "strconv", false, function(delta_, cutoff_) { - this.$val = this; - if (arguments.length === 0) { - this.delta = 0; - this.cutoff = ""; - return; - } - this.delta = delta_; - this.cutoff = cutoff_; - }); - extFloat = $pkg.extFloat = $newType(0, $kindStruct, "strconv.extFloat", true, "strconv", false, function(mant_, exp_, neg_) { - this.$val = this; - if (arguments.length === 0) { - this.mant = new $Uint64(0, 0); - this.exp = 0; - this.neg = false; - return; - } - this.mant = mant_; - this.exp = exp_; - this.neg = neg_; - }); - floatInfo = $pkg.floatInfo = $newType(0, $kindStruct, "strconv.floatInfo", true, "strconv", false, function(mantbits_, expbits_, bias_) { - this.$val = this; - if (arguments.length === 0) { - this.mantbits = 0; - this.expbits = 0; - this.bias = 0; - return; - } - this.mantbits = mantbits_; - this.expbits = expbits_; - this.bias = bias_; - }); - decimalSlice = $pkg.decimalSlice = $newType(0, $kindStruct, "strconv.decimalSlice", true, "strconv", false, function(d_, nd_, dp_, neg_) { - this.$val = this; - if (arguments.length === 0) { - this.d = sliceType$6.nil; - this.nd = 0; - this.dp = 0; - this.neg = false; - return; - } - this.d = d_; - this.nd = nd_; - this.dp = dp_; - this.neg = neg_; - }); - sliceType = $sliceType($Int); - sliceType$1 = $sliceType($Float64); - sliceType$2 = $sliceType($Float32); - sliceType$3 = $sliceType(leftCheat); - sliceType$4 = $sliceType($Uint16); - sliceType$5 = $sliceType($Uint32); - arrayType = $arrayType($Uint8, 800); - sliceType$6 = $sliceType($Uint8); - ptrType = $ptrType(NumError); - arrayType$1 = $arrayType($Uint8, 24); - arrayType$2 = $arrayType($Uint8, 32); - ptrType$1 = $ptrType(floatInfo); - arrayType$3 = $arrayType($Uint8, 65); - arrayType$4 = $arrayType($Uint8, 4); - ptrType$2 = $ptrType(decimal); - ptrType$3 = $ptrType(decimalSlice); - ptrType$4 = $ptrType(extFloat); - equalIgnoreCase = function(s1, s2) { - var c1, c2, i, s1, s2; - if (!((s1.length === s2.length))) { - return false; - } - i = 0; - while (true) { - if (!(i < s1.length)) { break; } - c1 = s1.charCodeAt(i); - if (65 <= c1 && c1 <= 90) { - c1 = c1 + (32) << 24 >>> 24; - } - c2 = s2.charCodeAt(i); - if (65 <= c2 && c2 <= 90) { - c2 = c2 + (32) << 24 >>> 24; - } - if (!((c1 === c2))) { - return false; - } - i = i + (1) >> 0; - } - return true; - }; - special = function(s) { - var _1, _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, f, ok, s; - f = 0; - ok = false; - if (s.length === 0) { - return [f, ok]; - } - _1 = s.charCodeAt(0); - if (_1 === (43)) { - if (equalIgnoreCase(s, "+inf") || equalIgnoreCase(s, "+infinity")) { - _tmp = math.Inf(1); - _tmp$1 = true; - f = _tmp; - ok = _tmp$1; - return [f, ok]; - } - } else if (_1 === (45)) { - if (equalIgnoreCase(s, "-inf") || equalIgnoreCase(s, "-infinity")) { - _tmp$2 = math.Inf(-1); - _tmp$3 = true; - f = _tmp$2; - ok = _tmp$3; - return [f, ok]; - } - } else if ((_1 === (110)) || (_1 === (78))) { - if (equalIgnoreCase(s, "nan")) { - _tmp$4 = math.NaN(); - _tmp$5 = true; - f = _tmp$4; - ok = _tmp$5; - return [f, ok]; - } - } else if ((_1 === (105)) || (_1 === (73))) { - if (equalIgnoreCase(s, "inf") || equalIgnoreCase(s, "infinity")) { - _tmp$6 = math.Inf(1); - _tmp$7 = true; - f = _tmp$6; - ok = _tmp$7; - return [f, ok]; - } - } else { - return [f, ok]; - } - return [f, ok]; - }; - decimal.ptr.prototype.set = function(s) { - var b, e, esign, i, ok, s, sawdigits, sawdot, x, x$1; - ok = false; - b = this; - i = 0; - b.neg = false; - b.trunc = false; - if (i >= s.length) { - return ok; - } - if ((s.charCodeAt(i) === 43)) { - i = i + (1) >> 0; - } else if ((s.charCodeAt(i) === 45)) { - b.neg = true; - i = i + (1) >> 0; - } - sawdot = false; - sawdigits = false; - while (true) { - if (!(i < s.length)) { break; } - if ((s.charCodeAt(i) === 46)) { - if (sawdot) { - return ok; - } - sawdot = true; - b.dp = b.nd; - i = i + (1) >> 0; - continue; - } else if (48 <= s.charCodeAt(i) && s.charCodeAt(i) <= 57) { - sawdigits = true; - if ((s.charCodeAt(i) === 48) && (b.nd === 0)) { - b.dp = b.dp - (1) >> 0; - i = i + (1) >> 0; - continue; - } - if (b.nd < 800) { - (x = b.d, x$1 = b.nd, ((x$1 < 0 || x$1 >= x.length) ? ($throwRuntimeError("index out of range"), undefined) : x[x$1] = s.charCodeAt(i))); - b.nd = b.nd + (1) >> 0; - } else if (!((s.charCodeAt(i) === 48))) { - b.trunc = true; - } - i = i + (1) >> 0; - continue; - } - break; - } - if (!sawdigits) { - return ok; - } - if (!sawdot) { - b.dp = b.nd; - } - if (i < s.length && ((s.charCodeAt(i) === 101) || (s.charCodeAt(i) === 69))) { - i = i + (1) >> 0; - if (i >= s.length) { - return ok; - } - esign = 1; - if (s.charCodeAt(i) === 43) { - i = i + (1) >> 0; - } else if (s.charCodeAt(i) === 45) { - i = i + (1) >> 0; - esign = -1; - } - if (i >= s.length || s.charCodeAt(i) < 48 || s.charCodeAt(i) > 57) { - return ok; - } - e = 0; - while (true) { - if (!(i < s.length && 48 <= s.charCodeAt(i) && s.charCodeAt(i) <= 57)) { break; } - if (e < 10000) { - e = (($imul(e, 10)) + ((s.charCodeAt(i) >> 0)) >> 0) - 48 >> 0; - } - i = i + (1) >> 0; - } - b.dp = b.dp + (($imul(e, esign))) >> 0; - } - if (!((i === s.length))) { - return ok; - } - ok = true; - return ok; - }; - decimal.prototype.set = function(s) { return this.$val.set(s); }; - readFloat = function(s) { - var _1, c, dp, e, esign, exp, i, mantissa, nd, ndMant, neg, ok, s, sawdigits, sawdot, trunc, x; - mantissa = new $Uint64(0, 0); - exp = 0; - neg = false; - trunc = false; - ok = false; - i = 0; - if (i >= s.length) { - return [mantissa, exp, neg, trunc, ok]; - } - if ((s.charCodeAt(i) === 43)) { - i = i + (1) >> 0; - } else if ((s.charCodeAt(i) === 45)) { - neg = true; - i = i + (1) >> 0; - } - sawdot = false; - sawdigits = false; - nd = 0; - ndMant = 0; - dp = 0; - while (true) { - if (!(i < s.length)) { break; } - c = s.charCodeAt(i); - _1 = true; - if (_1 === ((c === 46))) { - if (sawdot) { - return [mantissa, exp, neg, trunc, ok]; - } - sawdot = true; - dp = nd; - i = i + (1) >> 0; - continue; - } else if (_1 === (48 <= c && c <= 57)) { - sawdigits = true; - if ((c === 48) && (nd === 0)) { - dp = dp - (1) >> 0; - i = i + (1) >> 0; - continue; - } - nd = nd + (1) >> 0; - if (ndMant < 19) { - mantissa = $mul64(mantissa, (new $Uint64(0, 10))); - mantissa = (x = (new $Uint64(0, (c - 48 << 24 >>> 24))), new $Uint64(mantissa.$high + x.$high, mantissa.$low + x.$low)); - ndMant = ndMant + (1) >> 0; - } else if (!((s.charCodeAt(i) === 48))) { - trunc = true; - } - i = i + (1) >> 0; - continue; - } - break; - } - if (!sawdigits) { - return [mantissa, exp, neg, trunc, ok]; - } - if (!sawdot) { - dp = nd; - } - if (i < s.length && ((s.charCodeAt(i) === 101) || (s.charCodeAt(i) === 69))) { - i = i + (1) >> 0; - if (i >= s.length) { - return [mantissa, exp, neg, trunc, ok]; - } - esign = 1; - if (s.charCodeAt(i) === 43) { - i = i + (1) >> 0; - } else if (s.charCodeAt(i) === 45) { - i = i + (1) >> 0; - esign = -1; - } - if (i >= s.length || s.charCodeAt(i) < 48 || s.charCodeAt(i) > 57) { - return [mantissa, exp, neg, trunc, ok]; - } - e = 0; - while (true) { - if (!(i < s.length && 48 <= s.charCodeAt(i) && s.charCodeAt(i) <= 57)) { break; } - if (e < 10000) { - e = (($imul(e, 10)) + ((s.charCodeAt(i) >> 0)) >> 0) - 48 >> 0; - } - i = i + (1) >> 0; - } - dp = dp + (($imul(e, esign))) >> 0; - } - if (!((i === s.length))) { - return [mantissa, exp, neg, trunc, ok]; - } - if (!((mantissa.$high === 0 && mantissa.$low === 0))) { - exp = dp - ndMant >> 0; - } - ok = true; - return [mantissa, exp, neg, trunc, ok]; - }; - decimal.ptr.prototype.floatBits = function(flt) { - var _tmp, _tmp$1, b, bits$1, d, exp, flt, mant, n, n$1, n$2, overflow, x, x$1, x$2, x$3, x$4, x$5, x$6, x$7, x$8, y, y$1, y$2, y$3, $s; - /* */ $s = 0; s: while (true) { switch ($s) { case 0: - b = new $Uint64(0, 0); - overflow = false; - d = this; - exp = 0; - mant = new $Uint64(0, 0); - /* */ if (d.nd === 0) { $s = 1; continue; } - /* */ $s = 2; continue; - /* if (d.nd === 0) { */ case 1: - mant = new $Uint64(0, 0); - exp = flt.bias; - /* goto out */ $s = 3; continue; - /* } */ case 2: - /* */ if (d.dp > 310) { $s = 4; continue; } - /* */ $s = 5; continue; - /* if (d.dp > 310) { */ case 4: - /* goto overflow */ $s = 6; continue; - /* } */ case 5: - /* */ if (d.dp < -330) { $s = 7; continue; } - /* */ $s = 8; continue; - /* if (d.dp < -330) { */ case 7: - mant = new $Uint64(0, 0); - exp = flt.bias; - /* goto out */ $s = 3; continue; - /* } */ case 8: - exp = 0; - while (true) { - if (!(d.dp > 0)) { break; } - n = 0; - if (d.dp >= powtab.$length) { - n = 27; - } else { - n = (x = d.dp, ((x < 0 || x >= powtab.$length) ? ($throwRuntimeError("index out of range"), undefined) : powtab.$array[powtab.$offset + x])); - } - d.Shift(-n); - exp = exp + (n) >> 0; - } - while (true) { - if (!(d.dp < 0 || (d.dp === 0) && d.d[0] < 53)) { break; } - n$1 = 0; - if (-d.dp >= powtab.$length) { - n$1 = 27; - } else { - n$1 = (x$1 = -d.dp, ((x$1 < 0 || x$1 >= powtab.$length) ? ($throwRuntimeError("index out of range"), undefined) : powtab.$array[powtab.$offset + x$1])); - } - d.Shift(n$1); - exp = exp - (n$1) >> 0; - } - exp = exp - (1) >> 0; - if (exp < (flt.bias + 1 >> 0)) { - n$2 = (flt.bias + 1 >> 0) - exp >> 0; - d.Shift(-n$2); - exp = exp + (n$2) >> 0; - } - /* */ if ((exp - flt.bias >> 0) >= (((y = flt.expbits, y < 32 ? (1 << y) : 0) >> 0) - 1 >> 0)) { $s = 9; continue; } - /* */ $s = 10; continue; - /* if ((exp - flt.bias >> 0) >= (((y = flt.expbits, y < 32 ? (1 << y) : 0) >> 0) - 1 >> 0)) { */ case 9: - /* goto overflow */ $s = 6; continue; - /* } */ case 10: - d.Shift((((1 + flt.mantbits >>> 0) >> 0))); - mant = d.RoundedInteger(); - /* */ if ((x$2 = $shiftLeft64(new $Uint64(0, 2), flt.mantbits), (mant.$high === x$2.$high && mant.$low === x$2.$low))) { $s = 11; continue; } - /* */ $s = 12; continue; - /* if ((x$2 = $shiftLeft64(new $Uint64(0, 2), flt.mantbits), (mant.$high === x$2.$high && mant.$low === x$2.$low))) { */ case 11: - mant = $shiftRightUint64(mant, (1)); - exp = exp + (1) >> 0; - /* */ if ((exp - flt.bias >> 0) >= (((y$1 = flt.expbits, y$1 < 32 ? (1 << y$1) : 0) >> 0) - 1 >> 0)) { $s = 13; continue; } - /* */ $s = 14; continue; - /* if ((exp - flt.bias >> 0) >= (((y$1 = flt.expbits, y$1 < 32 ? (1 << y$1) : 0) >> 0) - 1 >> 0)) { */ case 13: - /* goto overflow */ $s = 6; continue; - /* } */ case 14: - /* } */ case 12: - if ((x$3 = (x$4 = $shiftLeft64(new $Uint64(0, 1), flt.mantbits), new $Uint64(mant.$high & x$4.$high, (mant.$low & x$4.$low) >>> 0)), (x$3.$high === 0 && x$3.$low === 0))) { - exp = flt.bias; - } - /* goto out */ $s = 3; continue; - /* overflow: */ case 6: - mant = new $Uint64(0, 0); - exp = (((y$2 = flt.expbits, y$2 < 32 ? (1 << y$2) : 0) >> 0) - 1 >> 0) + flt.bias >> 0; - overflow = true; - /* out: */ case 3: - bits$1 = (x$5 = (x$6 = $shiftLeft64(new $Uint64(0, 1), flt.mantbits), new $Uint64(x$6.$high - 0, x$6.$low - 1)), new $Uint64(mant.$high & x$5.$high, (mant.$low & x$5.$low) >>> 0)); - bits$1 = (x$7 = $shiftLeft64((new $Uint64(0, (((exp - flt.bias >> 0)) & ((((y$3 = flt.expbits, y$3 < 32 ? (1 << y$3) : 0) >> 0) - 1 >> 0))))), flt.mantbits), new $Uint64(bits$1.$high | x$7.$high, (bits$1.$low | x$7.$low) >>> 0)); - if (d.neg) { - bits$1 = (x$8 = $shiftLeft64($shiftLeft64(new $Uint64(0, 1), flt.mantbits), flt.expbits), new $Uint64(bits$1.$high | x$8.$high, (bits$1.$low | x$8.$low) >>> 0)); - } - _tmp = bits$1; - _tmp$1 = overflow; - b = _tmp; - overflow = _tmp$1; - $s = -1; return [b, overflow]; - /* */ } return; } - }; - decimal.prototype.floatBits = function(flt) { return this.$val.floatBits(flt); }; - atof64exact = function(mantissa, exp, neg) { - var _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, exp, f, mantissa, neg, ok, x, x$1, x$2; - f = 0; - ok = false; - if (!((x = $shiftRightUint64(mantissa, float64info.mantbits), (x.$high === 0 && x.$low === 0)))) { - return [f, ok]; - } - f = ($flatten64(mantissa)); - if (neg) { - f = -f; - } - if ((exp === 0)) { - _tmp = f; - _tmp$1 = true; - f = _tmp; - ok = _tmp$1; - return [f, ok]; - } else if (exp > 0 && exp <= 37) { - if (exp > 22) { - f = f * ((x$1 = exp - 22 >> 0, ((x$1 < 0 || x$1 >= float64pow10.$length) ? ($throwRuntimeError("index out of range"), undefined) : float64pow10.$array[float64pow10.$offset + x$1]))); - exp = 22; - } - if (f > 1e+15 || f < -1e+15) { - return [f, ok]; - } - _tmp$2 = f * ((exp < 0 || exp >= float64pow10.$length) ? ($throwRuntimeError("index out of range"), undefined) : float64pow10.$array[float64pow10.$offset + exp]); - _tmp$3 = true; - f = _tmp$2; - ok = _tmp$3; - return [f, ok]; - } else if (exp < 0 && exp >= -22) { - _tmp$4 = f / (x$2 = -exp, ((x$2 < 0 || x$2 >= float64pow10.$length) ? ($throwRuntimeError("index out of range"), undefined) : float64pow10.$array[float64pow10.$offset + x$2])); - _tmp$5 = true; - f = _tmp$4; - ok = _tmp$5; - return [f, ok]; - } - return [f, ok]; - }; - atof32exact = function(mantissa, exp, neg) { - var _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, exp, f, mantissa, neg, ok, x, x$1, x$2; - f = 0; - ok = false; - if (!((x = $shiftRightUint64(mantissa, float32info.mantbits), (x.$high === 0 && x.$low === 0)))) { - return [f, ok]; - } - f = ($flatten64(mantissa)); - if (neg) { - f = -f; - } - if ((exp === 0)) { - _tmp = f; - _tmp$1 = true; - f = _tmp; - ok = _tmp$1; - return [f, ok]; - } else if (exp > 0 && exp <= 17) { - if (exp > 10) { - f = $fround(f * ((x$1 = exp - 10 >> 0, ((x$1 < 0 || x$1 >= float32pow10.$length) ? ($throwRuntimeError("index out of range"), undefined) : float32pow10.$array[float32pow10.$offset + x$1])))); - exp = 10; - } - if (f > 1e+07 || f < -1e+07) { - return [f, ok]; - } - _tmp$2 = $fround(f * ((exp < 0 || exp >= float32pow10.$length) ? ($throwRuntimeError("index out of range"), undefined) : float32pow10.$array[float32pow10.$offset + exp])); - _tmp$3 = true; - f = _tmp$2; - ok = _tmp$3; - return [f, ok]; - } else if (exp < 0 && exp >= -10) { - _tmp$4 = $fround(f / (x$2 = -exp, ((x$2 < 0 || x$2 >= float32pow10.$length) ? ($throwRuntimeError("index out of range"), undefined) : float32pow10.$array[float32pow10.$offset + x$2]))); - _tmp$5 = true; - f = _tmp$4; - ok = _tmp$5; - return [f, ok]; - } - return [f, ok]; - }; - atof32 = function(s) { - var _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, _tuple, _tuple$1, _tuple$2, _tuple$3, _tuple$4, b, b$1, d, err, exp, ext, f, f$1, mantissa, neg, ok, ok$1, ok$2, ok$3, ovf, ovf$1, s, trunc, val; - f = 0; - err = $ifaceNil; - _tuple = special(s); - val = _tuple[0]; - ok = _tuple[1]; - if (ok) { - _tmp = ($fround(val)); - _tmp$1 = $ifaceNil; - f = _tmp; - err = _tmp$1; - return [f, err]; - } - if (optimize) { - _tuple$1 = readFloat(s); - mantissa = _tuple$1[0]; - exp = _tuple$1[1]; - neg = _tuple$1[2]; - trunc = _tuple$1[3]; - ok$1 = _tuple$1[4]; - if (ok$1) { - if (!trunc) { - _tuple$2 = atof32exact(mantissa, exp, neg); - f$1 = _tuple$2[0]; - ok$2 = _tuple$2[1]; - if (ok$2) { - _tmp$2 = f$1; - _tmp$3 = $ifaceNil; - f = _tmp$2; - err = _tmp$3; - return [f, err]; - } - } - ext = new extFloat.ptr(new $Uint64(0, 0), 0, false); - ok$3 = ext.AssignDecimal(mantissa, exp, neg, trunc, float32info); - if (ok$3) { - _tuple$3 = ext.floatBits(float32info); - b = _tuple$3[0]; - ovf = _tuple$3[1]; - f = math.Float32frombits(((b.$low >>> 0))); - if (ovf) { - err = rangeError("ParseFloat", s); - } - _tmp$4 = f; - _tmp$5 = err; - f = _tmp$4; - err = _tmp$5; - return [f, err]; - } - } - } - d = new decimal.ptr(arrayType.zero(), 0, 0, false, false); - if (!d.set(s)) { - _tmp$6 = 0; - _tmp$7 = syntaxError("ParseFloat", s); - f = _tmp$6; - err = _tmp$7; - return [f, err]; - } - _tuple$4 = d.floatBits(float32info); - b$1 = _tuple$4[0]; - ovf$1 = _tuple$4[1]; - f = math.Float32frombits(((b$1.$low >>> 0))); - if (ovf$1) { - err = rangeError("ParseFloat", s); - } - _tmp$8 = f; - _tmp$9 = err; - f = _tmp$8; - err = _tmp$9; - return [f, err]; - }; - atof64 = function(s) { - var _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, _tuple, _tuple$1, _tuple$2, _tuple$3, _tuple$4, b, b$1, d, err, exp, ext, f, f$1, mantissa, neg, ok, ok$1, ok$2, ok$3, ovf, ovf$1, s, trunc, val; - f = 0; - err = $ifaceNil; - _tuple = special(s); - val = _tuple[0]; - ok = _tuple[1]; - if (ok) { - _tmp = val; - _tmp$1 = $ifaceNil; - f = _tmp; - err = _tmp$1; - return [f, err]; - } - if (optimize) { - _tuple$1 = readFloat(s); - mantissa = _tuple$1[0]; - exp = _tuple$1[1]; - neg = _tuple$1[2]; - trunc = _tuple$1[3]; - ok$1 = _tuple$1[4]; - if (ok$1) { - if (!trunc) { - _tuple$2 = atof64exact(mantissa, exp, neg); - f$1 = _tuple$2[0]; - ok$2 = _tuple$2[1]; - if (ok$2) { - _tmp$2 = f$1; - _tmp$3 = $ifaceNil; - f = _tmp$2; - err = _tmp$3; - return [f, err]; - } - } - ext = new extFloat.ptr(new $Uint64(0, 0), 0, false); - ok$3 = ext.AssignDecimal(mantissa, exp, neg, trunc, float64info); - if (ok$3) { - _tuple$3 = ext.floatBits(float64info); - b = _tuple$3[0]; - ovf = _tuple$3[1]; - f = math.Float64frombits(b); - if (ovf) { - err = rangeError("ParseFloat", s); - } - _tmp$4 = f; - _tmp$5 = err; - f = _tmp$4; - err = _tmp$5; - return [f, err]; - } - } - } - d = new decimal.ptr(arrayType.zero(), 0, 0, false, false); - if (!d.set(s)) { - _tmp$6 = 0; - _tmp$7 = syntaxError("ParseFloat", s); - f = _tmp$6; - err = _tmp$7; - return [f, err]; - } - _tuple$4 = d.floatBits(float64info); - b$1 = _tuple$4[0]; - ovf$1 = _tuple$4[1]; - f = math.Float64frombits(b$1); - if (ovf$1) { - err = rangeError("ParseFloat", s); - } - _tmp$8 = f; - _tmp$9 = err; - f = _tmp$8; - err = _tmp$9; - return [f, err]; - }; - ParseFloat = function(s, bitSize) { - var _tuple, bitSize, err, f, s; - if (bitSize === 32) { - _tuple = atof32(s); - f = _tuple[0]; - err = _tuple[1]; - return [(f), err]; - } - return atof64(s); - }; - $pkg.ParseFloat = ParseFloat; - NumError.ptr.prototype.Error = function() { - var _r, e, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; e = $f.e; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - e = this; - _r = e.Err.Error(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - $s = -1; return "strconv." + e.Func + ": " + "parsing " + Quote(e.Num) + ": " + _r; - /* */ } return; } if ($f === undefined) { $f = { $blk: NumError.ptr.prototype.Error }; } $f._r = _r; $f.e = e; $f.$s = $s; $f.$r = $r; return $f; - }; - NumError.prototype.Error = function() { return this.$val.Error(); }; - syntaxError = function(fn, str) { - var fn, str; - return new NumError.ptr(fn, str, $pkg.ErrSyntax); - }; - rangeError = function(fn, str) { - var fn, str; - return new NumError.ptr(fn, str, $pkg.ErrRange); - }; - baseError = function(fn, str, base) { - var base, fn, str; - return new NumError.ptr(fn, str, errors.New("invalid base " + Itoa(base))); - }; - bitSizeError = function(fn, str, bitSize) { - var bitSize, fn, str; - return new NumError.ptr(fn, str, errors.New("invalid bit size " + Itoa(bitSize))); - }; - ParseUint = function(s, base, bitSize) { - var _1, _i, _ref, base, bitSize, c, cutoff, d, maxVal, n, n1, s, s0, x, x$1, x$2; - if (s.length === 0) { - return [new $Uint64(0, 0), syntaxError("ParseUint", s)]; - } - s0 = s; - if (2 <= base && base <= 36) { - } else if ((base === 0)) { - if ((s.charCodeAt(0) === 48) && s.length > 1 && ((s.charCodeAt(1) === 120) || (s.charCodeAt(1) === 88))) { - if (s.length < 3) { - return [new $Uint64(0, 0), syntaxError("ParseUint", s0)]; - } - base = 16; - s = $substring(s, 2); - } else if ((s.charCodeAt(0) === 48)) { - base = 8; - s = $substring(s, 1); - } else { - base = 10; - } - } else { - return [new $Uint64(0, 0), baseError("ParseUint", s0, base)]; - } - if (bitSize === 0) { - bitSize = 32; - } else if (bitSize < 0 || bitSize > 64) { - return [new $Uint64(0, 0), bitSizeError("ParseUint", s0, bitSize)]; - } - cutoff = new $Uint64(0, 0); - _1 = base; - if (_1 === (10)) { - cutoff = new $Uint64(429496729, 2576980378); - } else if (_1 === (16)) { - cutoff = new $Uint64(268435456, 0); - } else { - cutoff = (x = $div64(new $Uint64(4294967295, 4294967295), (new $Uint64(0, base)), false), new $Uint64(x.$high + 0, x.$low + 1)); - } - maxVal = (x$1 = $shiftLeft64(new $Uint64(0, 1), ((bitSize >>> 0))), new $Uint64(x$1.$high - 0, x$1.$low - 1)); - n = new $Uint64(0, 0); - _ref = (new sliceType$6($stringToBytes(s))); - _i = 0; - while (true) { - if (!(_i < _ref.$length)) { break; } - c = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]); - d = 0; - if (48 <= c && c <= 57) { - d = c - 48 << 24 >>> 24; - } else if (97 <= c && c <= 122) { - d = (c - 97 << 24 >>> 24) + 10 << 24 >>> 24; - } else if (65 <= c && c <= 90) { - d = (c - 65 << 24 >>> 24) + 10 << 24 >>> 24; - } else { - return [new $Uint64(0, 0), syntaxError("ParseUint", s0)]; - } - if (d >= ((base << 24 >>> 24))) { - return [new $Uint64(0, 0), syntaxError("ParseUint", s0)]; - } - if ((n.$high > cutoff.$high || (n.$high === cutoff.$high && n.$low >= cutoff.$low))) { - return [maxVal, rangeError("ParseUint", s0)]; - } - n = $mul64(n, ((new $Uint64(0, base)))); - n1 = (x$2 = (new $Uint64(0, d)), new $Uint64(n.$high + x$2.$high, n.$low + x$2.$low)); - if ((n1.$high < n.$high || (n1.$high === n.$high && n1.$low < n.$low)) || (n1.$high > maxVal.$high || (n1.$high === maxVal.$high && n1.$low > maxVal.$low))) { - return [maxVal, rangeError("ParseUint", s0)]; - } - n = n1; - _i++; - } - return [n, $ifaceNil]; - }; - $pkg.ParseUint = ParseUint; - ParseInt = function(s, base, bitSize) { - var _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, _tuple, base, bitSize, cutoff, err, i, n, neg, s, s0, un, x, x$1; - i = new $Int64(0, 0); - err = $ifaceNil; - if (s.length === 0) { - _tmp = new $Int64(0, 0); - _tmp$1 = syntaxError("ParseInt", s); - i = _tmp; - err = _tmp$1; - return [i, err]; - } - s0 = s; - neg = false; - if (s.charCodeAt(0) === 43) { - s = $substring(s, 1); - } else if (s.charCodeAt(0) === 45) { - neg = true; - s = $substring(s, 1); - } - un = new $Uint64(0, 0); - _tuple = ParseUint(s, base, bitSize); - un = _tuple[0]; - err = _tuple[1]; - if (!($interfaceIsEqual(err, $ifaceNil)) && !($interfaceIsEqual($assertType(err, ptrType).Err, $pkg.ErrRange))) { - $assertType(err, ptrType).Func = "ParseInt"; - $assertType(err, ptrType).Num = s0; - _tmp$2 = new $Int64(0, 0); - _tmp$3 = err; - i = _tmp$2; - err = _tmp$3; - return [i, err]; - } - if (bitSize === 0) { - bitSize = 32; - } - cutoff = ($shiftLeft64(new $Uint64(0, 1), (((bitSize - 1 >> 0) >>> 0)))); - if (!neg && (un.$high > cutoff.$high || (un.$high === cutoff.$high && un.$low >= cutoff.$low))) { - _tmp$4 = ((x = new $Uint64(cutoff.$high - 0, cutoff.$low - 1), new $Int64(x.$high, x.$low))); - _tmp$5 = rangeError("ParseInt", s0); - i = _tmp$4; - err = _tmp$5; - return [i, err]; - } - if (neg && (un.$high > cutoff.$high || (un.$high === cutoff.$high && un.$low > cutoff.$low))) { - _tmp$6 = (x$1 = (new $Int64(cutoff.$high, cutoff.$low)), new $Int64(-x$1.$high, -x$1.$low)); - _tmp$7 = rangeError("ParseInt", s0); - i = _tmp$6; - err = _tmp$7; - return [i, err]; - } - n = (new $Int64(un.$high, un.$low)); - if (neg) { - n = new $Int64(-n.$high, -n.$low); - } - _tmp$8 = n; - _tmp$9 = $ifaceNil; - i = _tmp$8; - err = _tmp$9; - return [i, err]; - }; - $pkg.ParseInt = ParseInt; - decimal.ptr.prototype.String = function() { - var a, buf, n, w; - a = this; - n = 10 + a.nd >> 0; - if (a.dp > 0) { - n = n + (a.dp) >> 0; - } - if (a.dp < 0) { - n = n + (-a.dp) >> 0; - } - buf = $makeSlice(sliceType$6, n); - w = 0; - if ((a.nd === 0)) { - return "0"; - } else if (a.dp <= 0) { - ((w < 0 || w >= buf.$length) ? ($throwRuntimeError("index out of range"), undefined) : buf.$array[buf.$offset + w] = 48); - w = w + (1) >> 0; - ((w < 0 || w >= buf.$length) ? ($throwRuntimeError("index out of range"), undefined) : buf.$array[buf.$offset + w] = 46); - w = w + (1) >> 0; - w = w + (digitZero($subslice(buf, w, (w + -a.dp >> 0)))) >> 0; - w = w + ($copySlice($subslice(buf, w), $subslice(new sliceType$6(a.d), 0, a.nd))) >> 0; - } else if (a.dp < a.nd) { - w = w + ($copySlice($subslice(buf, w), $subslice(new sliceType$6(a.d), 0, a.dp))) >> 0; - ((w < 0 || w >= buf.$length) ? ($throwRuntimeError("index out of range"), undefined) : buf.$array[buf.$offset + w] = 46); - w = w + (1) >> 0; - w = w + ($copySlice($subslice(buf, w), $subslice(new sliceType$6(a.d), a.dp, a.nd))) >> 0; - } else { - w = w + ($copySlice($subslice(buf, w), $subslice(new sliceType$6(a.d), 0, a.nd))) >> 0; - w = w + (digitZero($subslice(buf, w, ((w + a.dp >> 0) - a.nd >> 0)))) >> 0; - } - return ($bytesToString($subslice(buf, 0, w))); - }; - decimal.prototype.String = function() { return this.$val.String(); }; - digitZero = function(dst) { - var _i, _ref, dst, i; - _ref = dst; - _i = 0; - while (true) { - if (!(_i < _ref.$length)) { break; } - i = _i; - ((i < 0 || i >= dst.$length) ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + i] = 48); - _i++; - } - return dst.$length; - }; - trim = function(a) { - var a, x, x$1; - while (true) { - if (!(a.nd > 0 && ((x = a.d, x$1 = a.nd - 1 >> 0, ((x$1 < 0 || x$1 >= x.length) ? ($throwRuntimeError("index out of range"), undefined) : x[x$1])) === 48))) { break; } - a.nd = a.nd - (1) >> 0; - } - if (a.nd === 0) { - a.dp = 0; - } - }; - decimal.ptr.prototype.Assign = function(v) { - var a, buf, n, v, v1, x, x$1, x$2; - a = this; - buf = arrayType$1.zero(); - n = 0; - while (true) { - if (!((v.$high > 0 || (v.$high === 0 && v.$low > 0)))) { break; } - v1 = $div64(v, new $Uint64(0, 10), false); - v = (x = $mul64(new $Uint64(0, 10), v1), new $Uint64(v.$high - x.$high, v.$low - x.$low)); - ((n < 0 || n >= buf.length) ? ($throwRuntimeError("index out of range"), undefined) : buf[n] = ((new $Uint64(v.$high + 0, v.$low + 48).$low << 24 >>> 24))); - n = n + (1) >> 0; - v = v1; - } - a.nd = 0; - n = n - (1) >> 0; - while (true) { - if (!(n >= 0)) { break; } - (x$1 = a.d, x$2 = a.nd, ((x$2 < 0 || x$2 >= x$1.length) ? ($throwRuntimeError("index out of range"), undefined) : x$1[x$2] = ((n < 0 || n >= buf.length) ? ($throwRuntimeError("index out of range"), undefined) : buf[n]))); - a.nd = a.nd + (1) >> 0; - n = n - (1) >> 0; - } - a.dp = a.nd; - trim(a); - }; - decimal.prototype.Assign = function(v) { return this.$val.Assign(v); }; - rightShift = function(a, k) { - var a, c, c$1, dig, dig$1, k, mask, n, r, w, x, x$1, x$2, x$3, y, y$1, y$2, y$3, y$4; - r = 0; - w = 0; - n = 0; - while (true) { - if (!(((y = k, y < 32 ? (n >>> y) : 0) >>> 0) === 0)) { break; } - if (r >= a.nd) { - if (n === 0) { - a.nd = 0; - return; - } - while (true) { - if (!(((y$1 = k, y$1 < 32 ? (n >>> y$1) : 0) >>> 0) === 0)) { break; } - n = n * 10 >>> 0; - r = r + (1) >> 0; - } - break; - } - c = (((x = a.d, ((r < 0 || r >= x.length) ? ($throwRuntimeError("index out of range"), undefined) : x[r])) >>> 0)); - n = ((n * 10 >>> 0) + c >>> 0) - 48 >>> 0; - r = r + (1) >> 0; - } - a.dp = a.dp - ((r - 1 >> 0)) >> 0; - mask = (((y$2 = k, y$2 < 32 ? (1 << y$2) : 0) >>> 0)) - 1 >>> 0; - while (true) { - if (!(r < a.nd)) { break; } - c$1 = (((x$1 = a.d, ((r < 0 || r >= x$1.length) ? ($throwRuntimeError("index out of range"), undefined) : x$1[r])) >>> 0)); - dig = (y$3 = k, y$3 < 32 ? (n >>> y$3) : 0) >>> 0; - n = (n & (mask)) >>> 0; - (x$2 = a.d, ((w < 0 || w >= x$2.length) ? ($throwRuntimeError("index out of range"), undefined) : x$2[w] = (((dig + 48 >>> 0) << 24 >>> 24)))); - w = w + (1) >> 0; - n = ((n * 10 >>> 0) + c$1 >>> 0) - 48 >>> 0; - r = r + (1) >> 0; - } - while (true) { - if (!(n > 0)) { break; } - dig$1 = (y$4 = k, y$4 < 32 ? (n >>> y$4) : 0) >>> 0; - n = (n & (mask)) >>> 0; - if (w < 800) { - (x$3 = a.d, ((w < 0 || w >= x$3.length) ? ($throwRuntimeError("index out of range"), undefined) : x$3[w] = (((dig$1 + 48 >>> 0) << 24 >>> 24)))); - w = w + (1) >> 0; - } else if (dig$1 > 0) { - a.trunc = true; - } - n = n * 10 >>> 0; - } - a.nd = w; - trim(a); - }; - prefixIsLessThan = function(b, s) { - var b, i, s; - i = 0; - while (true) { - if (!(i < s.length)) { break; } - if (i >= b.$length) { - return true; - } - if (!((((i < 0 || i >= b.$length) ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + i]) === s.charCodeAt(i)))) { - return ((i < 0 || i >= b.$length) ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + i]) < s.charCodeAt(i); - } - i = i + (1) >> 0; - } - return false; - }; - leftShift = function(a, k) { - var _q, _q$1, a, delta, k, n, quo, quo$1, r, rem, rem$1, w, x, x$1, x$2, y; - delta = ((k < 0 || k >= leftcheats.$length) ? ($throwRuntimeError("index out of range"), undefined) : leftcheats.$array[leftcheats.$offset + k]).delta; - if (prefixIsLessThan($subslice(new sliceType$6(a.d), 0, a.nd), ((k < 0 || k >= leftcheats.$length) ? ($throwRuntimeError("index out of range"), undefined) : leftcheats.$array[leftcheats.$offset + k]).cutoff)) { - delta = delta - (1) >> 0; - } - r = a.nd; - w = a.nd + delta >> 0; - n = 0; - r = r - (1) >> 0; - while (true) { - if (!(r >= 0)) { break; } - n = n + (((y = k, y < 32 ? ((((((x = a.d, ((r < 0 || r >= x.length) ? ($throwRuntimeError("index out of range"), undefined) : x[r])) >>> 0)) - 48 >>> 0)) << y) : 0) >>> 0)) >>> 0; - quo = (_q = n / 10, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >>> 0 : $throwRuntimeError("integer divide by zero")); - rem = n - (10 * quo >>> 0) >>> 0; - w = w - (1) >> 0; - if (w < 800) { - (x$1 = a.d, ((w < 0 || w >= x$1.length) ? ($throwRuntimeError("index out of range"), undefined) : x$1[w] = (((rem + 48 >>> 0) << 24 >>> 24)))); - } else if (!((rem === 0))) { - a.trunc = true; - } - n = quo; - r = r - (1) >> 0; - } - while (true) { - if (!(n > 0)) { break; } - quo$1 = (_q$1 = n / 10, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >>> 0 : $throwRuntimeError("integer divide by zero")); - rem$1 = n - (10 * quo$1 >>> 0) >>> 0; - w = w - (1) >> 0; - if (w < 800) { - (x$2 = a.d, ((w < 0 || w >= x$2.length) ? ($throwRuntimeError("index out of range"), undefined) : x$2[w] = (((rem$1 + 48 >>> 0) << 24 >>> 24)))); - } else if (!((rem$1 === 0))) { - a.trunc = true; - } - n = quo$1; - } - a.nd = a.nd + (delta) >> 0; - if (a.nd >= 800) { - a.nd = 800; - } - a.dp = a.dp + (delta) >> 0; - trim(a); - }; - decimal.ptr.prototype.Shift = function(k) { - var a, k; - a = this; - if ((a.nd === 0)) { - } else if (k > 0) { - while (true) { - if (!(k > 28)) { break; } - leftShift(a, 28); - k = k - (28) >> 0; - } - leftShift(a, ((k >>> 0))); - } else if (k < 0) { - while (true) { - if (!(k < -28)) { break; } - rightShift(a, 28); - k = k + (28) >> 0; - } - rightShift(a, ((-k >>> 0))); - } - }; - decimal.prototype.Shift = function(k) { return this.$val.Shift(k); }; - shouldRoundUp = function(a, nd) { - var _r, a, nd, x, x$1, x$2, x$3; - if (nd < 0 || nd >= a.nd) { - return false; - } - if (((x = a.d, ((nd < 0 || nd >= x.length) ? ($throwRuntimeError("index out of range"), undefined) : x[nd])) === 53) && ((nd + 1 >> 0) === a.nd)) { - if (a.trunc) { - return true; - } - return nd > 0 && !(((_r = (((x$1 = a.d, x$2 = nd - 1 >> 0, ((x$2 < 0 || x$2 >= x$1.length) ? ($throwRuntimeError("index out of range"), undefined) : x$1[x$2])) - 48 << 24 >>> 24)) % 2, _r === _r ? _r : $throwRuntimeError("integer divide by zero")) === 0)); - } - return (x$3 = a.d, ((nd < 0 || nd >= x$3.length) ? ($throwRuntimeError("index out of range"), undefined) : x$3[nd])) >= 53; - }; - decimal.ptr.prototype.Round = function(nd) { - var a, nd; - a = this; - if (nd < 0 || nd >= a.nd) { - return; - } - if (shouldRoundUp(a, nd)) { - a.RoundUp(nd); - } else { - a.RoundDown(nd); - } - }; - decimal.prototype.Round = function(nd) { return this.$val.Round(nd); }; - decimal.ptr.prototype.RoundDown = function(nd) { - var a, nd; - a = this; - if (nd < 0 || nd >= a.nd) { - return; - } - a.nd = nd; - trim(a); - }; - decimal.prototype.RoundDown = function(nd) { return this.$val.RoundDown(nd); }; - decimal.ptr.prototype.RoundUp = function(nd) { - var a, c, i, nd, x, x$1, x$2; - a = this; - if (nd < 0 || nd >= a.nd) { - return; - } - i = nd - 1 >> 0; - while (true) { - if (!(i >= 0)) { break; } - c = (x = a.d, ((i < 0 || i >= x.length) ? ($throwRuntimeError("index out of range"), undefined) : x[i])); - if (c < 57) { - (x$2 = a.d, ((i < 0 || i >= x$2.length) ? ($throwRuntimeError("index out of range"), undefined) : x$2[i] = ((x$1 = a.d, ((i < 0 || i >= x$1.length) ? ($throwRuntimeError("index out of range"), undefined) : x$1[i])) + (1) << 24 >>> 24))); - a.nd = i + 1 >> 0; - return; - } - i = i - (1) >> 0; - } - a.d[0] = 49; - a.nd = 1; - a.dp = a.dp + (1) >> 0; - }; - decimal.prototype.RoundUp = function(nd) { return this.$val.RoundUp(nd); }; - decimal.ptr.prototype.RoundedInteger = function() { - var a, i, n, x, x$1, x$2, x$3; - a = this; - if (a.dp > 20) { - return new $Uint64(4294967295, 4294967295); - } - i = 0; - n = new $Uint64(0, 0); - i = 0; - while (true) { - if (!(i < a.dp && i < a.nd)) { break; } - n = (x = $mul64(n, new $Uint64(0, 10)), x$1 = (new $Uint64(0, ((x$2 = a.d, ((i < 0 || i >= x$2.length) ? ($throwRuntimeError("index out of range"), undefined) : x$2[i])) - 48 << 24 >>> 24))), new $Uint64(x.$high + x$1.$high, x.$low + x$1.$low)); - i = i + (1) >> 0; - } - while (true) { - if (!(i < a.dp)) { break; } - n = $mul64(n, (new $Uint64(0, 10))); - i = i + (1) >> 0; - } - if (shouldRoundUp(a, a.dp)) { - n = (x$3 = new $Uint64(0, 1), new $Uint64(n.$high + x$3.$high, n.$low + x$3.$low)); - } - return n; - }; - decimal.prototype.RoundedInteger = function() { return this.$val.RoundedInteger(); }; - extFloat.ptr.prototype.floatBits = function(flt) { - var bits$1, exp, f, flt, mant, n, overflow, x, x$1, x$10, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, y, y$1, y$2; - bits$1 = new $Uint64(0, 0); - overflow = false; - f = this; - f.Normalize(); - exp = f.exp + 63 >> 0; - if (exp < (flt.bias + 1 >> 0)) { - n = (flt.bias + 1 >> 0) - exp >> 0; - f.mant = $shiftRightUint64(f.mant, (((n >>> 0)))); - exp = exp + (n) >> 0; - } - mant = $shiftRightUint64(f.mant, ((63 - flt.mantbits >>> 0))); - if (!((x = (x$1 = f.mant, x$2 = $shiftLeft64(new $Uint64(0, 1), ((62 - flt.mantbits >>> 0))), new $Uint64(x$1.$high & x$2.$high, (x$1.$low & x$2.$low) >>> 0)), (x.$high === 0 && x.$low === 0)))) { - mant = (x$3 = new $Uint64(0, 1), new $Uint64(mant.$high + x$3.$high, mant.$low + x$3.$low)); - } - if ((x$4 = $shiftLeft64(new $Uint64(0, 2), flt.mantbits), (mant.$high === x$4.$high && mant.$low === x$4.$low))) { - mant = $shiftRightUint64(mant, (1)); - exp = exp + (1) >> 0; - } - if ((exp - flt.bias >> 0) >= (((y = flt.expbits, y < 32 ? (1 << y) : 0) >> 0) - 1 >> 0)) { - mant = new $Uint64(0, 0); - exp = (((y$1 = flt.expbits, y$1 < 32 ? (1 << y$1) : 0) >> 0) - 1 >> 0) + flt.bias >> 0; - overflow = true; - } else if ((x$5 = (x$6 = $shiftLeft64(new $Uint64(0, 1), flt.mantbits), new $Uint64(mant.$high & x$6.$high, (mant.$low & x$6.$low) >>> 0)), (x$5.$high === 0 && x$5.$low === 0))) { - exp = flt.bias; - } - bits$1 = (x$7 = (x$8 = $shiftLeft64(new $Uint64(0, 1), flt.mantbits), new $Uint64(x$8.$high - 0, x$8.$low - 1)), new $Uint64(mant.$high & x$7.$high, (mant.$low & x$7.$low) >>> 0)); - bits$1 = (x$9 = $shiftLeft64((new $Uint64(0, (((exp - flt.bias >> 0)) & ((((y$2 = flt.expbits, y$2 < 32 ? (1 << y$2) : 0) >> 0) - 1 >> 0))))), flt.mantbits), new $Uint64(bits$1.$high | x$9.$high, (bits$1.$low | x$9.$low) >>> 0)); - if (f.neg) { - bits$1 = (x$10 = $shiftLeft64(new $Uint64(0, 1), ((flt.mantbits + flt.expbits >>> 0))), new $Uint64(bits$1.$high | x$10.$high, (bits$1.$low | x$10.$low) >>> 0)); - } - return [bits$1, overflow]; - }; - extFloat.prototype.floatBits = function(flt) { return this.$val.floatBits(flt); }; - extFloat.ptr.prototype.AssignComputeBounds = function(mant, exp, neg, flt) { - var _tmp, _tmp$1, exp, expBiased, f, flt, lower, mant, neg, upper, x, x$1, x$2, x$3, x$4; - lower = new extFloat.ptr(new $Uint64(0, 0), 0, false); - upper = new extFloat.ptr(new $Uint64(0, 0), 0, false); - f = this; - f.mant = mant; - f.exp = exp - ((flt.mantbits >> 0)) >> 0; - f.neg = neg; - if (f.exp <= 0 && (x = $shiftLeft64(($shiftRightUint64(mant, ((-f.exp >>> 0)))), ((-f.exp >>> 0))), (mant.$high === x.$high && mant.$low === x.$low))) { - f.mant = $shiftRightUint64(f.mant, (((-f.exp >>> 0)))); - f.exp = 0; - _tmp = $clone(f, extFloat); - _tmp$1 = $clone(f, extFloat); - extFloat.copy(lower, _tmp); - extFloat.copy(upper, _tmp$1); - return [lower, upper]; - } - expBiased = exp - flt.bias >> 0; - extFloat.copy(upper, new extFloat.ptr((x$1 = $mul64(new $Uint64(0, 2), f.mant), new $Uint64(x$1.$high + 0, x$1.$low + 1)), f.exp - 1 >> 0, f.neg)); - if (!((x$2 = $shiftLeft64(new $Uint64(0, 1), flt.mantbits), (mant.$high === x$2.$high && mant.$low === x$2.$low))) || (expBiased === 1)) { - extFloat.copy(lower, new extFloat.ptr((x$3 = $mul64(new $Uint64(0, 2), f.mant), new $Uint64(x$3.$high - 0, x$3.$low - 1)), f.exp - 1 >> 0, f.neg)); - } else { - extFloat.copy(lower, new extFloat.ptr((x$4 = $mul64(new $Uint64(0, 4), f.mant), new $Uint64(x$4.$high - 0, x$4.$low - 1)), f.exp - 2 >> 0, f.neg)); - } - return [lower, upper]; - }; - extFloat.prototype.AssignComputeBounds = function(mant, exp, neg, flt) { return this.$val.AssignComputeBounds(mant, exp, neg, flt); }; - extFloat.ptr.prototype.Normalize = function() { - var f, shift, x; - f = this; - if ((x = f.mant, (x.$high === 0 && x.$low === 0))) { - return 0; - } - shift = bits.LeadingZeros64(f.mant); - f.mant = $shiftLeft64(f.mant, (((shift >>> 0)))); - f.exp = f.exp - (shift) >> 0; - return ((shift >>> 0)); - }; - extFloat.prototype.Normalize = function() { return this.$val.Normalize(); }; - extFloat.ptr.prototype.Multiply = function(g) { - var _tmp, _tmp$1, _tmp$2, _tmp$3, cross1, cross2, f, fhi, flo, g, ghi, glo, rem, x, x$1, x$10, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9; - f = this; - _tmp = $shiftRightUint64(f.mant, 32); - _tmp$1 = (new $Uint64(0, ((f.mant.$low >>> 0)))); - fhi = _tmp; - flo = _tmp$1; - _tmp$2 = $shiftRightUint64(g.mant, 32); - _tmp$3 = (new $Uint64(0, ((g.mant.$low >>> 0)))); - ghi = _tmp$2; - glo = _tmp$3; - cross1 = $mul64(fhi, glo); - cross2 = $mul64(flo, ghi); - f.mant = (x = (x$1 = $mul64(fhi, ghi), x$2 = $shiftRightUint64(cross1, 32), new $Uint64(x$1.$high + x$2.$high, x$1.$low + x$2.$low)), x$3 = $shiftRightUint64(cross2, 32), new $Uint64(x.$high + x$3.$high, x.$low + x$3.$low)); - rem = (x$4 = (x$5 = (new $Uint64(0, ((cross1.$low >>> 0)))), x$6 = (new $Uint64(0, ((cross2.$low >>> 0)))), new $Uint64(x$5.$high + x$6.$high, x$5.$low + x$6.$low)), x$7 = $shiftRightUint64(($mul64(flo, glo)), 32), new $Uint64(x$4.$high + x$7.$high, x$4.$low + x$7.$low)); - rem = (x$8 = new $Uint64(0, 2147483648), new $Uint64(rem.$high + x$8.$high, rem.$low + x$8.$low)); - f.mant = (x$9 = f.mant, x$10 = ($shiftRightUint64(rem, 32)), new $Uint64(x$9.$high + x$10.$high, x$9.$low + x$10.$low)); - f.exp = (f.exp + g.exp >> 0) + 64 >> 0; - }; - extFloat.prototype.Multiply = function(g) { return this.$val.Multiply(g); }; - extFloat.ptr.prototype.AssignDecimal = function(mantissa, exp10, neg, trunc, flt) { - var _q, _r, adjExp, denormalExp, errors$1, exp10, extrabits, f, flt, halfway, i, mant_extra, mantissa, neg, ok, shift, trunc, x, x$1, x$10, x$11, x$12, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, y; - ok = false; - f = this; - errors$1 = 0; - if (trunc) { - errors$1 = errors$1 + (4) >> 0; - } - f.mant = mantissa; - f.exp = 0; - f.neg = neg; - i = (_q = ((exp10 - -348 >> 0)) / 8, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero")); - if (exp10 < -348 || i >= 87) { - ok = false; - return ok; - } - adjExp = (_r = ((exp10 - -348 >> 0)) % 8, _r === _r ? _r : $throwRuntimeError("integer divide by zero")); - if (adjExp < 19 && (x = (x$1 = 19 - adjExp >> 0, ((x$1 < 0 || x$1 >= uint64pow10.length) ? ($throwRuntimeError("index out of range"), undefined) : uint64pow10[x$1])), (mantissa.$high < x.$high || (mantissa.$high === x.$high && mantissa.$low < x.$low)))) { - f.mant = $mul64(f.mant, (((adjExp < 0 || adjExp >= uint64pow10.length) ? ($throwRuntimeError("index out of range"), undefined) : uint64pow10[adjExp]))); - f.Normalize(); - } else { - f.Normalize(); - f.Multiply($clone(((adjExp < 0 || adjExp >= smallPowersOfTen.length) ? ($throwRuntimeError("index out of range"), undefined) : smallPowersOfTen[adjExp]), extFloat)); - errors$1 = errors$1 + (4) >> 0; - } - f.Multiply($clone(((i < 0 || i >= powersOfTen.length) ? ($throwRuntimeError("index out of range"), undefined) : powersOfTen[i]), extFloat)); - if (errors$1 > 0) { - errors$1 = errors$1 + (1) >> 0; - } - errors$1 = errors$1 + (4) >> 0; - shift = f.Normalize(); - errors$1 = (y = (shift), y < 32 ? (errors$1 << y) : 0) >> 0; - denormalExp = flt.bias - 63 >> 0; - extrabits = 0; - if (f.exp <= denormalExp) { - extrabits = ((63 - flt.mantbits >>> 0) + 1 >>> 0) + (((denormalExp - f.exp >> 0) >>> 0)) >>> 0; - } else { - extrabits = 63 - flt.mantbits >>> 0; - } - halfway = $shiftLeft64(new $Uint64(0, 1), ((extrabits - 1 >>> 0))); - mant_extra = (x$2 = f.mant, x$3 = (x$4 = $shiftLeft64(new $Uint64(0, 1), extrabits), new $Uint64(x$4.$high - 0, x$4.$low - 1)), new $Uint64(x$2.$high & x$3.$high, (x$2.$low & x$3.$low) >>> 0)); - if ((x$5 = (x$6 = (new $Int64(halfway.$high, halfway.$low)), x$7 = (new $Int64(0, errors$1)), new $Int64(x$6.$high - x$7.$high, x$6.$low - x$7.$low)), x$8 = (new $Int64(mant_extra.$high, mant_extra.$low)), (x$5.$high < x$8.$high || (x$5.$high === x$8.$high && x$5.$low < x$8.$low))) && (x$9 = (new $Int64(mant_extra.$high, mant_extra.$low)), x$10 = (x$11 = (new $Int64(halfway.$high, halfway.$low)), x$12 = (new $Int64(0, errors$1)), new $Int64(x$11.$high + x$12.$high, x$11.$low + x$12.$low)), (x$9.$high < x$10.$high || (x$9.$high === x$10.$high && x$9.$low < x$10.$low)))) { - ok = false; - return ok; - } - ok = true; - return ok; - }; - extFloat.prototype.AssignDecimal = function(mantissa, exp10, neg, trunc, flt) { return this.$val.AssignDecimal(mantissa, exp10, neg, trunc, flt); }; - extFloat.ptr.prototype.frexp10 = function() { - var _q, _q$1, _tmp, _tmp$1, approxExp10, exp, exp10, f, i, index; - exp10 = 0; - index = 0; - f = this; - approxExp10 = (_q = ($imul(((-46 - f.exp >> 0)), 28)) / 93, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero")); - i = (_q$1 = ((approxExp10 - -348 >> 0)) / 8, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError("integer divide by zero")); - Loop: - while (true) { - exp = (f.exp + ((i < 0 || i >= powersOfTen.length) ? ($throwRuntimeError("index out of range"), undefined) : powersOfTen[i]).exp >> 0) + 64 >> 0; - if (exp < -60) { - i = i + (1) >> 0; - } else if (exp > -32) { - i = i - (1) >> 0; - } else { - break Loop; - } - } - f.Multiply($clone(((i < 0 || i >= powersOfTen.length) ? ($throwRuntimeError("index out of range"), undefined) : powersOfTen[i]), extFloat)); - _tmp = -((-348 + ($imul(i, 8)) >> 0)); - _tmp$1 = i; - exp10 = _tmp; - index = _tmp$1; - return [exp10, index]; - }; - extFloat.prototype.frexp10 = function() { return this.$val.frexp10(); }; - frexp10Many = function(a, b, c) { - var _tuple, a, b, c, exp10, i; - exp10 = 0; - _tuple = c.frexp10(); - exp10 = _tuple[0]; - i = _tuple[1]; - a.Multiply($clone(((i < 0 || i >= powersOfTen.length) ? ($throwRuntimeError("index out of range"), undefined) : powersOfTen[i]), extFloat)); - b.Multiply($clone(((i < 0 || i >= powersOfTen.length) ? ($throwRuntimeError("index out of range"), undefined) : powersOfTen[i]), extFloat)); - return exp10; - }; - extFloat.ptr.prototype.FixedDecimal = function(d, n) { - var $CE$B5, _q, _q$1, _tmp, _tmp$1, _tuple, buf, d, digit, exp10, f, fraction, i, i$1, i$2, integer, integerDigits, n, nd, needed, ok, pos, pow, pow10, rest, shift, v, v1, x, x$1, x$10, x$11, x$12, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9; - f = this; - if ((x = f.mant, (x.$high === 0 && x.$low === 0))) { - d.nd = 0; - d.dp = 0; - d.neg = f.neg; - return true; - } - if (n === 0) { - $panic(new $String("strconv: internal error: extFloat.FixedDecimal called with n == 0")); - } - f.Normalize(); - _tuple = f.frexp10(); - exp10 = _tuple[0]; - shift = ((-f.exp >>> 0)); - integer = (($shiftRightUint64(f.mant, shift).$low >>> 0)); - fraction = (x$1 = f.mant, x$2 = $shiftLeft64((new $Uint64(0, integer)), shift), new $Uint64(x$1.$high - x$2.$high, x$1.$low - x$2.$low)); - $CE$B5 = new $Uint64(0, 1); - needed = n; - integerDigits = 0; - pow10 = new $Uint64(0, 1); - _tmp = 0; - _tmp$1 = new $Uint64(0, 1); - i = _tmp; - pow = _tmp$1; - while (true) { - if (!(i < 20)) { break; } - if ((x$3 = (new $Uint64(0, integer)), (pow.$high > x$3.$high || (pow.$high === x$3.$high && pow.$low > x$3.$low)))) { - integerDigits = i; - break; - } - pow = $mul64(pow, (new $Uint64(0, 10))); - i = i + (1) >> 0; - } - rest = integer; - if (integerDigits > needed) { - pow10 = (x$4 = integerDigits - needed >> 0, ((x$4 < 0 || x$4 >= uint64pow10.length) ? ($throwRuntimeError("index out of range"), undefined) : uint64pow10[x$4])); - integer = (_q = integer / (((pow10.$low >>> 0))), (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >>> 0 : $throwRuntimeError("integer divide by zero")); - rest = rest - (($imul(integer, ((pow10.$low >>> 0))) >>> 0)) >>> 0; - } else { - rest = 0; - } - buf = arrayType$2.zero(); - pos = 32; - v = integer; - while (true) { - if (!(v > 0)) { break; } - v1 = (_q$1 = v / 10, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >>> 0 : $throwRuntimeError("integer divide by zero")); - v = v - (($imul(10, v1) >>> 0)) >>> 0; - pos = pos - (1) >> 0; - ((pos < 0 || pos >= buf.length) ? ($throwRuntimeError("index out of range"), undefined) : buf[pos] = (((v + 48 >>> 0) << 24 >>> 24))); - v = v1; - } - i$1 = pos; - while (true) { - if (!(i$1 < 32)) { break; } - (x$5 = d.d, x$6 = i$1 - pos >> 0, ((x$6 < 0 || x$6 >= x$5.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$5.$array[x$5.$offset + x$6] = ((i$1 < 0 || i$1 >= buf.length) ? ($throwRuntimeError("index out of range"), undefined) : buf[i$1]))); - i$1 = i$1 + (1) >> 0; - } - nd = 32 - pos >> 0; - d.nd = nd; - d.dp = integerDigits + exp10 >> 0; - needed = needed - (nd) >> 0; - if (needed > 0) { - if (!((rest === 0)) || !((pow10.$high === 0 && pow10.$low === 1))) { - $panic(new $String("strconv: internal error, rest != 0 but needed > 0")); - } - while (true) { - if (!(needed > 0)) { break; } - fraction = $mul64(fraction, (new $Uint64(0, 10))); - $CE$B5 = $mul64($CE$B5, (new $Uint64(0, 10))); - if ((x$7 = $mul64(new $Uint64(0, 2), $CE$B5), x$8 = $shiftLeft64(new $Uint64(0, 1), shift), (x$7.$high > x$8.$high || (x$7.$high === x$8.$high && x$7.$low > x$8.$low)))) { - return false; - } - digit = $shiftRightUint64(fraction, shift); - (x$9 = d.d, ((nd < 0 || nd >= x$9.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$9.$array[x$9.$offset + nd] = ((new $Uint64(digit.$high + 0, digit.$low + 48).$low << 24 >>> 24)))); - fraction = (x$10 = $shiftLeft64(digit, shift), new $Uint64(fraction.$high - x$10.$high, fraction.$low - x$10.$low)); - nd = nd + (1) >> 0; - needed = needed - (1) >> 0; - } - d.nd = nd; - } - ok = adjustLastDigitFixed(d, (x$11 = $shiftLeft64((new $Uint64(0, rest)), shift), new $Uint64(x$11.$high | fraction.$high, (x$11.$low | fraction.$low) >>> 0)), pow10, shift, $CE$B5); - if (!ok) { - return false; - } - i$2 = d.nd - 1 >> 0; - while (true) { - if (!(i$2 >= 0)) { break; } - if (!(((x$12 = d.d, ((i$2 < 0 || i$2 >= x$12.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$12.$array[x$12.$offset + i$2])) === 48))) { - d.nd = i$2 + 1 >> 0; - break; - } - i$2 = i$2 - (1) >> 0; - } - return true; - }; - extFloat.prototype.FixedDecimal = function(d, n) { return this.$val.FixedDecimal(d, n); }; - adjustLastDigitFixed = function(d, num, den, shift, $CE$B5) { - var $CE$B5, d, den, i, num, shift, x, x$1, x$10, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9; - if ((x = $shiftLeft64(den, shift), (num.$high > x.$high || (num.$high === x.$high && num.$low > x.$low)))) { - $panic(new $String("strconv: num > den< x$2.$high || (x$1.$high === x$2.$high && x$1.$low > x$2.$low)))) { - $panic(new $String("strconv: \xCE\xB5 > (den< x$6.$high || (x$5.$high === x$6.$high && x$5.$low > x$6.$low)))) { - i = d.nd - 1 >> 0; - while (true) { - if (!(i >= 0)) { break; } - if ((x$7 = d.d, ((i < 0 || i >= x$7.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$7.$array[x$7.$offset + i])) === 57) { - d.nd = d.nd - (1) >> 0; - } else { - break; - } - i = i - (1) >> 0; - } - if (i < 0) { - (x$8 = d.d, (0 >= x$8.$length ? ($throwRuntimeError("index out of range"), undefined) : x$8.$array[x$8.$offset + 0] = 49)); - d.nd = 1; - d.dp = d.dp + (1) >> 0; - } else { - (x$10 = d.d, ((i < 0 || i >= x$10.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$10.$array[x$10.$offset + i] = ((x$9 = d.d, ((i < 0 || i >= x$9.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$9.$array[x$9.$offset + i])) + (1) << 24 >>> 24))); - } - return true; - } - return false; - }; - extFloat.ptr.prototype.ShortestDecimal = function(d, lower, upper) { - var _q, _tmp, _tmp$1, _tmp$2, _tmp$3, allowance, buf, currentDiff, d, digit, digit$1, exp10, f, fraction, i, i$1, i$2, integer, integerDigits, lower, multiplier, n, nd, pow, pow$1, shift, targetDiff, upper, v, v1, x, x$1, x$10, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$2, x$20, x$21, x$22, x$23, x$3, x$4, x$5, x$6, x$7, x$8, x$9; - f = this; - if ((x = f.mant, (x.$high === 0 && x.$low === 0))) { - d.nd = 0; - d.dp = 0; - d.neg = f.neg; - return true; - } - if ((f.exp === 0) && $equal(lower, f, extFloat) && $equal(lower, upper, extFloat)) { - buf = arrayType$1.zero(); - n = 23; - v = f.mant; - while (true) { - if (!((v.$high > 0 || (v.$high === 0 && v.$low > 0)))) { break; } - v1 = $div64(v, new $Uint64(0, 10), false); - v = (x$1 = $mul64(new $Uint64(0, 10), v1), new $Uint64(v.$high - x$1.$high, v.$low - x$1.$low)); - ((n < 0 || n >= buf.length) ? ($throwRuntimeError("index out of range"), undefined) : buf[n] = ((new $Uint64(v.$high + 0, v.$low + 48).$low << 24 >>> 24))); - n = n - (1) >> 0; - v = v1; - } - nd = (24 - n >> 0) - 1 >> 0; - i = 0; - while (true) { - if (!(i < nd)) { break; } - (x$3 = d.d, ((i < 0 || i >= x$3.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$3.$array[x$3.$offset + i] = (x$2 = (n + 1 >> 0) + i >> 0, ((x$2 < 0 || x$2 >= buf.length) ? ($throwRuntimeError("index out of range"), undefined) : buf[x$2])))); - i = i + (1) >> 0; - } - _tmp = nd; - _tmp$1 = nd; - d.nd = _tmp; - d.dp = _tmp$1; - while (true) { - if (!(d.nd > 0 && ((x$4 = d.d, x$5 = d.nd - 1 >> 0, ((x$5 < 0 || x$5 >= x$4.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$4.$array[x$4.$offset + x$5])) === 48))) { break; } - d.nd = d.nd - (1) >> 0; - } - if (d.nd === 0) { - d.dp = 0; - } - d.neg = f.neg; - return true; - } - upper.Normalize(); - if (f.exp > upper.exp) { - f.mant = $shiftLeft64(f.mant, ((((f.exp - upper.exp >> 0) >>> 0)))); - f.exp = upper.exp; - } - if (lower.exp > upper.exp) { - lower.mant = $shiftLeft64(lower.mant, ((((lower.exp - upper.exp >> 0) >>> 0)))); - lower.exp = upper.exp; - } - exp10 = frexp10Many(lower, f, upper); - upper.mant = (x$6 = upper.mant, x$7 = new $Uint64(0, 1), new $Uint64(x$6.$high + x$7.$high, x$6.$low + x$7.$low)); - lower.mant = (x$8 = lower.mant, x$9 = new $Uint64(0, 1), new $Uint64(x$8.$high - x$9.$high, x$8.$low - x$9.$low)); - shift = ((-upper.exp >>> 0)); - integer = (($shiftRightUint64(upper.mant, shift).$low >>> 0)); - fraction = (x$10 = upper.mant, x$11 = $shiftLeft64((new $Uint64(0, integer)), shift), new $Uint64(x$10.$high - x$11.$high, x$10.$low - x$11.$low)); - allowance = (x$12 = upper.mant, x$13 = lower.mant, new $Uint64(x$12.$high - x$13.$high, x$12.$low - x$13.$low)); - targetDiff = (x$14 = upper.mant, x$15 = f.mant, new $Uint64(x$14.$high - x$15.$high, x$14.$low - x$15.$low)); - integerDigits = 0; - _tmp$2 = 0; - _tmp$3 = new $Uint64(0, 1); - i$1 = _tmp$2; - pow = _tmp$3; - while (true) { - if (!(i$1 < 20)) { break; } - if ((x$16 = (new $Uint64(0, integer)), (pow.$high > x$16.$high || (pow.$high === x$16.$high && pow.$low > x$16.$low)))) { - integerDigits = i$1; - break; - } - pow = $mul64(pow, (new $Uint64(0, 10))); - i$1 = i$1 + (1) >> 0; - } - i$2 = 0; - while (true) { - if (!(i$2 < integerDigits)) { break; } - pow$1 = (x$17 = (integerDigits - i$2 >> 0) - 1 >> 0, ((x$17 < 0 || x$17 >= uint64pow10.length) ? ($throwRuntimeError("index out of range"), undefined) : uint64pow10[x$17])); - digit = (_q = integer / ((pow$1.$low >>> 0)), (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >>> 0 : $throwRuntimeError("integer divide by zero")); - (x$18 = d.d, ((i$2 < 0 || i$2 >= x$18.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$18.$array[x$18.$offset + i$2] = (((digit + 48 >>> 0) << 24 >>> 24)))); - integer = integer - (($imul(digit, ((pow$1.$low >>> 0))) >>> 0)) >>> 0; - currentDiff = (x$19 = $shiftLeft64((new $Uint64(0, integer)), shift), new $Uint64(x$19.$high + fraction.$high, x$19.$low + fraction.$low)); - if ((currentDiff.$high < allowance.$high || (currentDiff.$high === allowance.$high && currentDiff.$low < allowance.$low))) { - d.nd = i$2 + 1 >> 0; - d.dp = integerDigits + exp10 >> 0; - d.neg = f.neg; - return adjustLastDigit(d, currentDiff, targetDiff, allowance, $shiftLeft64(pow$1, shift), new $Uint64(0, 2)); - } - i$2 = i$2 + (1) >> 0; - } - d.nd = integerDigits; - d.dp = d.nd + exp10 >> 0; - d.neg = f.neg; - digit$1 = 0; - multiplier = new $Uint64(0, 1); - while (true) { - fraction = $mul64(fraction, (new $Uint64(0, 10))); - multiplier = $mul64(multiplier, (new $Uint64(0, 10))); - digit$1 = (($shiftRightUint64(fraction, shift).$low >> 0)); - (x$20 = d.d, x$21 = d.nd, ((x$21 < 0 || x$21 >= x$20.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$20.$array[x$20.$offset + x$21] = (((digit$1 + 48 >> 0) << 24 >>> 24)))); - d.nd = d.nd + (1) >> 0; - fraction = (x$22 = $shiftLeft64((new $Uint64(0, digit$1)), shift), new $Uint64(fraction.$high - x$22.$high, fraction.$low - x$22.$low)); - if ((x$23 = $mul64(allowance, multiplier), (fraction.$high < x$23.$high || (fraction.$high === x$23.$high && fraction.$low < x$23.$low)))) { - return adjustLastDigit(d, fraction, $mul64(targetDiff, multiplier), $mul64(allowance, multiplier), $shiftLeft64(new $Uint64(0, 1), shift), $mul64(multiplier, new $Uint64(0, 2))); - } - } - }; - extFloat.prototype.ShortestDecimal = function(d, lower, upper) { return this.$val.ShortestDecimal(d, lower, upper); }; - adjustLastDigit = function(d, currentDiff, targetDiff, maxDiff, ulpDecimal, ulpBinary) { - var _index, currentDiff, d, maxDiff, targetDiff, ulpBinary, ulpDecimal, x, x$1, x$10, x$11, x$12, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9; - if ((x = $mul64(new $Uint64(0, 2), ulpBinary), (ulpDecimal.$high < x.$high || (ulpDecimal.$high === x.$high && ulpDecimal.$low < x.$low)))) { - return false; - } - while (true) { - if (!((x$1 = (x$2 = (x$3 = $div64(ulpDecimal, new $Uint64(0, 2), false), new $Uint64(currentDiff.$high + x$3.$high, currentDiff.$low + x$3.$low)), new $Uint64(x$2.$high + ulpBinary.$high, x$2.$low + ulpBinary.$low)), (x$1.$high < targetDiff.$high || (x$1.$high === targetDiff.$high && x$1.$low < targetDiff.$low))))) { break; } - _index = d.nd - 1 >> 0; - (x$5 = d.d, ((_index < 0 || _index >= x$5.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$5.$array[x$5.$offset + _index] = ((x$4 = d.d, ((_index < 0 || _index >= x$4.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$4.$array[x$4.$offset + _index])) - (1) << 24 >>> 24))); - currentDiff = (x$6 = ulpDecimal, new $Uint64(currentDiff.$high + x$6.$high, currentDiff.$low + x$6.$low)); - } - if ((x$7 = new $Uint64(currentDiff.$high + ulpDecimal.$high, currentDiff.$low + ulpDecimal.$low), x$8 = (x$9 = (x$10 = $div64(ulpDecimal, new $Uint64(0, 2), false), new $Uint64(targetDiff.$high + x$10.$high, targetDiff.$low + x$10.$low)), new $Uint64(x$9.$high + ulpBinary.$high, x$9.$low + ulpBinary.$low)), (x$7.$high < x$8.$high || (x$7.$high === x$8.$high && x$7.$low <= x$8.$low)))) { - return false; - } - if ((currentDiff.$high < ulpBinary.$high || (currentDiff.$high === ulpBinary.$high && currentDiff.$low < ulpBinary.$low)) || (x$11 = new $Uint64(maxDiff.$high - ulpBinary.$high, maxDiff.$low - ulpBinary.$low), (currentDiff.$high > x$11.$high || (currentDiff.$high === x$11.$high && currentDiff.$low > x$11.$low)))) { - return false; - } - if ((d.nd === 1) && ((x$12 = d.d, (0 >= x$12.$length ? ($throwRuntimeError("index out of range"), undefined) : x$12.$array[x$12.$offset + 0])) === 48)) { - d.nd = 0; - d.dp = 0; - } - return true; - }; - AppendFloat = function(dst, f, fmt, prec, bitSize) { - var bitSize, dst, f, fmt, prec; - return genericFtoa(dst, f, fmt, prec, bitSize); - }; - $pkg.AppendFloat = AppendFloat; - genericFtoa = function(dst, val, fmt, prec, bitSize) { - var _1, _2, _3, _4, _tuple, bitSize, bits$1, buf, buf$1, digits, digs, dst, exp, f, f$1, flt, fmt, lower, mant, neg, ok, prec, s, shortest, upper, val, x, x$1, x$2, x$3, y, y$1; - bits$1 = new $Uint64(0, 0); - flt = ptrType$1.nil; - _1 = bitSize; - if (_1 === (32)) { - bits$1 = (new $Uint64(0, math.Float32bits(($fround(val))))); - flt = float32info; - } else if (_1 === (64)) { - bits$1 = math.Float64bits(val); - flt = float64info; - } else { - $panic(new $String("strconv: illegal AppendFloat/FormatFloat bitSize")); - } - neg = !((x = $shiftRightUint64(bits$1, ((flt.expbits + flt.mantbits >>> 0))), (x.$high === 0 && x.$low === 0))); - exp = (($shiftRightUint64(bits$1, flt.mantbits).$low >> 0)) & ((((y = flt.expbits, y < 32 ? (1 << y) : 0) >> 0) - 1 >> 0)); - mant = (x$1 = (x$2 = $shiftLeft64(new $Uint64(0, 1), flt.mantbits), new $Uint64(x$2.$high - 0, x$2.$low - 1)), new $Uint64(bits$1.$high & x$1.$high, (bits$1.$low & x$1.$low) >>> 0)); - _2 = exp; - if (_2 === ((((y$1 = flt.expbits, y$1 < 32 ? (1 << y$1) : 0) >> 0) - 1 >> 0))) { - s = ""; - if (!((mant.$high === 0 && mant.$low === 0))) { - s = "NaN"; - } else if (neg) { - s = "-Inf"; - } else { - s = "+Inf"; - } - return $appendSlice(dst, s); - } else if (_2 === (0)) { - exp = exp + (1) >> 0; - } else { - mant = (x$3 = $shiftLeft64(new $Uint64(0, 1), flt.mantbits), new $Uint64(mant.$high | x$3.$high, (mant.$low | x$3.$low) >>> 0)); - } - exp = exp + (flt.bias) >> 0; - if (fmt === 98) { - return fmtB(dst, neg, mant, exp, flt); - } - if (!optimize) { - return bigFtoa(dst, prec, fmt, neg, mant, exp, flt); - } - digs = new decimalSlice.ptr(sliceType$6.nil, 0, 0, false); - ok = false; - shortest = prec < 0; - if (shortest) { - f = new extFloat.ptr(new $Uint64(0, 0), 0, false); - _tuple = f.AssignComputeBounds(mant, exp, neg, flt); - lower = $clone(_tuple[0], extFloat); - upper = $clone(_tuple[1], extFloat); - buf = arrayType$2.zero(); - digs.d = new sliceType$6(buf); - ok = f.ShortestDecimal(digs, lower, upper); - if (!ok) { - return bigFtoa(dst, prec, fmt, neg, mant, exp, flt); - } - _3 = fmt; - if ((_3 === (101)) || (_3 === (69))) { - prec = max(digs.nd - 1 >> 0, 0); - } else if (_3 === (102)) { - prec = max(digs.nd - digs.dp >> 0, 0); - } else if ((_3 === (103)) || (_3 === (71))) { - prec = digs.nd; - } - } else if (!((fmt === 102))) { - digits = prec; - _4 = fmt; - if ((_4 === (101)) || (_4 === (69))) { - digits = digits + (1) >> 0; - } else if ((_4 === (103)) || (_4 === (71))) { - if (prec === 0) { - prec = 1; - } - digits = prec; - } - if (digits <= 15) { - buf$1 = arrayType$1.zero(); - digs.d = new sliceType$6(buf$1); - f$1 = new extFloat.ptr(mant, exp - ((flt.mantbits >> 0)) >> 0, neg); - ok = f$1.FixedDecimal(digs, digits); - } - } - if (!ok) { - return bigFtoa(dst, prec, fmt, neg, mant, exp, flt); - } - return formatDigits(dst, shortest, neg, $clone(digs, decimalSlice), prec, fmt); - }; - bigFtoa = function(dst, prec, fmt, neg, mant, exp, flt) { - var _1, _2, d, digs, dst, exp, flt, fmt, mant, neg, prec, shortest; - d = new decimal.ptr(arrayType.zero(), 0, 0, false, false); - d.Assign(mant); - d.Shift(exp - ((flt.mantbits >> 0)) >> 0); - digs = new decimalSlice.ptr(sliceType$6.nil, 0, 0, false); - shortest = prec < 0; - if (shortest) { - roundShortest(d, mant, exp, flt); - decimalSlice.copy(digs, new decimalSlice.ptr(new sliceType$6(d.d), d.nd, d.dp, false)); - _1 = fmt; - if ((_1 === (101)) || (_1 === (69))) { - prec = digs.nd - 1 >> 0; - } else if (_1 === (102)) { - prec = max(digs.nd - digs.dp >> 0, 0); - } else if ((_1 === (103)) || (_1 === (71))) { - prec = digs.nd; - } - } else { - _2 = fmt; - if ((_2 === (101)) || (_2 === (69))) { - d.Round(prec + 1 >> 0); - } else if (_2 === (102)) { - d.Round(d.dp + prec >> 0); - } else if ((_2 === (103)) || (_2 === (71))) { - if (prec === 0) { - prec = 1; - } - d.Round(prec); - } - decimalSlice.copy(digs, new decimalSlice.ptr(new sliceType$6(d.d), d.nd, d.dp, false)); - } - return formatDigits(dst, shortest, neg, $clone(digs, decimalSlice), prec, fmt); - }; - formatDigits = function(dst, shortest, neg, digs, prec, fmt) { - var _1, digs, dst, eprec, exp, fmt, neg, prec, shortest; - _1 = fmt; - if ((_1 === (101)) || (_1 === (69))) { - return fmtE(dst, neg, $clone(digs, decimalSlice), prec, fmt); - } else if (_1 === (102)) { - return fmtF(dst, neg, $clone(digs, decimalSlice), prec); - } else if ((_1 === (103)) || (_1 === (71))) { - eprec = prec; - if (eprec > digs.nd && digs.nd >= digs.dp) { - eprec = digs.nd; - } - if (shortest) { - eprec = 6; - } - exp = digs.dp - 1 >> 0; - if (exp < -4 || exp >= eprec) { - if (prec > digs.nd) { - prec = digs.nd; - } - return fmtE(dst, neg, $clone(digs, decimalSlice), prec - 1 >> 0, (fmt + 101 << 24 >>> 24) - 103 << 24 >>> 24); - } - if (prec > digs.dp) { - prec = digs.nd; - } - return fmtF(dst, neg, $clone(digs, decimalSlice), max(prec - digs.dp >> 0, 0)); - } - return $append(dst, 37, fmt); - }; - roundShortest = function(d, mant, exp, flt) { - var d, exp, explo, flt, i, inclusive, l, lower, m, mant, mantlo, minexp, okdown, okup, u, upper, x, x$1, x$2, x$3, x$4, x$5, x$6, x$7; - if ((mant.$high === 0 && mant.$low === 0)) { - d.nd = 0; - return; - } - minexp = flt.bias + 1 >> 0; - if (exp > minexp && ($imul(332, ((d.dp - d.nd >> 0)))) >= ($imul(100, ((exp - ((flt.mantbits >> 0)) >> 0))))) { - return; - } - upper = new decimal.ptr(arrayType.zero(), 0, 0, false, false); - upper.Assign((x = $mul64(mant, new $Uint64(0, 2)), new $Uint64(x.$high + 0, x.$low + 1))); - upper.Shift((exp - ((flt.mantbits >> 0)) >> 0) - 1 >> 0); - mantlo = new $Uint64(0, 0); - explo = 0; - if ((x$1 = $shiftLeft64(new $Uint64(0, 1), flt.mantbits), (mant.$high > x$1.$high || (mant.$high === x$1.$high && mant.$low > x$1.$low))) || (exp === minexp)) { - mantlo = new $Uint64(mant.$high - 0, mant.$low - 1); - explo = exp; - } else { - mantlo = (x$2 = $mul64(mant, new $Uint64(0, 2)), new $Uint64(x$2.$high - 0, x$2.$low - 1)); - explo = exp - 1 >> 0; - } - lower = new decimal.ptr(arrayType.zero(), 0, 0, false, false); - lower.Assign((x$3 = $mul64(mantlo, new $Uint64(0, 2)), new $Uint64(x$3.$high + 0, x$3.$low + 1))); - lower.Shift((explo - ((flt.mantbits >> 0)) >> 0) - 1 >> 0); - inclusive = (x$4 = $div64(mant, new $Uint64(0, 2), true), (x$4.$high === 0 && x$4.$low === 0)); - i = 0; - while (true) { - if (!(i < d.nd)) { break; } - l = 48; - if (i < lower.nd) { - l = (x$5 = lower.d, ((i < 0 || i >= x$5.length) ? ($throwRuntimeError("index out of range"), undefined) : x$5[i])); - } - m = (x$6 = d.d, ((i < 0 || i >= x$6.length) ? ($throwRuntimeError("index out of range"), undefined) : x$6[i])); - u = 48; - if (i < upper.nd) { - u = (x$7 = upper.d, ((i < 0 || i >= x$7.length) ? ($throwRuntimeError("index out of range"), undefined) : x$7[i])); - } - okdown = !((l === m)) || inclusive && ((i + 1 >> 0) === lower.nd); - okup = !((m === u)) && (inclusive || (m + 1 << 24 >>> 24) < u || (i + 1 >> 0) < upper.nd); - if (okdown && okup) { - d.Round(i + 1 >> 0); - return; - } else if (okdown) { - d.RoundDown(i + 1 >> 0); - return; - } else if (okup) { - d.RoundUp(i + 1 >> 0); - return; - } - i = i + (1) >> 0; - } - }; - fmtE = function(dst, neg, d, prec, fmt) { - var _q, _q$1, _q$2, _r, _r$1, _r$2, ch, d, dst, exp, fmt, i, m, neg, prec, x; - if (neg) { - dst = $append(dst, 45); - } - ch = 48; - if (!((d.nd === 0))) { - ch = (x = d.d, (0 >= x.$length ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + 0])); - } - dst = $append(dst, ch); - if (prec > 0) { - dst = $append(dst, 46); - i = 1; - m = min(d.nd, prec + 1 >> 0); - if (i < m) { - dst = $appendSlice(dst, $subslice(d.d, i, m)); - i = m; - } - while (true) { - if (!(i <= prec)) { break; } - dst = $append(dst, 48); - i = i + (1) >> 0; - } - } - dst = $append(dst, fmt); - exp = d.dp - 1 >> 0; - if (d.nd === 0) { - exp = 0; - } - if (exp < 0) { - ch = 45; - exp = -exp; - } else { - ch = 43; - } - dst = $append(dst, ch); - if (exp < 10) { - dst = $append(dst, 48, ((exp << 24 >>> 24)) + 48 << 24 >>> 24); - } else if (exp < 100) { - dst = $append(dst, (((_q = exp / 10, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero")) << 24 >>> 24)) + 48 << 24 >>> 24, (((_r = exp % 10, _r === _r ? _r : $throwRuntimeError("integer divide by zero")) << 24 >>> 24)) + 48 << 24 >>> 24); - } else { - dst = $append(dst, (((_q$1 = exp / 100, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError("integer divide by zero")) << 24 >>> 24)) + 48 << 24 >>> 24, (_r$1 = (((_q$2 = exp / 10, (_q$2 === _q$2 && _q$2 !== 1/0 && _q$2 !== -1/0) ? _q$2 >> 0 : $throwRuntimeError("integer divide by zero")) << 24 >>> 24)) % 10, _r$1 === _r$1 ? _r$1 : $throwRuntimeError("integer divide by zero")) + 48 << 24 >>> 24, (((_r$2 = exp % 10, _r$2 === _r$2 ? _r$2 : $throwRuntimeError("integer divide by zero")) << 24 >>> 24)) + 48 << 24 >>> 24); - } - return dst; - }; - fmtF = function(dst, neg, d, prec) { - var ch, d, dst, i, j, m, neg, prec, x; - if (neg) { - dst = $append(dst, 45); - } - if (d.dp > 0) { - m = min(d.nd, d.dp); - dst = $appendSlice(dst, $subslice(d.d, 0, m)); - while (true) { - if (!(m < d.dp)) { break; } - dst = $append(dst, 48); - m = m + (1) >> 0; - } - } else { - dst = $append(dst, 48); - } - if (prec > 0) { - dst = $append(dst, 46); - i = 0; - while (true) { - if (!(i < prec)) { break; } - ch = 48; - j = d.dp + i >> 0; - if (0 <= j && j < d.nd) { - ch = (x = d.d, ((j < 0 || j >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + j])); - } - dst = $append(dst, ch); - i = i + (1) >> 0; - } - } - return dst; - }; - fmtB = function(dst, neg, mant, exp, flt) { - var _tuple, _tuple$1, dst, exp, flt, mant, neg; - if (neg) { - dst = $append(dst, 45); - } - _tuple = formatBits(dst, mant, 10, false, true); - dst = _tuple[0]; - dst = $append(dst, 112); - exp = exp - (((flt.mantbits >> 0))) >> 0; - if (exp >= 0) { - dst = $append(dst, 43); - } - _tuple$1 = formatBits(dst, (new $Uint64(0, exp)), 10, exp < 0, true); - dst = _tuple$1[0]; - return dst; - }; - min = function(a, b) { - var a, b; - if (a < b) { - return a; - } - return b; - }; - max = function(a, b) { - var a, b; - if (a > b) { - return a; - } - return b; - }; - FormatInt = function(i, base) { - var _tuple, base, i, s; - if (true && (0 < i.$high || (0 === i.$high && 0 <= i.$low)) && (i.$high < 0 || (i.$high === 0 && i.$low < 100)) && (base === 10)) { - return small((((i.$low + ((i.$high >> 31) * 4294967296)) >> 0))); - } - _tuple = formatBits(sliceType$6.nil, (new $Uint64(i.$high, i.$low)), base, (i.$high < 0 || (i.$high === 0 && i.$low < 0)), false); - s = _tuple[1]; - return s; - }; - $pkg.FormatInt = FormatInt; - Itoa = function(i) { - var i; - return FormatInt((new $Int64(0, i)), 10); - }; - $pkg.Itoa = Itoa; - small = function(i) { - var i; - if (i < 10) { - return $substring("0123456789abcdefghijklmnopqrstuvwxyz", i, (i + 1 >> 0)); - } - return $substring("00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899", ($imul(i, 2)), (($imul(i, 2)) + 2 >> 0)); - }; - formatBits = function(dst, u, base, neg, append_) { - var _q, _q$1, _r, _r$1, a, append_, b, b$1, base, d, dst, i, is, is$1, is$2, j, m, neg, q, q$1, s, shift, u, us, us$1, x, x$1, x$2, x$3, x$4, x$5; - d = sliceType$6.nil; - s = ""; - if (base < 2 || base > 36) { - $panic(new $String("strconv: illegal AppendInt/FormatInt base")); - } - a = arrayType$3.zero(); - i = 65; - if (neg) { - u = new $Uint64(-u.$high, -u.$low); - } - if (base === 10) { - if (true) { - while (true) { - if (!((u.$high > 0 || (u.$high === 0 && u.$low >= 1000000000)))) { break; } - q = $div64(u, new $Uint64(0, 1000000000), false); - us = (((x = $mul64(q, new $Uint64(0, 1000000000)), new $Uint64(u.$high - x.$high, u.$low - x.$low)).$low >>> 0)); - j = 4; - while (true) { - if (!(j > 0)) { break; } - is = (_r = us % 100, _r === _r ? _r : $throwRuntimeError("integer divide by zero")) * 2 >>> 0; - us = (_q = us / (100), (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >>> 0 : $throwRuntimeError("integer divide by zero")); - i = i - (2) >> 0; - (x$1 = i + 1 >> 0, ((x$1 < 0 || x$1 >= a.length) ? ($throwRuntimeError("index out of range"), undefined) : a[x$1] = "00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt((is + 1 >>> 0)))); - (x$2 = i + 0 >> 0, ((x$2 < 0 || x$2 >= a.length) ? ($throwRuntimeError("index out of range"), undefined) : a[x$2] = "00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt((is + 0 >>> 0)))); - j = j - (1) >> 0; - } - i = i - (1) >> 0; - ((i < 0 || i >= a.length) ? ($throwRuntimeError("index out of range"), undefined) : a[i] = "00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt(((us * 2 >>> 0) + 1 >>> 0))); - u = q; - } - } - us$1 = ((u.$low >>> 0)); - while (true) { - if (!(us$1 >= 100)) { break; } - is$1 = (_r$1 = us$1 % 100, _r$1 === _r$1 ? _r$1 : $throwRuntimeError("integer divide by zero")) * 2 >>> 0; - us$1 = (_q$1 = us$1 / (100), (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >>> 0 : $throwRuntimeError("integer divide by zero")); - i = i - (2) >> 0; - (x$3 = i + 1 >> 0, ((x$3 < 0 || x$3 >= a.length) ? ($throwRuntimeError("index out of range"), undefined) : a[x$3] = "00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt((is$1 + 1 >>> 0)))); - (x$4 = i + 0 >> 0, ((x$4 < 0 || x$4 >= a.length) ? ($throwRuntimeError("index out of range"), undefined) : a[x$4] = "00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt((is$1 + 0 >>> 0)))); - } - is$2 = us$1 * 2 >>> 0; - i = i - (1) >> 0; - ((i < 0 || i >= a.length) ? ($throwRuntimeError("index out of range"), undefined) : a[i] = "00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt((is$2 + 1 >>> 0))); - if (us$1 >= 10) { - i = i - (1) >> 0; - ((i < 0 || i >= a.length) ? ($throwRuntimeError("index out of range"), undefined) : a[i] = "00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899".charCodeAt(is$2)); - } - } else if (isPowerOfTwo(base)) { - shift = (((bits.TrailingZeros(((base >>> 0))) >>> 0)) & 31) >>> 0; - b = (new $Uint64(0, base)); - m = ((base >>> 0)) - 1 >>> 0; - while (true) { - if (!((u.$high > b.$high || (u.$high === b.$high && u.$low >= b.$low)))) { break; } - i = i - (1) >> 0; - ((i < 0 || i >= a.length) ? ($throwRuntimeError("index out of range"), undefined) : a[i] = "0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(((((u.$low >>> 0)) & m) >>> 0))); - u = $shiftRightUint64(u, (shift)); - } - i = i - (1) >> 0; - ((i < 0 || i >= a.length) ? ($throwRuntimeError("index out of range"), undefined) : a[i] = "0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(((u.$low >>> 0)))); - } else { - b$1 = (new $Uint64(0, base)); - while (true) { - if (!((u.$high > b$1.$high || (u.$high === b$1.$high && u.$low >= b$1.$low)))) { break; } - i = i - (1) >> 0; - q$1 = $div64(u, b$1, false); - ((i < 0 || i >= a.length) ? ($throwRuntimeError("index out of range"), undefined) : a[i] = "0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt((((x$5 = $mul64(q$1, b$1), new $Uint64(u.$high - x$5.$high, u.$low - x$5.$low)).$low >>> 0)))); - u = q$1; - } - i = i - (1) >> 0; - ((i < 0 || i >= a.length) ? ($throwRuntimeError("index out of range"), undefined) : a[i] = "0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(((u.$low >>> 0)))); - } - if (neg) { - i = i - (1) >> 0; - ((i < 0 || i >= a.length) ? ($throwRuntimeError("index out of range"), undefined) : a[i] = 45); - } - if (append_) { - d = $appendSlice(dst, $subslice(new sliceType$6(a), i)); - return [d, s]; - } - s = ($bytesToString($subslice(new sliceType$6(a), i))); - return [d, s]; - }; - isPowerOfTwo = function(x) { - var x; - return (x & ((x - 1 >> 0))) === 0; - }; - quoteWith = function(s, quote, ASCIIonly, graphicOnly) { - var ASCIIonly, _q, graphicOnly, quote, s; - return ($bytesToString(appendQuotedWith($makeSlice(sliceType$6, 0, (_q = ($imul(3, s.length)) / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero"))), s, quote, ASCIIonly, graphicOnly))); - }; - appendQuotedWith = function(buf, s, quote, ASCIIonly, graphicOnly) { - var ASCIIonly, _tuple, buf, graphicOnly, quote, r, s, width; - buf = $append(buf, quote); - width = 0; - while (true) { - if (!(s.length > 0)) { break; } - r = ((s.charCodeAt(0) >> 0)); - width = 1; - if (r >= 128) { - _tuple = utf8.DecodeRuneInString(s); - r = _tuple[0]; - width = _tuple[1]; - } - if ((width === 1) && (r === 65533)) { - buf = $appendSlice(buf, "\\x"); - buf = $append(buf, "0123456789abcdef".charCodeAt((s.charCodeAt(0) >>> 4 << 24 >>> 24))); - buf = $append(buf, "0123456789abcdef".charCodeAt(((s.charCodeAt(0) & 15) >>> 0))); - s = $substring(s, width); - continue; - } - buf = appendEscapedRune(buf, r, quote, ASCIIonly, graphicOnly); - s = $substring(s, width); - } - buf = $append(buf, quote); - return buf; - }; - appendQuotedRuneWith = function(buf, r, quote, ASCIIonly, graphicOnly) { - var ASCIIonly, buf, graphicOnly, quote, r; - buf = $append(buf, quote); - if (!utf8.ValidRune(r)) { - r = 65533; - } - buf = appendEscapedRune(buf, r, quote, ASCIIonly, graphicOnly); - buf = $append(buf, quote); - return buf; - }; - appendEscapedRune = function(buf, r, quote, ASCIIonly, graphicOnly) { - var ASCIIonly, _1, buf, graphicOnly, n, quote, r, runeTmp, s, s$1; - runeTmp = arrayType$4.zero(); - if ((r === ((quote >> 0))) || (r === 92)) { - buf = $append(buf, 92); - buf = $append(buf, ((r << 24 >>> 24))); - return buf; - } - if (ASCIIonly) { - if (r < 128 && IsPrint(r)) { - buf = $append(buf, ((r << 24 >>> 24))); - return buf; - } - } else if (IsPrint(r) || graphicOnly && isInGraphicList(r)) { - n = utf8.EncodeRune(new sliceType$6(runeTmp), r); - buf = $appendSlice(buf, $subslice(new sliceType$6(runeTmp), 0, n)); - return buf; - } - _1 = r; - if (_1 === (7)) { - buf = $appendSlice(buf, "\\a"); - } else if (_1 === (8)) { - buf = $appendSlice(buf, "\\b"); - } else if (_1 === (12)) { - buf = $appendSlice(buf, "\\f"); - } else if (_1 === (10)) { - buf = $appendSlice(buf, "\\n"); - } else if (_1 === (13)) { - buf = $appendSlice(buf, "\\r"); - } else if (_1 === (9)) { - buf = $appendSlice(buf, "\\t"); - } else if (_1 === (11)) { - buf = $appendSlice(buf, "\\v"); - } else { - if (r < 32) { - buf = $appendSlice(buf, "\\x"); - buf = $append(buf, "0123456789abcdef".charCodeAt((((r << 24 >>> 24)) >>> 4 << 24 >>> 24))); - buf = $append(buf, "0123456789abcdef".charCodeAt(((((r << 24 >>> 24)) & 15) >>> 0))); - } else if (r > 1114111) { - r = 65533; - buf = $appendSlice(buf, "\\u"); - s = 12; - while (true) { - if (!(s >= 0)) { break; } - buf = $append(buf, "0123456789abcdef".charCodeAt((((r >> $min(((s >>> 0)), 31)) >> 0) & 15))); - s = s - (4) >> 0; - } - } else if (r < 65536) { - buf = $appendSlice(buf, "\\u"); - s = 12; - while (true) { - if (!(s >= 0)) { break; } - buf = $append(buf, "0123456789abcdef".charCodeAt((((r >> $min(((s >>> 0)), 31)) >> 0) & 15))); - s = s - (4) >> 0; - } - } else { - buf = $appendSlice(buf, "\\U"); - s$1 = 28; - while (true) { - if (!(s$1 >= 0)) { break; } - buf = $append(buf, "0123456789abcdef".charCodeAt((((r >> $min(((s$1 >>> 0)), 31)) >> 0) & 15))); - s$1 = s$1 - (4) >> 0; - } - } - } - return buf; - }; - Quote = function(s) { - var s; - return quoteWith(s, 34, false, false); - }; - $pkg.Quote = Quote; - AppendQuote = function(dst, s) { - var dst, s; - return appendQuotedWith(dst, s, 34, false, false); - }; - $pkg.AppendQuote = AppendQuote; - AppendQuoteToASCII = function(dst, s) { - var dst, s; - return appendQuotedWith(dst, s, 34, true, false); - }; - $pkg.AppendQuoteToASCII = AppendQuoteToASCII; - AppendQuoteRune = function(dst, r) { - var dst, r; - return appendQuotedRuneWith(dst, r, 39, false, false); - }; - $pkg.AppendQuoteRune = AppendQuoteRune; - AppendQuoteRuneToASCII = function(dst, r) { - var dst, r; - return appendQuotedRuneWith(dst, r, 39, true, false); - }; - $pkg.AppendQuoteRuneToASCII = AppendQuoteRuneToASCII; - CanBackquote = function(s) { - var _tuple, r, s, wid; - while (true) { - if (!(s.length > 0)) { break; } - _tuple = utf8.DecodeRuneInString(s); - r = _tuple[0]; - wid = _tuple[1]; - s = $substring(s, wid); - if (wid > 1) { - if (r === 65279) { - return false; - } - continue; - } - if (r === 65533) { - return false; - } - if ((r < 32 && !((r === 9))) || (r === 96) || (r === 127)) { - return false; - } - } - return true; - }; - $pkg.CanBackquote = CanBackquote; - unhex = function(b) { - var _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, b, c, ok, v; - v = 0; - ok = false; - c = ((b >> 0)); - if (48 <= c && c <= 57) { - _tmp = c - 48 >> 0; - _tmp$1 = true; - v = _tmp; - ok = _tmp$1; - return [v, ok]; - } else if (97 <= c && c <= 102) { - _tmp$2 = (c - 97 >> 0) + 10 >> 0; - _tmp$3 = true; - v = _tmp$2; - ok = _tmp$3; - return [v, ok]; - } else if (65 <= c && c <= 70) { - _tmp$4 = (c - 65 >> 0) + 10 >> 0; - _tmp$5 = true; - v = _tmp$4; - ok = _tmp$5; - return [v, ok]; - } - return [v, ok]; - }; - UnquoteChar = function(s, quote) { - var _1, _2, _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tuple, _tuple$1, c, c$1, err, j, j$1, multibyte, n, ok, quote, r, s, size, tail, v, v$1, value, x, x$1; - value = 0; - multibyte = false; - tail = ""; - err = $ifaceNil; - if (s.length === 0) { - err = $pkg.ErrSyntax; - return [value, multibyte, tail, err]; - } - c = s.charCodeAt(0); - if ((c === quote) && ((quote === 39) || (quote === 34))) { - err = $pkg.ErrSyntax; - return [value, multibyte, tail, err]; - } else if (c >= 128) { - _tuple = utf8.DecodeRuneInString(s); - r = _tuple[0]; - size = _tuple[1]; - _tmp = r; - _tmp$1 = true; - _tmp$2 = $substring(s, size); - _tmp$3 = $ifaceNil; - value = _tmp; - multibyte = _tmp$1; - tail = _tmp$2; - err = _tmp$3; - return [value, multibyte, tail, err]; - } else if (!((c === 92))) { - _tmp$4 = ((s.charCodeAt(0) >> 0)); - _tmp$5 = false; - _tmp$6 = $substring(s, 1); - _tmp$7 = $ifaceNil; - value = _tmp$4; - multibyte = _tmp$5; - tail = _tmp$6; - err = _tmp$7; - return [value, multibyte, tail, err]; - } - if (s.length <= 1) { - err = $pkg.ErrSyntax; - return [value, multibyte, tail, err]; - } - c$1 = s.charCodeAt(1); - s = $substring(s, 2); - switch (0) { default: - _1 = c$1; - if (_1 === (97)) { - value = 7; - } else if (_1 === (98)) { - value = 8; - } else if (_1 === (102)) { - value = 12; - } else if (_1 === (110)) { - value = 10; - } else if (_1 === (114)) { - value = 13; - } else if (_1 === (116)) { - value = 9; - } else if (_1 === (118)) { - value = 11; - } else if ((_1 === (120)) || (_1 === (117)) || (_1 === (85))) { - n = 0; - _2 = c$1; - if (_2 === (120)) { - n = 2; - } else if (_2 === (117)) { - n = 4; - } else if (_2 === (85)) { - n = 8; - } - v = 0; - if (s.length < n) { - err = $pkg.ErrSyntax; - return [value, multibyte, tail, err]; - } - j = 0; - while (true) { - if (!(j < n)) { break; } - _tuple$1 = unhex(s.charCodeAt(j)); - x = _tuple$1[0]; - ok = _tuple$1[1]; - if (!ok) { - err = $pkg.ErrSyntax; - return [value, multibyte, tail, err]; - } - v = (v << 4 >> 0) | x; - j = j + (1) >> 0; - } - s = $substring(s, n); - if (c$1 === 120) { - value = v; - break; - } - if (v > 1114111) { - err = $pkg.ErrSyntax; - return [value, multibyte, tail, err]; - } - value = v; - multibyte = true; - } else if ((_1 === (48)) || (_1 === (49)) || (_1 === (50)) || (_1 === (51)) || (_1 === (52)) || (_1 === (53)) || (_1 === (54)) || (_1 === (55))) { - v$1 = ((c$1 >> 0)) - 48 >> 0; - if (s.length < 2) { - err = $pkg.ErrSyntax; - return [value, multibyte, tail, err]; - } - j$1 = 0; - while (true) { - if (!(j$1 < 2)) { break; } - x$1 = ((s.charCodeAt(j$1) >> 0)) - 48 >> 0; - if (x$1 < 0 || x$1 > 7) { - err = $pkg.ErrSyntax; - return [value, multibyte, tail, err]; - } - v$1 = ((v$1 << 3 >> 0)) | x$1; - j$1 = j$1 + (1) >> 0; - } - s = $substring(s, 2); - if (v$1 > 255) { - err = $pkg.ErrSyntax; - return [value, multibyte, tail, err]; - } - value = v$1; - } else if (_1 === (92)) { - value = 92; - } else if ((_1 === (39)) || (_1 === (34))) { - if (!((c$1 === quote))) { - err = $pkg.ErrSyntax; - return [value, multibyte, tail, err]; - } - value = ((c$1 >> 0)); - } else { - err = $pkg.ErrSyntax; - return [value, multibyte, tail, err]; - } - } - tail = s; - return [value, multibyte, tail, err]; - }; - $pkg.UnquoteChar = UnquoteChar; - Unquote = function(s) { - var _1, _q, _tuple, _tuple$1, buf, buf$1, c, err, i, multibyte, n, n$1, quote, r, runeTmp, s, size, ss; - n = s.length; - if (n < 2) { - return ["", $pkg.ErrSyntax]; - } - quote = s.charCodeAt(0); - if (!((quote === s.charCodeAt((n - 1 >> 0))))) { - return ["", $pkg.ErrSyntax]; - } - s = $substring(s, 1, (n - 1 >> 0)); - if (quote === 96) { - if (contains(s, 96)) { - return ["", $pkg.ErrSyntax]; - } - if (contains(s, 13)) { - buf = $makeSlice(sliceType$6, 0, (s.length - 1 >> 0)); - i = 0; - while (true) { - if (!(i < s.length)) { break; } - if (!((s.charCodeAt(i) === 13))) { - buf = $append(buf, s.charCodeAt(i)); - } - i = i + (1) >> 0; - } - return [($bytesToString(buf)), $ifaceNil]; - } - return [s, $ifaceNil]; - } - if (!((quote === 34)) && !((quote === 39))) { - return ["", $pkg.ErrSyntax]; - } - if (contains(s, 10)) { - return ["", $pkg.ErrSyntax]; - } - if (!contains(s, 92) && !contains(s, quote)) { - _1 = quote; - if (_1 === (34)) { - if (utf8.ValidString(s)) { - return [s, $ifaceNil]; - } - } else if (_1 === (39)) { - _tuple = utf8.DecodeRuneInString(s); - r = _tuple[0]; - size = _tuple[1]; - if ((size === s.length) && (!((r === 65533)) || !((size === 1)))) { - return [s, $ifaceNil]; - } - } - } - runeTmp = arrayType$4.zero(); - buf$1 = $makeSlice(sliceType$6, 0, (_q = ($imul(3, s.length)) / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero"))); - while (true) { - if (!(s.length > 0)) { break; } - _tuple$1 = UnquoteChar(s, quote); - c = _tuple$1[0]; - multibyte = _tuple$1[1]; - ss = _tuple$1[2]; - err = _tuple$1[3]; - if (!($interfaceIsEqual(err, $ifaceNil))) { - return ["", err]; - } - s = ss; - if (c < 128 || !multibyte) { - buf$1 = $append(buf$1, ((c << 24 >>> 24))); - } else { - n$1 = utf8.EncodeRune(new sliceType$6(runeTmp), c); - buf$1 = $appendSlice(buf$1, $subslice(new sliceType$6(runeTmp), 0, n$1)); - } - if ((quote === 39) && !((s.length === 0))) { - return ["", $pkg.ErrSyntax]; - } - } - return [($bytesToString(buf$1)), $ifaceNil]; - }; - $pkg.Unquote = Unquote; - contains = function(s, c) { - var c, i, s; - i = 0; - while (true) { - if (!(i < s.length)) { break; } - if (s.charCodeAt(i) === c) { - return true; - } - i = i + (1) >> 0; - } - return false; - }; - bsearch16 = function(a, x) { - var _q, _tmp, _tmp$1, a, h, i, j, x; - _tmp = 0; - _tmp$1 = a.$length; - i = _tmp; - j = _tmp$1; - while (true) { - if (!(i < j)) { break; } - h = i + (_q = ((j - i >> 0)) / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero")) >> 0; - if (((h < 0 || h >= a.$length) ? ($throwRuntimeError("index out of range"), undefined) : a.$array[a.$offset + h]) < x) { - i = h + 1 >> 0; - } else { - j = h; - } - } - return i; - }; - bsearch32 = function(a, x) { - var _q, _tmp, _tmp$1, a, h, i, j, x; - _tmp = 0; - _tmp$1 = a.$length; - i = _tmp; - j = _tmp$1; - while (true) { - if (!(i < j)) { break; } - h = i + (_q = ((j - i >> 0)) / 2, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero")) >> 0; - if (((h < 0 || h >= a.$length) ? ($throwRuntimeError("index out of range"), undefined) : a.$array[a.$offset + h]) < x) { - i = h + 1 >> 0; - } else { - j = h; - } - } - return i; - }; - IsPrint = function(r) { - var _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, i, i$1, isNotPrint, isNotPrint$1, isPrint, isPrint$1, j, j$1, r, rr, rr$1, x, x$1, x$2, x$3; - if (r <= 255) { - if (32 <= r && r <= 126) { - return true; - } - if (161 <= r && r <= 255) { - return !((r === 173)); - } - return false; - } - if (0 <= r && r < 65536) { - _tmp = ((r << 16 >>> 16)); - _tmp$1 = isPrint16; - _tmp$2 = isNotPrint16; - rr = _tmp; - isPrint = _tmp$1; - isNotPrint = _tmp$2; - i = bsearch16(isPrint, rr); - if (i >= isPrint.$length || rr < (x = (i & ~1) >> 0, ((x < 0 || x >= isPrint.$length) ? ($throwRuntimeError("index out of range"), undefined) : isPrint.$array[isPrint.$offset + x])) || (x$1 = i | 1, ((x$1 < 0 || x$1 >= isPrint.$length) ? ($throwRuntimeError("index out of range"), undefined) : isPrint.$array[isPrint.$offset + x$1])) < rr) { - return false; - } - j = bsearch16(isNotPrint, rr); - return j >= isNotPrint.$length || !((((j < 0 || j >= isNotPrint.$length) ? ($throwRuntimeError("index out of range"), undefined) : isNotPrint.$array[isNotPrint.$offset + j]) === rr)); - } - _tmp$3 = ((r >>> 0)); - _tmp$4 = isPrint32; - _tmp$5 = isNotPrint32; - rr$1 = _tmp$3; - isPrint$1 = _tmp$4; - isNotPrint$1 = _tmp$5; - i$1 = bsearch32(isPrint$1, rr$1); - if (i$1 >= isPrint$1.$length || rr$1 < (x$2 = (i$1 & ~1) >> 0, ((x$2 < 0 || x$2 >= isPrint$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : isPrint$1.$array[isPrint$1.$offset + x$2])) || (x$3 = i$1 | 1, ((x$3 < 0 || x$3 >= isPrint$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : isPrint$1.$array[isPrint$1.$offset + x$3])) < rr$1) { - return false; - } - if (r >= 131072) { - return true; - } - r = r - (65536) >> 0; - j$1 = bsearch16(isNotPrint$1, ((r << 16 >>> 16))); - return j$1 >= isNotPrint$1.$length || !((((j$1 < 0 || j$1 >= isNotPrint$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : isNotPrint$1.$array[isNotPrint$1.$offset + j$1]) === ((r << 16 >>> 16)))); - }; - $pkg.IsPrint = IsPrint; - isInGraphicList = function(r) { - var i, r, rr; - if (r > 65535) { - return false; - } - rr = ((r << 16 >>> 16)); - i = bsearch16(isGraphic, rr); - return i < isGraphic.$length && (rr === ((i < 0 || i >= isGraphic.$length) ? ($throwRuntimeError("index out of range"), undefined) : isGraphic.$array[isGraphic.$offset + i])); - }; - ptrType.methods = [{prop: "Error", name: "Error", pkg: "", typ: $funcType([], [$String], false)}]; - ptrType$2.methods = [{prop: "set", name: "set", pkg: "strconv", typ: $funcType([$String], [$Bool], false)}, {prop: "floatBits", name: "floatBits", pkg: "strconv", typ: $funcType([ptrType$1], [$Uint64, $Bool], false)}, {prop: "String", name: "String", pkg: "", typ: $funcType([], [$String], false)}, {prop: "Assign", name: "Assign", pkg: "", typ: $funcType([$Uint64], [], false)}, {prop: "Shift", name: "Shift", pkg: "", typ: $funcType([$Int], [], false)}, {prop: "Round", name: "Round", pkg: "", typ: $funcType([$Int], [], false)}, {prop: "RoundDown", name: "RoundDown", pkg: "", typ: $funcType([$Int], [], false)}, {prop: "RoundUp", name: "RoundUp", pkg: "", typ: $funcType([$Int], [], false)}, {prop: "RoundedInteger", name: "RoundedInteger", pkg: "", typ: $funcType([], [$Uint64], false)}]; - ptrType$4.methods = [{prop: "floatBits", name: "floatBits", pkg: "strconv", typ: $funcType([ptrType$1], [$Uint64, $Bool], false)}, {prop: "AssignComputeBounds", name: "AssignComputeBounds", pkg: "", typ: $funcType([$Uint64, $Int, $Bool, ptrType$1], [extFloat, extFloat], false)}, {prop: "Normalize", name: "Normalize", pkg: "", typ: $funcType([], [$Uint], false)}, {prop: "Multiply", name: "Multiply", pkg: "", typ: $funcType([extFloat], [], false)}, {prop: "AssignDecimal", name: "AssignDecimal", pkg: "", typ: $funcType([$Uint64, $Int, $Bool, $Bool, ptrType$1], [$Bool], false)}, {prop: "frexp10", name: "frexp10", pkg: "strconv", typ: $funcType([], [$Int, $Int], false)}, {prop: "FixedDecimal", name: "FixedDecimal", pkg: "", typ: $funcType([ptrType$3, $Int], [$Bool], false)}, {prop: "ShortestDecimal", name: "ShortestDecimal", pkg: "", typ: $funcType([ptrType$3, ptrType$4, ptrType$4], [$Bool], false)}]; - NumError.init("", [{prop: "Func", name: "Func", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "Num", name: "Num", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "Err", name: "Err", embedded: false, exported: true, typ: $error, tag: ""}]); - decimal.init("strconv", [{prop: "d", name: "d", embedded: false, exported: false, typ: arrayType, tag: ""}, {prop: "nd", name: "nd", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "dp", name: "dp", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "neg", name: "neg", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "trunc", name: "trunc", embedded: false, exported: false, typ: $Bool, tag: ""}]); - leftCheat.init("strconv", [{prop: "delta", name: "delta", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "cutoff", name: "cutoff", embedded: false, exported: false, typ: $String, tag: ""}]); - extFloat.init("strconv", [{prop: "mant", name: "mant", embedded: false, exported: false, typ: $Uint64, tag: ""}, {prop: "exp", name: "exp", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "neg", name: "neg", embedded: false, exported: false, typ: $Bool, tag: ""}]); - floatInfo.init("strconv", [{prop: "mantbits", name: "mantbits", embedded: false, exported: false, typ: $Uint, tag: ""}, {prop: "expbits", name: "expbits", embedded: false, exported: false, typ: $Uint, tag: ""}, {prop: "bias", name: "bias", embedded: false, exported: false, typ: $Int, tag: ""}]); - decimalSlice.init("strconv", [{prop: "d", name: "d", embedded: false, exported: false, typ: sliceType$6, tag: ""}, {prop: "nd", name: "nd", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "dp", name: "dp", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "neg", name: "neg", embedded: false, exported: false, typ: $Bool, tag: ""}]); - $init = function() { - $pkg.$init = function() {}; - /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - $r = errors.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = math.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = bits.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = utf8.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - optimize = true; - powtab = new sliceType([1, 3, 6, 9, 13, 16, 19, 23, 26]); - float64pow10 = new sliceType$1([1, 10, 100, 1000, 10000, 100000, 1e+06, 1e+07, 1e+08, 1e+09, 1e+10, 1e+11, 1e+12, 1e+13, 1e+14, 1e+15, 1e+16, 1e+17, 1e+18, 1e+19, 1e+20, 1e+21, 1e+22]); - float32pow10 = new sliceType$2([1, 10, 100, 1000, 10000, 100000, 1e+06, 1e+07, 1e+08, 1e+09, 1e+10]); - $pkg.ErrRange = errors.New("value out of range"); - $pkg.ErrSyntax = errors.New("invalid syntax"); - leftcheats = new sliceType$3([new leftCheat.ptr(0, ""), new leftCheat.ptr(1, "5"), new leftCheat.ptr(1, "25"), new leftCheat.ptr(1, "125"), new leftCheat.ptr(2, "625"), new leftCheat.ptr(2, "3125"), new leftCheat.ptr(2, "15625"), new leftCheat.ptr(3, "78125"), new leftCheat.ptr(3, "390625"), new leftCheat.ptr(3, "1953125"), new leftCheat.ptr(4, "9765625"), new leftCheat.ptr(4, "48828125"), new leftCheat.ptr(4, "244140625"), new leftCheat.ptr(4, "1220703125"), new leftCheat.ptr(5, "6103515625"), new leftCheat.ptr(5, "30517578125"), new leftCheat.ptr(5, "152587890625"), new leftCheat.ptr(6, "762939453125"), new leftCheat.ptr(6, "3814697265625"), new leftCheat.ptr(6, "19073486328125"), new leftCheat.ptr(7, "95367431640625"), new leftCheat.ptr(7, "476837158203125"), new leftCheat.ptr(7, "2384185791015625"), new leftCheat.ptr(7, "11920928955078125"), new leftCheat.ptr(8, "59604644775390625"), new leftCheat.ptr(8, "298023223876953125"), new leftCheat.ptr(8, "1490116119384765625"), new leftCheat.ptr(9, "7450580596923828125"), new leftCheat.ptr(9, "37252902984619140625"), new leftCheat.ptr(9, "186264514923095703125"), new leftCheat.ptr(10, "931322574615478515625"), new leftCheat.ptr(10, "4656612873077392578125"), new leftCheat.ptr(10, "23283064365386962890625"), new leftCheat.ptr(10, "116415321826934814453125"), new leftCheat.ptr(11, "582076609134674072265625"), new leftCheat.ptr(11, "2910383045673370361328125"), new leftCheat.ptr(11, "14551915228366851806640625"), new leftCheat.ptr(12, "72759576141834259033203125"), new leftCheat.ptr(12, "363797880709171295166015625"), new leftCheat.ptr(12, "1818989403545856475830078125"), new leftCheat.ptr(13, "9094947017729282379150390625"), new leftCheat.ptr(13, "45474735088646411895751953125"), new leftCheat.ptr(13, "227373675443232059478759765625"), new leftCheat.ptr(13, "1136868377216160297393798828125"), new leftCheat.ptr(14, "5684341886080801486968994140625"), new leftCheat.ptr(14, "28421709430404007434844970703125"), new leftCheat.ptr(14, "142108547152020037174224853515625"), new leftCheat.ptr(15, "710542735760100185871124267578125"), new leftCheat.ptr(15, "3552713678800500929355621337890625"), new leftCheat.ptr(15, "17763568394002504646778106689453125"), new leftCheat.ptr(16, "88817841970012523233890533447265625"), new leftCheat.ptr(16, "444089209850062616169452667236328125"), new leftCheat.ptr(16, "2220446049250313080847263336181640625"), new leftCheat.ptr(16, "11102230246251565404236316680908203125"), new leftCheat.ptr(17, "55511151231257827021181583404541015625"), new leftCheat.ptr(17, "277555756156289135105907917022705078125"), new leftCheat.ptr(17, "1387778780781445675529539585113525390625"), new leftCheat.ptr(18, "6938893903907228377647697925567626953125"), new leftCheat.ptr(18, "34694469519536141888238489627838134765625"), new leftCheat.ptr(18, "173472347597680709441192448139190673828125"), new leftCheat.ptr(19, "867361737988403547205962240695953369140625")]); - smallPowersOfTen = $toNativeArray($kindStruct, [new extFloat.ptr(new $Uint64(2147483648, 0), -63, false), new extFloat.ptr(new $Uint64(2684354560, 0), -60, false), new extFloat.ptr(new $Uint64(3355443200, 0), -57, false), new extFloat.ptr(new $Uint64(4194304000, 0), -54, false), new extFloat.ptr(new $Uint64(2621440000, 0), -50, false), new extFloat.ptr(new $Uint64(3276800000, 0), -47, false), new extFloat.ptr(new $Uint64(4096000000, 0), -44, false), new extFloat.ptr(new $Uint64(2560000000, 0), -40, false)]); - powersOfTen = $toNativeArray($kindStruct, [new extFloat.ptr(new $Uint64(4203730336, 136053384), -1220, false), new extFloat.ptr(new $Uint64(3132023167, 2722021238), -1193, false), new extFloat.ptr(new $Uint64(2333539104, 810921078), -1166, false), new extFloat.ptr(new $Uint64(3477244234, 1573795306), -1140, false), new extFloat.ptr(new $Uint64(2590748842, 1432697645), -1113, false), new extFloat.ptr(new $Uint64(3860516611, 1025131999), -1087, false), new extFloat.ptr(new $Uint64(2876309015, 3348809418), -1060, false), new extFloat.ptr(new $Uint64(4286034428, 3200048207), -1034, false), new extFloat.ptr(new $Uint64(3193344495, 1097586188), -1007, false), new extFloat.ptr(new $Uint64(2379227053, 2424306748), -980, false), new extFloat.ptr(new $Uint64(3545324584, 827693699), -954, false), new extFloat.ptr(new $Uint64(2641472655, 2913388981), -927, false), new extFloat.ptr(new $Uint64(3936100983, 602835915), -901, false), new extFloat.ptr(new $Uint64(2932623761, 1081627501), -874, false), new extFloat.ptr(new $Uint64(2184974969, 1572261463), -847, false), new extFloat.ptr(new $Uint64(3255866422, 1308317239), -821, false), new extFloat.ptr(new $Uint64(2425809519, 944281679), -794, false), new extFloat.ptr(new $Uint64(3614737867, 629291719), -768, false), new extFloat.ptr(new $Uint64(2693189581, 2545915892), -741, false), new extFloat.ptr(new $Uint64(4013165208, 388672741), -715, false), new extFloat.ptr(new $Uint64(2990041083, 708162190), -688, false), new extFloat.ptr(new $Uint64(2227754207, 3536207675), -661, false), new extFloat.ptr(new $Uint64(3319612455, 450088378), -635, false), new extFloat.ptr(new $Uint64(2473304014, 3139815830), -608, false), new extFloat.ptr(new $Uint64(3685510180, 2103616900), -582, false), new extFloat.ptr(new $Uint64(2745919064, 224385782), -555, false), new extFloat.ptr(new $Uint64(4091738259, 3737383206), -529, false), new extFloat.ptr(new $Uint64(3048582568, 2868871352), -502, false), new extFloat.ptr(new $Uint64(2271371013, 1820084875), -475, false), new extFloat.ptr(new $Uint64(3384606560, 885076051), -449, false), new extFloat.ptr(new $Uint64(2521728396, 2444895829), -422, false), new extFloat.ptr(new $Uint64(3757668132, 1881767613), -396, false), new extFloat.ptr(new $Uint64(2799680927, 3102062735), -369, false), new extFloat.ptr(new $Uint64(4171849679, 2289335700), -343, false), new extFloat.ptr(new $Uint64(3108270227, 2410191823), -316, false), new extFloat.ptr(new $Uint64(2315841784, 3205436779), -289, false), new extFloat.ptr(new $Uint64(3450873173, 1697722806), -263, false), new extFloat.ptr(new $Uint64(2571100870, 3497754540), -236, false), new extFloat.ptr(new $Uint64(3831238852, 707476230), -210, false), new extFloat.ptr(new $Uint64(2854495385, 1769181907), -183, false), new extFloat.ptr(new $Uint64(4253529586, 2197867022), -157, false), new extFloat.ptr(new $Uint64(3169126500, 2450594539), -130, false), new extFloat.ptr(new $Uint64(2361183241, 1867548876), -103, false), new extFloat.ptr(new $Uint64(3518437208, 3793315116), -77, false), new extFloat.ptr(new $Uint64(2621440000, 0), -50, false), new extFloat.ptr(new $Uint64(3906250000, 0), -24, false), new extFloat.ptr(new $Uint64(2910383045, 2892103680), 3, false), new extFloat.ptr(new $Uint64(2168404344, 4170451332), 30, false), new extFloat.ptr(new $Uint64(3231174267, 3372684723), 56, false), new extFloat.ptr(new $Uint64(2407412430, 2078956656), 83, false), new extFloat.ptr(new $Uint64(3587324068, 2884206696), 109, false), new extFloat.ptr(new $Uint64(2672764710, 395977285), 136, false), new extFloat.ptr(new $Uint64(3982729777, 3569679143), 162, false), new extFloat.ptr(new $Uint64(2967364920, 2361961896), 189, false), new extFloat.ptr(new $Uint64(2210859150, 447440347), 216, false), new extFloat.ptr(new $Uint64(3294436857, 1114709402), 242, false), new extFloat.ptr(new $Uint64(2454546732, 2786846552), 269, false), new extFloat.ptr(new $Uint64(3657559652, 443583978), 295, false), new extFloat.ptr(new $Uint64(2725094297, 2599384906), 322, false), new extFloat.ptr(new $Uint64(4060706939, 3028118405), 348, false), new extFloat.ptr(new $Uint64(3025462433, 2044532855), 375, false), new extFloat.ptr(new $Uint64(2254145170, 1536935362), 402, false), new extFloat.ptr(new $Uint64(3358938053, 3365297469), 428, false), new extFloat.ptr(new $Uint64(2502603868, 4204241075), 455, false), new extFloat.ptr(new $Uint64(3729170365, 2577424355), 481, false), new extFloat.ptr(new $Uint64(2778448436, 3677981733), 508, false), new extFloat.ptr(new $Uint64(4140210802, 2744688476), 534, false), new extFloat.ptr(new $Uint64(3084697427, 1424604878), 561, false), new extFloat.ptr(new $Uint64(2298278679, 4062331362), 588, false), new extFloat.ptr(new $Uint64(3424702107, 3546052773), 614, false), new extFloat.ptr(new $Uint64(2551601907, 2065781727), 641, false), new extFloat.ptr(new $Uint64(3802183132, 2535403578), 667, false), new extFloat.ptr(new $Uint64(2832847187, 1558426518), 694, false), new extFloat.ptr(new $Uint64(4221271257, 2762425404), 720, false), new extFloat.ptr(new $Uint64(3145092172, 2812560400), 747, false), new extFloat.ptr(new $Uint64(2343276271, 3057687578), 774, false), new extFloat.ptr(new $Uint64(3491753744, 2790753324), 800, false), new extFloat.ptr(new $Uint64(2601559269, 3918606633), 827, false), new extFloat.ptr(new $Uint64(3876625403, 2711358621), 853, false), new extFloat.ptr(new $Uint64(2888311001, 1648096297), 880, false), new extFloat.ptr(new $Uint64(2151959390, 2057817989), 907, false), new extFloat.ptr(new $Uint64(3206669376, 61660461), 933, false), new extFloat.ptr(new $Uint64(2389154863, 1581580175), 960, false), new extFloat.ptr(new $Uint64(3560118173, 2626467905), 986, false), new extFloat.ptr(new $Uint64(2652494738, 3034782633), 1013, false), new extFloat.ptr(new $Uint64(3952525166, 3135207385), 1039, false), new extFloat.ptr(new $Uint64(2944860731, 2616258155), 1066, false)]); - uint64pow10 = $toNativeArray($kindUint64, [new $Uint64(0, 1), new $Uint64(0, 10), new $Uint64(0, 100), new $Uint64(0, 1000), new $Uint64(0, 10000), new $Uint64(0, 100000), new $Uint64(0, 1000000), new $Uint64(0, 10000000), new $Uint64(0, 100000000), new $Uint64(0, 1000000000), new $Uint64(2, 1410065408), new $Uint64(23, 1215752192), new $Uint64(232, 3567587328), new $Uint64(2328, 1316134912), new $Uint64(23283, 276447232), new $Uint64(232830, 2764472320), new $Uint64(2328306, 1874919424), new $Uint64(23283064, 1569325056), new $Uint64(232830643, 2808348672), new $Uint64(2328306436, 2313682944)]); - float32info = new floatInfo.ptr(23, 8, -127); - float64info = new floatInfo.ptr(52, 11, -1023); - isPrint16 = new sliceType$4([32, 126, 161, 887, 890, 895, 900, 1366, 1369, 1418, 1421, 1479, 1488, 1514, 1520, 1524, 1542, 1563, 1566, 1805, 1808, 1866, 1869, 1969, 1984, 2042, 2048, 2093, 2096, 2139, 2142, 2154, 2208, 2237, 2260, 2444, 2447, 2448, 2451, 2482, 2486, 2489, 2492, 2500, 2503, 2504, 2507, 2510, 2519, 2519, 2524, 2531, 2534, 2557, 2561, 2570, 2575, 2576, 2579, 2617, 2620, 2626, 2631, 2632, 2635, 2637, 2641, 2641, 2649, 2654, 2662, 2677, 2689, 2745, 2748, 2765, 2768, 2768, 2784, 2787, 2790, 2801, 2809, 2828, 2831, 2832, 2835, 2873, 2876, 2884, 2887, 2888, 2891, 2893, 2902, 2903, 2908, 2915, 2918, 2935, 2946, 2954, 2958, 2965, 2969, 2975, 2979, 2980, 2984, 2986, 2990, 3001, 3006, 3010, 3014, 3021, 3024, 3024, 3031, 3031, 3046, 3066, 3072, 3129, 3133, 3149, 3157, 3162, 3168, 3171, 3174, 3183, 3192, 3257, 3260, 3277, 3285, 3286, 3294, 3299, 3302, 3314, 3328, 3407, 3412, 3427, 3430, 3455, 3458, 3478, 3482, 3517, 3520, 3526, 3530, 3530, 3535, 3551, 3558, 3567, 3570, 3572, 3585, 3642, 3647, 3675, 3713, 3716, 3719, 3722, 3725, 3725, 3732, 3751, 3754, 3773, 3776, 3789, 3792, 3801, 3804, 3807, 3840, 3948, 3953, 4058, 4096, 4295, 4301, 4301, 4304, 4685, 4688, 4701, 4704, 4749, 4752, 4789, 4792, 4805, 4808, 4885, 4888, 4954, 4957, 4988, 4992, 5017, 5024, 5109, 5112, 5117, 5120, 5788, 5792, 5880, 5888, 5908, 5920, 5942, 5952, 5971, 5984, 6003, 6016, 6109, 6112, 6121, 6128, 6137, 6144, 6157, 6160, 6169, 6176, 6263, 6272, 6314, 6320, 6389, 6400, 6443, 6448, 6459, 6464, 6464, 6468, 6509, 6512, 6516, 6528, 6571, 6576, 6601, 6608, 6618, 6622, 6683, 6686, 6780, 6783, 6793, 6800, 6809, 6816, 6829, 6832, 6846, 6912, 6987, 6992, 7036, 7040, 7155, 7164, 7223, 7227, 7241, 7245, 7304, 7360, 7367, 7376, 7417, 7424, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8061, 8064, 8147, 8150, 8175, 8178, 8190, 8208, 8231, 8240, 8286, 8304, 8305, 8308, 8348, 8352, 8383, 8400, 8432, 8448, 8587, 8592, 9254, 9280, 9290, 9312, 11123, 11126, 11157, 11160, 11193, 11197, 11218, 11244, 11247, 11264, 11507, 11513, 11559, 11565, 11565, 11568, 11623, 11631, 11632, 11647, 11670, 11680, 11849, 11904, 12019, 12032, 12245, 12272, 12283, 12289, 12438, 12441, 12543, 12549, 12590, 12593, 12730, 12736, 12771, 12784, 19893, 19904, 40938, 40960, 42124, 42128, 42182, 42192, 42539, 42560, 42743, 42752, 42935, 42999, 43051, 43056, 43065, 43072, 43127, 43136, 43205, 43214, 43225, 43232, 43261, 43264, 43347, 43359, 43388, 43392, 43481, 43486, 43574, 43584, 43597, 43600, 43609, 43612, 43714, 43739, 43766, 43777, 43782, 43785, 43790, 43793, 43798, 43808, 43877, 43888, 44013, 44016, 44025, 44032, 55203, 55216, 55238, 55243, 55291, 63744, 64109, 64112, 64217, 64256, 64262, 64275, 64279, 64285, 64449, 64467, 64831, 64848, 64911, 64914, 64967, 65008, 65021, 65024, 65049, 65056, 65131, 65136, 65276, 65281, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, 65504, 65518, 65532, 65533]); - isNotPrint16 = new sliceType$4([173, 907, 909, 930, 1328, 1376, 1416, 1424, 1757, 2111, 2143, 2229, 2274, 2436, 2473, 2481, 2526, 2564, 2601, 2609, 2612, 2615, 2621, 2653, 2692, 2702, 2706, 2729, 2737, 2740, 2758, 2762, 2816, 2820, 2857, 2865, 2868, 2910, 2948, 2961, 2971, 2973, 3017, 3076, 3085, 3089, 3113, 3141, 3145, 3159, 3204, 3213, 3217, 3241, 3252, 3269, 3273, 3295, 3312, 3332, 3341, 3345, 3397, 3401, 3460, 3506, 3516, 3541, 3543, 3715, 3721, 3736, 3744, 3748, 3750, 3756, 3770, 3781, 3783, 3912, 3992, 4029, 4045, 4294, 4681, 4695, 4697, 4745, 4785, 4799, 4801, 4823, 4881, 5760, 5901, 5997, 6001, 6431, 6751, 7674, 8024, 8026, 8028, 8030, 8117, 8133, 8156, 8181, 8335, 11209, 11311, 11359, 11558, 11687, 11695, 11703, 11711, 11719, 11727, 11735, 11743, 11930, 12352, 12687, 12831, 13055, 42927, 43470, 43519, 43815, 43823, 64311, 64317, 64319, 64322, 64325, 65107, 65127, 65141, 65511]); - isPrint32 = new sliceType$5([65536, 65613, 65616, 65629, 65664, 65786, 65792, 65794, 65799, 65843, 65847, 65947, 65952, 65952, 66000, 66045, 66176, 66204, 66208, 66256, 66272, 66299, 66304, 66339, 66349, 66378, 66384, 66426, 66432, 66499, 66504, 66517, 66560, 66717, 66720, 66729, 66736, 66771, 66776, 66811, 66816, 66855, 66864, 66915, 66927, 66927, 67072, 67382, 67392, 67413, 67424, 67431, 67584, 67589, 67592, 67640, 67644, 67644, 67647, 67742, 67751, 67759, 67808, 67829, 67835, 67867, 67871, 67897, 67903, 67903, 67968, 68023, 68028, 68047, 68050, 68102, 68108, 68147, 68152, 68154, 68159, 68167, 68176, 68184, 68192, 68255, 68288, 68326, 68331, 68342, 68352, 68405, 68409, 68437, 68440, 68466, 68472, 68497, 68505, 68508, 68521, 68527, 68608, 68680, 68736, 68786, 68800, 68850, 68858, 68863, 69216, 69246, 69632, 69709, 69714, 69743, 69759, 69825, 69840, 69864, 69872, 69881, 69888, 69955, 69968, 70006, 70016, 70093, 70096, 70132, 70144, 70206, 70272, 70313, 70320, 70378, 70384, 70393, 70400, 70412, 70415, 70416, 70419, 70457, 70460, 70468, 70471, 70472, 70475, 70477, 70480, 70480, 70487, 70487, 70493, 70499, 70502, 70508, 70512, 70516, 70656, 70749, 70784, 70855, 70864, 70873, 71040, 71093, 71096, 71133, 71168, 71236, 71248, 71257, 71264, 71276, 71296, 71351, 71360, 71369, 71424, 71449, 71453, 71467, 71472, 71487, 71840, 71922, 71935, 71935, 72192, 72263, 72272, 72323, 72326, 72354, 72384, 72440, 72704, 72773, 72784, 72812, 72816, 72847, 72850, 72886, 72960, 73014, 73018, 73031, 73040, 73049, 73728, 74649, 74752, 74868, 74880, 75075, 77824, 78894, 82944, 83526, 92160, 92728, 92736, 92777, 92782, 92783, 92880, 92909, 92912, 92917, 92928, 92997, 93008, 93047, 93053, 93071, 93952, 94020, 94032, 94078, 94095, 94111, 94176, 94177, 94208, 100332, 100352, 101106, 110592, 110878, 110960, 111355, 113664, 113770, 113776, 113788, 113792, 113800, 113808, 113817, 113820, 113823, 118784, 119029, 119040, 119078, 119081, 119154, 119163, 119272, 119296, 119365, 119552, 119638, 119648, 119665, 119808, 119967, 119970, 119970, 119973, 119974, 119977, 120074, 120077, 120134, 120138, 120485, 120488, 120779, 120782, 121483, 121499, 121519, 122880, 122904, 122907, 122922, 124928, 125124, 125127, 125142, 125184, 125258, 125264, 125273, 125278, 125279, 126464, 126500, 126503, 126523, 126530, 126530, 126535, 126548, 126551, 126564, 126567, 126619, 126625, 126651, 126704, 126705, 126976, 127019, 127024, 127123, 127136, 127150, 127153, 127221, 127232, 127244, 127248, 127339, 127344, 127404, 127462, 127490, 127504, 127547, 127552, 127560, 127568, 127569, 127584, 127589, 127744, 128724, 128736, 128748, 128752, 128760, 128768, 128883, 128896, 128980, 129024, 129035, 129040, 129095, 129104, 129113, 129120, 129159, 129168, 129197, 129280, 129291, 129296, 129356, 129360, 129387, 129408, 129431, 129472, 129472, 129488, 129510, 131072, 173782, 173824, 177972, 177984, 178205, 178208, 183969, 183984, 191456, 194560, 195101, 917760, 917999]); - isNotPrint32 = new sliceType$4([12, 39, 59, 62, 399, 926, 2057, 2102, 2134, 2291, 2564, 2580, 2584, 4285, 4405, 4576, 4626, 4743, 4745, 4750, 4766, 4868, 4905, 4913, 4916, 5210, 5212, 6813, 7177, 7223, 7336, 7431, 7434, 7483, 7486, 9327, 27231, 27482, 27490, 54357, 54429, 54445, 54458, 54460, 54468, 54534, 54549, 54557, 54586, 54591, 54597, 54609, 55968, 57351, 57378, 57381, 60932, 60960, 60963, 60968, 60979, 60984, 60986, 61000, 61002, 61004, 61008, 61011, 61016, 61018, 61020, 61022, 61024, 61027, 61035, 61043, 61048, 61053, 61055, 61066, 61092, 61098, 61632, 61648, 61743, 63807]); - isGraphic = new sliceType$4([160, 5760, 8192, 8193, 8194, 8195, 8196, 8197, 8198, 8199, 8200, 8201, 8202, 8239, 8287, 12288]); - /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f; - }; - $pkg.$init = $init; - return $pkg; -})(); -$packages["reflect"] = (function() { - var $pkg = {}, $init, errors, js, math, runtime, strconv, sync, unicode, utf8, uncommonType, funcType, name, nameData, mapIter, Type, Kind, tflag, rtype, typeAlg, method, ChanDir, arrayType, chanType, imethod, interfaceType, mapType, ptrType, sliceType, structField, structType, Method, nameOff, typeOff, textOff, StructField, StructTag, fieldScan, Value, flag, ValueError, sliceType$1, ptrType$1, sliceType$2, sliceType$3, ptrType$2, funcType$1, sliceType$4, ptrType$3, ptrType$4, sliceType$5, sliceType$6, sliceType$7, ptrType$5, ptrType$6, structType$3, sliceType$8, sliceType$9, sliceType$10, sliceType$11, arrayType$1, sliceType$12, ptrType$7, ptrType$8, sliceType$13, sliceType$14, ptrType$9, sliceType$15, ptrType$15, sliceType$17, ptrType$16, funcType$3, funcType$4, funcType$5, ptrType$17, arrayType$12, ptrType$18, initialized, uncommonTypeMap, nameMap, nameOffList, typeOffList, callHelper, jsObjectPtr, selectHelper, kindNames, uint8Type, init, jsType, reflectType, setKindType, newName, newNameOff, newTypeOff, internalStr, isWrapped, copyStruct, makeValue, MakeSlice, TypeOf, ValueOf, FuncOf, SliceOf, Zero, unsafe_New, makeInt, typedmemmove, makemap, keyFor, mapaccess, mapassign, mapdelete, mapiterinit, mapiterkey, mapiternext, maplen, cvtDirect, Copy, methodReceiver, valueInterface, ifaceE2I, methodName, makeMethodValue, wrapJsObject, unwrapJsObject, getJsTag, chanrecv, chansend, DeepEqual, deepValueEqualJs, Swapper, PtrTo, implements$1, directlyAssignable, haveIdenticalType, haveIdenticalUnderlyingType, toType, ifaceIndir, overflowFloat32, typesMustMatch, MakeMap, MakeMapWithSize, New, convertOp, makeFloat, makeComplex, makeString, makeBytes, makeRunes, cvtInt, cvtUint, cvtFloatInt, cvtFloatUint, cvtIntFloat, cvtUintFloat, cvtFloat, cvtComplex, cvtIntString, cvtUintString, cvtBytesString, cvtStringBytes, cvtRunesString, cvtStringRunes, cvtT2I, cvtI2I; - errors = $packages["errors"]; - js = $packages["github.com/gopherjs/gopherjs/js"]; - math = $packages["math"]; - runtime = $packages["runtime"]; - strconv = $packages["strconv"]; - sync = $packages["sync"]; - unicode = $packages["unicode"]; - utf8 = $packages["unicode/utf8"]; - uncommonType = $pkg.uncommonType = $newType(0, $kindStruct, "reflect.uncommonType", true, "reflect", false, function(pkgPath_, mcount_, xcount_, moff_, _methods_) { - this.$val = this; - if (arguments.length === 0) { - this.pkgPath = 0; - this.mcount = 0; - this.xcount = 0; - this.moff = 0; - this._methods = sliceType$5.nil; - return; - } - this.pkgPath = pkgPath_; - this.mcount = mcount_; - this.xcount = xcount_; - this.moff = moff_; - this._methods = _methods_; - }); - funcType = $pkg.funcType = $newType(0, $kindStruct, "reflect.funcType", true, "reflect", false, function(rtype_, inCount_, outCount_, _in_, _out_) { - this.$val = this; - if (arguments.length === 0) { - this.rtype = new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0); - this.inCount = 0; - this.outCount = 0; - this._in = sliceType$2.nil; - this._out = sliceType$2.nil; - return; - } - this.rtype = rtype_; - this.inCount = inCount_; - this.outCount = outCount_; - this._in = _in_; - this._out = _out_; - }); - name = $pkg.name = $newType(0, $kindStruct, "reflect.name", true, "reflect", false, function(bytes_) { - this.$val = this; - if (arguments.length === 0) { - this.bytes = ptrType$4.nil; - return; - } - this.bytes = bytes_; - }); - nameData = $pkg.nameData = $newType(0, $kindStruct, "reflect.nameData", true, "reflect", false, function(name_, tag_, exported_) { - this.$val = this; - if (arguments.length === 0) { - this.name = ""; - this.tag = ""; - this.exported = false; - return; - } - this.name = name_; - this.tag = tag_; - this.exported = exported_; - }); - mapIter = $pkg.mapIter = $newType(0, $kindStruct, "reflect.mapIter", true, "reflect", false, function(t_, m_, keys_, i_) { - this.$val = this; - if (arguments.length === 0) { - this.t = $ifaceNil; - this.m = null; - this.keys = null; - this.i = 0; - return; - } - this.t = t_; - this.m = m_; - this.keys = keys_; - this.i = i_; - }); - Type = $pkg.Type = $newType(8, $kindInterface, "reflect.Type", true, "reflect", true, null); - Kind = $pkg.Kind = $newType(4, $kindUint, "reflect.Kind", true, "reflect", true, null); - tflag = $pkg.tflag = $newType(1, $kindUint8, "reflect.tflag", true, "reflect", false, null); - rtype = $pkg.rtype = $newType(0, $kindStruct, "reflect.rtype", true, "reflect", false, function(size_, ptrdata_, hash_, tflag_, align_, fieldAlign_, kind_, alg_, gcdata_, str_, ptrToThis_) { - this.$val = this; - if (arguments.length === 0) { - this.size = 0; - this.ptrdata = 0; - this.hash = 0; - this.tflag = 0; - this.align = 0; - this.fieldAlign = 0; - this.kind = 0; - this.alg = ptrType$3.nil; - this.gcdata = ptrType$4.nil; - this.str = 0; - this.ptrToThis = 0; - return; - } - this.size = size_; - this.ptrdata = ptrdata_; - this.hash = hash_; - this.tflag = tflag_; - this.align = align_; - this.fieldAlign = fieldAlign_; - this.kind = kind_; - this.alg = alg_; - this.gcdata = gcdata_; - this.str = str_; - this.ptrToThis = ptrToThis_; - }); - typeAlg = $pkg.typeAlg = $newType(0, $kindStruct, "reflect.typeAlg", true, "reflect", false, function(hash_, equal_) { - this.$val = this; - if (arguments.length === 0) { - this.hash = $throwNilPointerError; - this.equal = $throwNilPointerError; - return; - } - this.hash = hash_; - this.equal = equal_; - }); - method = $pkg.method = $newType(0, $kindStruct, "reflect.method", true, "reflect", false, function(name_, mtyp_, ifn_, tfn_) { - this.$val = this; - if (arguments.length === 0) { - this.name = 0; - this.mtyp = 0; - this.ifn = 0; - this.tfn = 0; - return; - } - this.name = name_; - this.mtyp = mtyp_; - this.ifn = ifn_; - this.tfn = tfn_; - }); - ChanDir = $pkg.ChanDir = $newType(4, $kindInt, "reflect.ChanDir", true, "reflect", true, null); - arrayType = $pkg.arrayType = $newType(0, $kindStruct, "reflect.arrayType", true, "reflect", false, function(rtype_, elem_, slice_, len_) { - this.$val = this; - if (arguments.length === 0) { - this.rtype = new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0); - this.elem = ptrType$1.nil; - this.slice = ptrType$1.nil; - this.len = 0; - return; - } - this.rtype = rtype_; - this.elem = elem_; - this.slice = slice_; - this.len = len_; - }); - chanType = $pkg.chanType = $newType(0, $kindStruct, "reflect.chanType", true, "reflect", false, function(rtype_, elem_, dir_) { - this.$val = this; - if (arguments.length === 0) { - this.rtype = new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0); - this.elem = ptrType$1.nil; - this.dir = 0; - return; - } - this.rtype = rtype_; - this.elem = elem_; - this.dir = dir_; - }); - imethod = $pkg.imethod = $newType(0, $kindStruct, "reflect.imethod", true, "reflect", false, function(name_, typ_) { - this.$val = this; - if (arguments.length === 0) { - this.name = 0; - this.typ = 0; - return; - } - this.name = name_; - this.typ = typ_; - }); - interfaceType = $pkg.interfaceType = $newType(0, $kindStruct, "reflect.interfaceType", true, "reflect", false, function(rtype_, pkgPath_, methods_) { - this.$val = this; - if (arguments.length === 0) { - this.rtype = new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0); - this.pkgPath = new name.ptr(ptrType$4.nil); - this.methods = sliceType$6.nil; - return; - } - this.rtype = rtype_; - this.pkgPath = pkgPath_; - this.methods = methods_; - }); - mapType = $pkg.mapType = $newType(0, $kindStruct, "reflect.mapType", true, "reflect", false, function(rtype_, key_, elem_, bucket_, keysize_, indirectkey_, valuesize_, indirectvalue_, bucketsize_, reflexivekey_, needkeyupdate_) { - this.$val = this; - if (arguments.length === 0) { - this.rtype = new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0); - this.key = ptrType$1.nil; - this.elem = ptrType$1.nil; - this.bucket = ptrType$1.nil; - this.keysize = 0; - this.indirectkey = 0; - this.valuesize = 0; - this.indirectvalue = 0; - this.bucketsize = 0; - this.reflexivekey = false; - this.needkeyupdate = false; - return; - } - this.rtype = rtype_; - this.key = key_; - this.elem = elem_; - this.bucket = bucket_; - this.keysize = keysize_; - this.indirectkey = indirectkey_; - this.valuesize = valuesize_; - this.indirectvalue = indirectvalue_; - this.bucketsize = bucketsize_; - this.reflexivekey = reflexivekey_; - this.needkeyupdate = needkeyupdate_; - }); - ptrType = $pkg.ptrType = $newType(0, $kindStruct, "reflect.ptrType", true, "reflect", false, function(rtype_, elem_) { - this.$val = this; - if (arguments.length === 0) { - this.rtype = new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0); - this.elem = ptrType$1.nil; - return; - } - this.rtype = rtype_; - this.elem = elem_; - }); - sliceType = $pkg.sliceType = $newType(0, $kindStruct, "reflect.sliceType", true, "reflect", false, function(rtype_, elem_) { - this.$val = this; - if (arguments.length === 0) { - this.rtype = new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0); - this.elem = ptrType$1.nil; - return; - } - this.rtype = rtype_; - this.elem = elem_; - }); - structField = $pkg.structField = $newType(0, $kindStruct, "reflect.structField", true, "reflect", false, function(name_, typ_, offsetEmbed_) { - this.$val = this; - if (arguments.length === 0) { - this.name = new name.ptr(ptrType$4.nil); - this.typ = ptrType$1.nil; - this.offsetEmbed = 0; - return; - } - this.name = name_; - this.typ = typ_; - this.offsetEmbed = offsetEmbed_; - }); - structType = $pkg.structType = $newType(0, $kindStruct, "reflect.structType", true, "reflect", false, function(rtype_, pkgPath_, fields_) { - this.$val = this; - if (arguments.length === 0) { - this.rtype = new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0); - this.pkgPath = new name.ptr(ptrType$4.nil); - this.fields = sliceType$7.nil; - return; - } - this.rtype = rtype_; - this.pkgPath = pkgPath_; - this.fields = fields_; - }); - Method = $pkg.Method = $newType(0, $kindStruct, "reflect.Method", true, "reflect", true, function(Name_, PkgPath_, Type_, Func_, Index_) { - this.$val = this; - if (arguments.length === 0) { - this.Name = ""; - this.PkgPath = ""; - this.Type = $ifaceNil; - this.Func = new Value.ptr(ptrType$1.nil, 0, 0); - this.Index = 0; - return; - } - this.Name = Name_; - this.PkgPath = PkgPath_; - this.Type = Type_; - this.Func = Func_; - this.Index = Index_; - }); - nameOff = $pkg.nameOff = $newType(4, $kindInt32, "reflect.nameOff", true, "reflect", false, null); - typeOff = $pkg.typeOff = $newType(4, $kindInt32, "reflect.typeOff", true, "reflect", false, null); - textOff = $pkg.textOff = $newType(4, $kindInt32, "reflect.textOff", true, "reflect", false, null); - StructField = $pkg.StructField = $newType(0, $kindStruct, "reflect.StructField", true, "reflect", true, function(Name_, PkgPath_, Type_, Tag_, Offset_, Index_, Anonymous_) { - this.$val = this; - if (arguments.length === 0) { - this.Name = ""; - this.PkgPath = ""; - this.Type = $ifaceNil; - this.Tag = ""; - this.Offset = 0; - this.Index = sliceType$13.nil; - this.Anonymous = false; - return; - } - this.Name = Name_; - this.PkgPath = PkgPath_; - this.Type = Type_; - this.Tag = Tag_; - this.Offset = Offset_; - this.Index = Index_; - this.Anonymous = Anonymous_; - }); - StructTag = $pkg.StructTag = $newType(8, $kindString, "reflect.StructTag", true, "reflect", true, null); - fieldScan = $pkg.fieldScan = $newType(0, $kindStruct, "reflect.fieldScan", true, "reflect", false, function(typ_, index_) { - this.$val = this; - if (arguments.length === 0) { - this.typ = ptrType$9.nil; - this.index = sliceType$13.nil; - return; - } - this.typ = typ_; - this.index = index_; - }); - Value = $pkg.Value = $newType(0, $kindStruct, "reflect.Value", true, "reflect", true, function(typ_, ptr_, flag_) { - this.$val = this; - if (arguments.length === 0) { - this.typ = ptrType$1.nil; - this.ptr = 0; - this.flag = 0; - return; - } - this.typ = typ_; - this.ptr = ptr_; - this.flag = flag_; - }); - flag = $pkg.flag = $newType(4, $kindUintptr, "reflect.flag", true, "reflect", false, null); - ValueError = $pkg.ValueError = $newType(0, $kindStruct, "reflect.ValueError", true, "reflect", true, function(Method_, Kind_) { - this.$val = this; - if (arguments.length === 0) { - this.Method = ""; - this.Kind = 0; - return; - } - this.Method = Method_; - this.Kind = Kind_; - }); - sliceType$1 = $sliceType(name); - ptrType$1 = $ptrType(rtype); - sliceType$2 = $sliceType(ptrType$1); - sliceType$3 = $sliceType($emptyInterface); - ptrType$2 = $ptrType(js.Object); - funcType$1 = $funcType([sliceType$3], [ptrType$2], true); - sliceType$4 = $sliceType($String); - ptrType$3 = $ptrType(typeAlg); - ptrType$4 = $ptrType($Uint8); - sliceType$5 = $sliceType(method); - sliceType$6 = $sliceType(imethod); - sliceType$7 = $sliceType(structField); - ptrType$5 = $ptrType(uncommonType); - ptrType$6 = $ptrType(nameData); - structType$3 = $structType("reflect", [{prop: "str", name: "str", embedded: false, exported: false, typ: $String, tag: ""}]); - sliceType$8 = $sliceType(ptrType$2); - sliceType$9 = $sliceType(Value); - sliceType$10 = $sliceType(Type); - sliceType$11 = $sliceType(sliceType$8); - arrayType$1 = $arrayType($UnsafePointer, 2); - sliceType$12 = $sliceType(arrayType$1); - ptrType$7 = $ptrType(interfaceType); - ptrType$8 = $ptrType(imethod); - sliceType$13 = $sliceType($Int); - sliceType$14 = $sliceType(fieldScan); - ptrType$9 = $ptrType(structType); - sliceType$15 = $sliceType($Uint8); - ptrType$15 = $ptrType($UnsafePointer); - sliceType$17 = $sliceType($Int32); - ptrType$16 = $ptrType(funcType); - funcType$3 = $funcType([$String], [$Bool], false); - funcType$4 = $funcType([$UnsafePointer, $Uintptr], [$Uintptr], false); - funcType$5 = $funcType([$UnsafePointer, $UnsafePointer], [$Bool], false); - ptrType$17 = $ptrType(structField); - arrayType$12 = $arrayType($Uintptr, 2); - ptrType$18 = $ptrType(ValueError); - init = function() { - var used, x, x$1, x$10, x$11, x$12, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; used = $f.used; x = $f.x; x$1 = $f.x$1; x$10 = $f.x$10; x$11 = $f.x$11; x$12 = $f.x$12; x$2 = $f.x$2; x$3 = $f.x$3; x$4 = $f.x$4; x$5 = $f.x$5; x$6 = $f.x$6; x$7 = $f.x$7; x$8 = $f.x$8; x$9 = $f.x$9; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - used = (function(i) { - var i; - }); - $r = used((x = new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), new x.constructor.elem(x))); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = used((x$1 = new uncommonType.ptr(0, 0, 0, 0, sliceType$5.nil), new x$1.constructor.elem(x$1))); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = used((x$2 = new method.ptr(0, 0, 0, 0), new x$2.constructor.elem(x$2))); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = used((x$3 = new arrayType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), ptrType$1.nil, ptrType$1.nil, 0), new x$3.constructor.elem(x$3))); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = used((x$4 = new chanType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), ptrType$1.nil, 0), new x$4.constructor.elem(x$4))); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = used((x$5 = new funcType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), 0, 0, sliceType$2.nil, sliceType$2.nil), new x$5.constructor.elem(x$5))); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = used((x$6 = new interfaceType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), new name.ptr(ptrType$4.nil), sliceType$6.nil), new x$6.constructor.elem(x$6))); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = used((x$7 = new mapType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), ptrType$1.nil, ptrType$1.nil, ptrType$1.nil, 0, 0, 0, 0, 0, false, false), new x$7.constructor.elem(x$7))); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = used((x$8 = new ptrType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), ptrType$1.nil), new x$8.constructor.elem(x$8))); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = used((x$9 = new sliceType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), ptrType$1.nil), new x$9.constructor.elem(x$9))); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = used((x$10 = new structType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), new name.ptr(ptrType$4.nil), sliceType$7.nil), new x$10.constructor.elem(x$10))); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = used((x$11 = new imethod.ptr(0, 0), new x$11.constructor.elem(x$11))); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = used((x$12 = new structField.ptr(new name.ptr(ptrType$4.nil), ptrType$1.nil, 0), new x$12.constructor.elem(x$12))); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - initialized = true; - uint8Type = $assertType(TypeOf(new $Uint8(0)), ptrType$1); - $s = -1; return; - /* */ } return; } if ($f === undefined) { $f = { $blk: init }; } $f.used = used; $f.x = x; $f.x$1 = x$1; $f.x$10 = x$10; $f.x$11 = x$11; $f.x$12 = x$12; $f.x$2 = x$2; $f.x$3 = x$3; $f.x$4 = x$4; $f.x$5 = x$5; $f.x$6 = x$6; $f.x$7 = x$7; $f.x$8 = x$8; $f.x$9 = x$9; $f.$s = $s; $f.$r = $r; return $f; - }; - jsType = function(typ) { - var typ; - return typ.jsType; - }; - reflectType = function(typ) { - var _1, _i, _i$1, _i$2, _i$3, _key, _ref, _ref$1, _ref$2, _ref$3, dir, exported, exported$1, f, fields, i, i$1, i$2, i$3, i$4, i$5, imethods, in$1, m, m$1, m$2, methodSet, methods, offsetEmbed, out, outCount, params, reflectFields, reflectMethods, results, rt, typ, ut, xcount; - if (typ.reflectType === undefined) { - rt = new rtype.ptr(((($parseInt(typ.size) >> 0) >>> 0)), 0, 0, 0, 0, 0, ((($parseInt(typ.kind) >> 0) << 24 >>> 24)), ptrType$3.nil, ptrType$4.nil, newNameOff($clone(newName(internalStr(typ.string), "", !!(typ.exported)), name)), 0); - rt.jsType = typ; - typ.reflectType = rt; - methodSet = $methodSet(typ); - if (!(($parseInt(methodSet.length) === 0)) || !!(typ.named)) { - rt.tflag = (rt.tflag | (1)) >>> 0; - if (!!(typ.named)) { - rt.tflag = (rt.tflag | (4)) >>> 0; - } - reflectMethods = sliceType$5.nil; - i = 0; - while (true) { - if (!(i < $parseInt(methodSet.length))) { break; } - m = methodSet[i]; - exported = internalStr(m.pkg) === ""; - if (!exported) { - i = i + (1) >> 0; - continue; - } - reflectMethods = $append(reflectMethods, new method.ptr(newNameOff($clone(newName(internalStr(m.name), "", exported), name)), newTypeOff(reflectType(m.typ)), 0, 0)); - i = i + (1) >> 0; - } - xcount = ((reflectMethods.$length << 16 >>> 16)); - i$1 = 0; - while (true) { - if (!(i$1 < $parseInt(methodSet.length))) { break; } - m$1 = methodSet[i$1]; - exported$1 = internalStr(m$1.pkg) === ""; - if (exported$1) { - i$1 = i$1 + (1) >> 0; - continue; - } - reflectMethods = $append(reflectMethods, new method.ptr(newNameOff($clone(newName(internalStr(m$1.name), "", exported$1), name)), newTypeOff(reflectType(m$1.typ)), 0, 0)); - i$1 = i$1 + (1) >> 0; - } - ut = new uncommonType.ptr(newNameOff($clone(newName(internalStr(typ.pkg), "", false), name)), (($parseInt(methodSet.length) << 16 >>> 16)), xcount, 0, reflectMethods); - _key = rt; (uncommonTypeMap || $throwRuntimeError("assignment to entry in nil map"))[ptrType$1.keyFor(_key)] = { k: _key, v: ut }; - ut.jsType = typ; - } - _1 = rt.Kind(); - if (_1 === (17)) { - setKindType(rt, new arrayType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), reflectType(typ.elem), ptrType$1.nil, ((($parseInt(typ.len) >> 0) >>> 0)))); - } else if (_1 === (18)) { - dir = 3; - if (!!(typ.sendOnly)) { - dir = 2; - } - if (!!(typ.recvOnly)) { - dir = 1; - } - setKindType(rt, new chanType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), reflectType(typ.elem), ((dir >>> 0)))); - } else if (_1 === (19)) { - params = typ.params; - in$1 = $makeSlice(sliceType$2, $parseInt(params.length)); - _ref = in$1; - _i = 0; - while (true) { - if (!(_i < _ref.$length)) { break; } - i$2 = _i; - ((i$2 < 0 || i$2 >= in$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : in$1.$array[in$1.$offset + i$2] = reflectType(params[i$2])); - _i++; - } - results = typ.results; - out = $makeSlice(sliceType$2, $parseInt(results.length)); - _ref$1 = out; - _i$1 = 0; - while (true) { - if (!(_i$1 < _ref$1.$length)) { break; } - i$3 = _i$1; - ((i$3 < 0 || i$3 >= out.$length) ? ($throwRuntimeError("index out of range"), undefined) : out.$array[out.$offset + i$3] = reflectType(results[i$3])); - _i$1++; - } - outCount = (($parseInt(results.length) << 16 >>> 16)); - if (!!(typ.variadic)) { - outCount = (outCount | (32768)) >>> 0; - } - setKindType(rt, new funcType.ptr($clone(rt, rtype), (($parseInt(params.length) << 16 >>> 16)), outCount, in$1, out)); - } else if (_1 === (20)) { - methods = typ.methods; - imethods = $makeSlice(sliceType$6, $parseInt(methods.length)); - _ref$2 = imethods; - _i$2 = 0; - while (true) { - if (!(_i$2 < _ref$2.$length)) { break; } - i$4 = _i$2; - m$2 = methods[i$4]; - imethod.copy(((i$4 < 0 || i$4 >= imethods.$length) ? ($throwRuntimeError("index out of range"), undefined) : imethods.$array[imethods.$offset + i$4]), new imethod.ptr(newNameOff($clone(newName(internalStr(m$2.name), "", internalStr(m$2.pkg) === ""), name)), newTypeOff(reflectType(m$2.typ)))); - _i$2++; - } - setKindType(rt, new interfaceType.ptr($clone(rt, rtype), $clone(newName(internalStr(typ.pkg), "", false), name), imethods)); - } else if (_1 === (21)) { - setKindType(rt, new mapType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), reflectType(typ.key), reflectType(typ.elem), ptrType$1.nil, 0, 0, 0, 0, 0, false, false)); - } else if (_1 === (22)) { - setKindType(rt, new ptrType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), reflectType(typ.elem))); - } else if (_1 === (23)) { - setKindType(rt, new sliceType.ptr(new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0), reflectType(typ.elem))); - } else if (_1 === (25)) { - fields = typ.fields; - reflectFields = $makeSlice(sliceType$7, $parseInt(fields.length)); - _ref$3 = reflectFields; - _i$3 = 0; - while (true) { - if (!(_i$3 < _ref$3.$length)) { break; } - i$5 = _i$3; - f = fields[i$5]; - offsetEmbed = ((i$5 >>> 0)) << 1 >>> 0; - if (!!(f.embedded)) { - offsetEmbed = (offsetEmbed | (1)) >>> 0; - } - structField.copy(((i$5 < 0 || i$5 >= reflectFields.$length) ? ($throwRuntimeError("index out of range"), undefined) : reflectFields.$array[reflectFields.$offset + i$5]), new structField.ptr($clone(newName(internalStr(f.name), internalStr(f.tag), !!(f.exported)), name), reflectType(f.typ), offsetEmbed)); - _i$3++; - } - setKindType(rt, new structType.ptr($clone(rt, rtype), $clone(newName(internalStr(typ.pkgPath), "", false), name), reflectFields)); - } - } - return ((typ.reflectType)); - }; - setKindType = function(rt, kindType) { - var kindType, rt; - rt.kindType = kindType; - kindType.rtype = rt; - }; - uncommonType.ptr.prototype.methods = function() { - var t; - t = this; - return t._methods; - }; - uncommonType.prototype.methods = function() { return this.$val.methods(); }; - uncommonType.ptr.prototype.exportedMethods = function() { - var t; - t = this; - return $subslice(t._methods, 0, t.xcount, t.xcount); - }; - uncommonType.prototype.exportedMethods = function() { return this.$val.exportedMethods(); }; - rtype.ptr.prototype.uncommon = function() { - var _entry, t; - t = this; - return (_entry = uncommonTypeMap[ptrType$1.keyFor(t)], _entry !== undefined ? _entry.v : ptrType$5.nil); - }; - rtype.prototype.uncommon = function() { return this.$val.uncommon(); }; - funcType.ptr.prototype.in$ = function() { - var t; - t = this; - return t._in; - }; - funcType.prototype.in$ = function() { return this.$val.in$(); }; - funcType.ptr.prototype.out = function() { - var t; - t = this; - return t._out; - }; - funcType.prototype.out = function() { return this.$val.out(); }; - name.ptr.prototype.name = function() { - var _entry, n, s; - s = ""; - n = this; - s = (_entry = nameMap[ptrType$4.keyFor(n.bytes)], _entry !== undefined ? _entry.v : ptrType$6.nil).name; - return s; - }; - name.prototype.name = function() { return this.$val.name(); }; - name.ptr.prototype.tag = function() { - var _entry, n, s; - s = ""; - n = this; - s = (_entry = nameMap[ptrType$4.keyFor(n.bytes)], _entry !== undefined ? _entry.v : ptrType$6.nil).tag; - return s; - }; - name.prototype.tag = function() { return this.$val.tag(); }; - name.ptr.prototype.pkgPath = function() { - var n; - n = this; - return ""; - }; - name.prototype.pkgPath = function() { return this.$val.pkgPath(); }; - name.ptr.prototype.isExported = function() { - var _entry, n; - n = this; - return (_entry = nameMap[ptrType$4.keyFor(n.bytes)], _entry !== undefined ? _entry.v : ptrType$6.nil).exported; - }; - name.prototype.isExported = function() { return this.$val.isExported(); }; - newName = function(n, tag, exported) { - var _key, b, exported, n, tag; - b = $newDataPointer(0, ptrType$4); - _key = b; (nameMap || $throwRuntimeError("assignment to entry in nil map"))[ptrType$4.keyFor(_key)] = { k: _key, v: new nameData.ptr(n, tag, exported) }; - return new name.ptr(b); - }; - rtype.ptr.prototype.nameOff = function(off) { - var off, t, x; - t = this; - return (x = ((off >> 0)), ((x < 0 || x >= nameOffList.$length) ? ($throwRuntimeError("index out of range"), undefined) : nameOffList.$array[nameOffList.$offset + x])); - }; - rtype.prototype.nameOff = function(off) { return this.$val.nameOff(off); }; - newNameOff = function(n) { - var i, n; - i = nameOffList.$length; - nameOffList = $append(nameOffList, n); - return ((i >> 0)); - }; - rtype.ptr.prototype.typeOff = function(off) { - var off, t, x; - t = this; - return (x = ((off >> 0)), ((x < 0 || x >= typeOffList.$length) ? ($throwRuntimeError("index out of range"), undefined) : typeOffList.$array[typeOffList.$offset + x])); - }; - rtype.prototype.typeOff = function(off) { return this.$val.typeOff(off); }; - newTypeOff = function(t) { - var i, t; - i = typeOffList.$length; - typeOffList = $append(typeOffList, t); - return ((i >> 0)); - }; - internalStr = function(strObj) { - var c, strObj; - c = new structType$3.ptr(""); - c.str = strObj; - return c.str; - }; - isWrapped = function(typ) { - var typ; - return !!(jsType(typ).wrapped); - }; - copyStruct = function(dst, src, typ) { - var dst, fields, i, prop, src, typ; - fields = jsType(typ).fields; - i = 0; - while (true) { - if (!(i < $parseInt(fields.length))) { break; } - prop = $internalize(fields[i].prop, $String); - dst[$externalize(prop, $String)] = src[$externalize(prop, $String)]; - i = i + (1) >> 0; - } - }; - makeValue = function(t, v, fl) { - var _r, _r$1, _r$2, _r$3, _r$4, _r$5, _v, _v$1, fl, rt, t, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _v = $f._v; _v$1 = $f._v$1; fl = $f.fl; rt = $f.rt; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - _r = t.common(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - rt = _r; - _r$1 = t.Kind(); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - if (_r$1 === 17) { _v$1 = true; $s = 5; continue s; } - _r$2 = t.Kind(); /* */ $s = 7; case 7: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } - _v$1 = _r$2 === 25; case 5: - if (_v$1) { _v = true; $s = 4; continue s; } - _r$3 = t.Kind(); /* */ $s = 8; case 8: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; } - _v = _r$3 === 22; case 4: - /* */ if (_v) { $s = 2; continue; } - /* */ $s = 3; continue; - /* if (_v) { */ case 2: - _r$4 = t.Kind(); /* */ $s = 9; case 9: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; } - $s = -1; return new Value.ptr(rt, (v), (fl | ((_r$4 >>> 0))) >>> 0); - /* } */ case 3: - _r$5 = t.Kind(); /* */ $s = 10; case 10: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; } - $s = -1; return new Value.ptr(rt, ($newDataPointer(v, jsType(rt.ptrTo()))), (((fl | ((_r$5 >>> 0))) >>> 0) | 128) >>> 0); - /* */ } return; } if ($f === undefined) { $f = { $blk: makeValue }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._v = _v; $f._v$1 = _v$1; $f.fl = fl; $f.rt = rt; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - MakeSlice = function(typ, len, cap) { - var _r, _r$1, cap, len, typ, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; cap = $f.cap; len = $f.len; typ = $f.typ; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - typ = [typ]; - _r = typ[0].Kind(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - /* */ if (!((_r === 23))) { $s = 1; continue; } - /* */ $s = 2; continue; - /* if (!((_r === 23))) { */ case 1: - $panic(new $String("reflect.MakeSlice of non-slice type")); - /* } */ case 2: - if (len < 0) { - $panic(new $String("reflect.MakeSlice: negative len")); - } - if (cap < 0) { - $panic(new $String("reflect.MakeSlice: negative cap")); - } - if (len > cap) { - $panic(new $String("reflect.MakeSlice: len > cap")); - } - _r$1 = makeValue(typ[0], $makeSlice(jsType(typ[0]), len, cap, (function(typ) { return function $b() { - var _r$1, _r$2, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r$1 = $f._r$1; _r$2 = $f._r$2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - _r$1 = typ[0].Elem(); /* */ $s = 1; case 1: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - _r$2 = jsType(_r$1); /* */ $s = 2; case 2: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } - $s = -1; return _r$2.zero(); - /* */ } return; } if ($f === undefined) { $f = { $blk: $b }; } $f._r$1 = _r$1; $f._r$2 = _r$2; $f.$s = $s; $f.$r = $r; return $f; - }; })(typ)), 0); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - $s = -1; return _r$1; - /* */ } return; } if ($f === undefined) { $f = { $blk: MakeSlice }; } $f._r = _r; $f._r$1 = _r$1; $f.cap = cap; $f.len = len; $f.typ = typ; $f.$s = $s; $f.$r = $r; return $f; - }; - $pkg.MakeSlice = MakeSlice; - TypeOf = function(i) { - var i; - if (!initialized) { - return new rtype.ptr(0, 0, 0, 0, 0, 0, 0, ptrType$3.nil, ptrType$4.nil, 0, 0); - } - if ($interfaceIsEqual(i, $ifaceNil)) { - return $ifaceNil; - } - return reflectType(i.constructor); - }; - $pkg.TypeOf = TypeOf; - ValueOf = function(i) { - var _r, i, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; i = $f.i; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - if ($interfaceIsEqual(i, $ifaceNil)) { - $s = -1; return new Value.ptr(ptrType$1.nil, 0, 0); - } - _r = makeValue(reflectType(i.constructor), i.$val, 0); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - $s = -1; return _r; - /* */ } return; } if ($f === undefined) { $f = { $blk: ValueOf }; } $f._r = _r; $f.i = i; $f.$s = $s; $f.$r = $r; return $f; - }; - $pkg.ValueOf = ValueOf; - FuncOf = function(in$1, out, variadic) { - var _i, _i$1, _r, _ref, _ref$1, _v, _v$1, i, i$1, in$1, jsIn, jsOut, out, v, v$1, variadic, x, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _i$1 = $f._i$1; _r = $f._r; _ref = $f._ref; _ref$1 = $f._ref$1; _v = $f._v; _v$1 = $f._v$1; i = $f.i; i$1 = $f.i$1; in$1 = $f.in$1; jsIn = $f.jsIn; jsOut = $f.jsOut; out = $f.out; v = $f.v; v$1 = $f.v$1; variadic = $f.variadic; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - if (!(variadic)) { _v = false; $s = 3; continue s; } - if (in$1.$length === 0) { _v$1 = true; $s = 4; continue s; } - _r = (x = in$1.$length - 1 >> 0, ((x < 0 || x >= in$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : in$1.$array[in$1.$offset + x])).Kind(); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - _v$1 = !((_r === 23)); case 4: - _v = _v$1; case 3: - /* */ if (_v) { $s = 1; continue; } - /* */ $s = 2; continue; - /* if (_v) { */ case 1: - $panic(new $String("reflect.FuncOf: last arg of variadic func must be slice")); - /* } */ case 2: - jsIn = $makeSlice(sliceType$8, in$1.$length); - _ref = in$1; - _i = 0; - while (true) { - if (!(_i < _ref.$length)) { break; } - i = _i; - v = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]); - ((i < 0 || i >= jsIn.$length) ? ($throwRuntimeError("index out of range"), undefined) : jsIn.$array[jsIn.$offset + i] = jsType(v)); - _i++; - } - jsOut = $makeSlice(sliceType$8, out.$length); - _ref$1 = out; - _i$1 = 0; - while (true) { - if (!(_i$1 < _ref$1.$length)) { break; } - i$1 = _i$1; - v$1 = ((_i$1 < 0 || _i$1 >= _ref$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$1.$array[_ref$1.$offset + _i$1]); - ((i$1 < 0 || i$1 >= jsOut.$length) ? ($throwRuntimeError("index out of range"), undefined) : jsOut.$array[jsOut.$offset + i$1] = jsType(v$1)); - _i$1++; - } - $s = -1; return reflectType($funcType($externalize(jsIn, sliceType$8), $externalize(jsOut, sliceType$8), $externalize(variadic, $Bool))); - /* */ } return; } if ($f === undefined) { $f = { $blk: FuncOf }; } $f._i = _i; $f._i$1 = _i$1; $f._r = _r; $f._ref = _ref; $f._ref$1 = _ref$1; $f._v = _v; $f._v$1 = _v$1; $f.i = i; $f.i$1 = i$1; $f.in$1 = in$1; $f.jsIn = jsIn; $f.jsOut = jsOut; $f.out = out; $f.v = v; $f.v$1 = v$1; $f.variadic = variadic; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; - }; - $pkg.FuncOf = FuncOf; - rtype.ptr.prototype.ptrTo = function() { - var t; - t = this; - return reflectType($ptrType(jsType(t))); - }; - rtype.prototype.ptrTo = function() { return this.$val.ptrTo(); }; - SliceOf = function(t) { - var t; - return reflectType($sliceType(jsType(t))); - }; - $pkg.SliceOf = SliceOf; - Zero = function(typ) { - var _r, typ, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; typ = $f.typ; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - _r = makeValue(typ, jsType(typ).zero(), 0); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - $s = -1; return _r; - /* */ } return; } if ($f === undefined) { $f = { $blk: Zero }; } $f._r = _r; $f.typ = typ; $f.$s = $s; $f.$r = $r; return $f; - }; - $pkg.Zero = Zero; - unsafe_New = function(typ) { - var _1, typ; - _1 = typ.Kind(); - if (_1 === (25)) { - return (new (jsType(typ).ptr)()); - } else if (_1 === (17)) { - return (jsType(typ).zero()); - } else { - return ($newDataPointer(jsType(typ).zero(), jsType(typ.ptrTo()))); - } - }; - makeInt = function(f, bits, t) { - var _1, _r, bits, f, ptr, t, typ, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; bits = $f.bits; f = $f.f; ptr = $f.ptr; t = $f.t; typ = $f.typ; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - _r = t.common(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - typ = _r; - ptr = unsafe_New(typ); - _1 = typ.Kind(); - if (_1 === (3)) { - (ptr).$set(((bits.$low << 24 >> 24))); - } else if (_1 === (4)) { - (ptr).$set(((bits.$low << 16 >> 16))); - } else if ((_1 === (2)) || (_1 === (5))) { - (ptr).$set(((bits.$low >> 0))); - } else if (_1 === (6)) { - (ptr).$set((new $Int64(bits.$high, bits.$low))); - } else if (_1 === (8)) { - (ptr).$set(((bits.$low << 24 >>> 24))); - } else if (_1 === (9)) { - (ptr).$set(((bits.$low << 16 >>> 16))); - } else if ((_1 === (7)) || (_1 === (10)) || (_1 === (12))) { - (ptr).$set(((bits.$low >>> 0))); - } else if (_1 === (11)) { - (ptr).$set((bits)); - } - $s = -1; return new Value.ptr(typ, ptr, (((f | 128) >>> 0) | ((typ.Kind() >>> 0))) >>> 0); - /* */ } return; } if ($f === undefined) { $f = { $blk: makeInt }; } $f._1 = _1; $f._r = _r; $f.bits = bits; $f.f = f; $f.ptr = ptr; $f.t = t; $f.typ = typ; $f.$s = $s; $f.$r = $r; return $f; - }; - typedmemmove = function(t, dst, src) { - var dst, src, t; - dst.$set(src.$get()); - }; - makemap = function(t, cap) { - var cap, m, t; - m = 0; - m = (new ($global.Object)()); - return m; - }; - keyFor = function(t, key) { - var k, key, kv, t; - kv = key; - if (!(kv.$get === undefined)) { - kv = kv.$get(); - } - k = $internalize(jsType(t.Key()).keyFor(kv), $String); - return [kv, k]; - }; - mapaccess = function(t, m, key) { - var _tuple, entry, k, key, m, t; - _tuple = keyFor(t, key); - k = _tuple[1]; - entry = m[$externalize(k, $String)]; - if (entry === undefined) { - return 0; - } - return ($newDataPointer(entry.v, jsType(PtrTo(t.Elem())))); - }; - mapassign = function(t, m, key, val) { - var _r, _tuple, entry, et, jsVal, k, key, kv, m, newVal, t, val, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; entry = $f.entry; et = $f.et; jsVal = $f.jsVal; k = $f.k; key = $f.key; kv = $f.kv; m = $f.m; newVal = $f.newVal; t = $f.t; val = $f.val; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - _tuple = keyFor(t, key); - kv = _tuple[0]; - k = _tuple[1]; - jsVal = val.$get(); - et = t.Elem(); - _r = et.Kind(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - /* */ if (_r === 25) { $s = 1; continue; } - /* */ $s = 2; continue; - /* if (_r === 25) { */ case 1: - newVal = jsType(et).zero(); - copyStruct(newVal, jsVal, et); - jsVal = newVal; - /* } */ case 2: - entry = new ($global.Object)(); - entry.k = kv; - entry.v = jsVal; - m[$externalize(k, $String)] = entry; - $s = -1; return; - /* */ } return; } if ($f === undefined) { $f = { $blk: mapassign }; } $f._r = _r; $f._tuple = _tuple; $f.entry = entry; $f.et = et; $f.jsVal = jsVal; $f.k = k; $f.key = key; $f.kv = kv; $f.m = m; $f.newVal = newVal; $f.t = t; $f.val = val; $f.$s = $s; $f.$r = $r; return $f; - }; - mapdelete = function(t, m, key) { - var _tuple, k, key, m, t; - _tuple = keyFor(t, key); - k = _tuple[1]; - delete m[$externalize(k, $String)]; - }; - mapiterinit = function(t, m) { - var m, t; - return ((new mapIter.ptr(t, m, $keys(m), 0))); - }; - mapiterkey = function(it) { - var _r, _r$1, _r$2, it, iter, k, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; it = $f.it; iter = $f.iter; k = $f.k; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - iter = ((it)); - k = iter.keys[iter.i]; - _r = iter.t.Key(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - _r$1 = PtrTo(_r); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - _r$2 = jsType(_r$1); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } - $s = -1; return ($newDataPointer(iter.m[$externalize($internalize(k, $String), $String)].k, _r$2)); - /* */ } return; } if ($f === undefined) { $f = { $blk: mapiterkey }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.it = it; $f.iter = iter; $f.k = k; $f.$s = $s; $f.$r = $r; return $f; - }; - mapiternext = function(it) { - var it, iter; - iter = ((it)); - iter.i = iter.i + (1) >> 0; - }; - maplen = function(m) { - var m; - return $parseInt($keys(m).length); - }; - cvtDirect = function(v, typ) { - var _1, _arg, _arg$1, _arg$2, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, k, slice, srcVal, typ, v, val, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; k = $f.k; slice = $f.slice; srcVal = $f.srcVal; typ = $f.typ; v = $f.v; val = $f.val; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - srcVal = $clone(v, Value).object(); - /* */ if (srcVal === jsType(v.typ).nil) { $s = 1; continue; } - /* */ $s = 2; continue; - /* if (srcVal === jsType(v.typ).nil) { */ case 1: - _r = makeValue(typ, jsType(typ).nil, v.flag); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - $s = -1; return _r; - /* } */ case 2: - val = null; - _r$1 = typ.Kind(); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - k = _r$1; - _1 = k; - /* */ if (_1 === (23)) { $s = 6; continue; } - /* */ if (_1 === (22)) { $s = 7; continue; } - /* */ if (_1 === (25)) { $s = 8; continue; } - /* */ if ((_1 === (17)) || (_1 === (1)) || (_1 === (18)) || (_1 === (19)) || (_1 === (20)) || (_1 === (21)) || (_1 === (24))) { $s = 9; continue; } - /* */ $s = 10; continue; - /* if (_1 === (23)) { */ case 6: - slice = new (jsType(typ))(srcVal.$array); - slice.$offset = srcVal.$offset; - slice.$length = srcVal.$length; - slice.$capacity = srcVal.$capacity; - val = $newDataPointer(slice, jsType(PtrTo(typ))); - $s = 11; continue; - /* } else if (_1 === (22)) { */ case 7: - _r$2 = typ.Elem(); /* */ $s = 14; case 14: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } - _r$3 = _r$2.Kind(); /* */ $s = 15; case 15: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; } - /* */ if (_r$3 === 25) { $s = 12; continue; } - /* */ $s = 13; continue; - /* if (_r$3 === 25) { */ case 12: - _r$4 = typ.Elem(); /* */ $s = 18; case 18: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; } - /* */ if ($interfaceIsEqual(_r$4, v.typ.Elem())) { $s = 16; continue; } - /* */ $s = 17; continue; - /* if ($interfaceIsEqual(_r$4, v.typ.Elem())) { */ case 16: - val = srcVal; - /* break; */ $s = 4; continue; - /* } */ case 17: - val = new (jsType(typ))(); - _arg = val; - _arg$1 = srcVal; - _r$5 = typ.Elem(); /* */ $s = 19; case 19: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; } - _arg$2 = _r$5; - $r = copyStruct(_arg, _arg$1, _arg$2); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - /* break; */ $s = 4; continue; - /* } */ case 13: - val = new (jsType(typ))(srcVal.$get, srcVal.$set); - $s = 11; continue; - /* } else if (_1 === (25)) { */ case 8: - val = new (jsType(typ).ptr)(); - copyStruct(val, srcVal, typ); - $s = 11; continue; - /* } else if ((_1 === (17)) || (_1 === (1)) || (_1 === (18)) || (_1 === (19)) || (_1 === (20)) || (_1 === (21)) || (_1 === (24))) { */ case 9: - val = v.ptr; - $s = 11; continue; - /* } else { */ case 10: - $panic(new ValueError.ptr("reflect.Convert", k)); - /* } */ case 11: - case 4: - _r$6 = typ.common(); /* */ $s = 21; case 21: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; } - _r$7 = typ.Kind(); /* */ $s = 22; case 22: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; } - $s = -1; return new Value.ptr(_r$6, (val), (((new flag(v.flag).ro() | ((v.flag & 128) >>> 0)) >>> 0) | ((_r$7 >>> 0))) >>> 0); - /* */ } return; } if ($f === undefined) { $f = { $blk: cvtDirect }; } $f._1 = _1; $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f.k = k; $f.slice = slice; $f.srcVal = srcVal; $f.typ = typ; $f.v = v; $f.val = val; $f.$s = $s; $f.$r = $r; return $f; - }; - Copy = function(dst, src) { - var _r, _v, dk, dst, dstVal, sk, src, srcVal, stringCopy, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _v = $f._v; dk = $f.dk; dst = $f.dst; dstVal = $f.dstVal; sk = $f.sk; src = $f.src; srcVal = $f.srcVal; stringCopy = $f.stringCopy; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - dk = new flag(dst.flag).kind(); - if (!((dk === 17)) && !((dk === 23))) { - $panic(new ValueError.ptr("reflect.Copy", dk)); - } - if (dk === 17) { - new flag(dst.flag).mustBeAssignable(); - } - new flag(dst.flag).mustBeExported(); - sk = new flag(src.flag).kind(); - stringCopy = false; - /* */ if (!((sk === 17)) && !((sk === 23))) { $s = 1; continue; } - /* */ $s = 2; continue; - /* if (!((sk === 17)) && !((sk === 23))) { */ case 1: - if (!(sk === 24)) { _v = false; $s = 3; continue s; } - _r = dst.typ.Elem().Kind(); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - _v = _r === 8; case 3: - stringCopy = _v; - if (!stringCopy) { - $panic(new ValueError.ptr("reflect.Copy", sk)); - } - /* } */ case 2: - new flag(src.flag).mustBeExported(); - /* */ if (!stringCopy) { $s = 5; continue; } - /* */ $s = 6; continue; - /* if (!stringCopy) { */ case 5: - $r = typesMustMatch("reflect.Copy", dst.typ.Elem(), src.typ.Elem()); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - /* } */ case 6: - dstVal = $clone(dst, Value).object(); - if (dk === 17) { - dstVal = new (jsType(SliceOf(dst.typ.Elem())))(dstVal); - } - srcVal = $clone(src, Value).object(); - if (sk === 17) { - srcVal = new (jsType(SliceOf(src.typ.Elem())))(srcVal); - } - if (stringCopy) { - $s = -1; return $parseInt($copyString(dstVal, srcVal)) >> 0; - } - $s = -1; return $parseInt($copySlice(dstVal, srcVal)) >> 0; - /* */ } return; } if ($f === undefined) { $f = { $blk: Copy }; } $f._r = _r; $f._v = _v; $f.dk = dk; $f.dst = dst; $f.dstVal = dstVal; $f.sk = sk; $f.src = src; $f.srcVal = srcVal; $f.stringCopy = stringCopy; $f.$s = $s; $f.$r = $r; return $f; - }; - $pkg.Copy = Copy; - methodReceiver = function(op, v, i) { - var _$38, fn, i, m, m$1, ms, op, prop, rcvr, t, tt, v, x; - _$38 = ptrType$1.nil; - t = ptrType$1.nil; - fn = 0; - prop = ""; - if (v.typ.Kind() === 20) { - tt = (v.typ.kindType); - if (i < 0 || i >= tt.methods.$length) { - $panic(new $String("reflect: internal error: invalid method index")); - } - m = (x = tt.methods, ((i < 0 || i >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + i])); - if (!$clone(tt.rtype.nameOff(m.name), name).isExported()) { - $panic(new $String("reflect: " + op + " of unexported method")); - } - t = tt.rtype.typeOff(m.typ); - prop = $clone(tt.rtype.nameOff(m.name), name).name(); - } else { - ms = v.typ.exportedMethods(); - if (((i >>> 0)) >= ((ms.$length >>> 0))) { - $panic(new $String("reflect: internal error: invalid method index")); - } - m$1 = $clone(((i < 0 || i >= ms.$length) ? ($throwRuntimeError("index out of range"), undefined) : ms.$array[ms.$offset + i]), method); - if (!$clone(v.typ.nameOff(m$1.name), name).isExported()) { - $panic(new $String("reflect: " + op + " of unexported method")); - } - t = v.typ.typeOff(m$1.mtyp); - prop = $internalize($methodSet(jsType(v.typ))[i].prop, $String); - } - rcvr = $clone(v, Value).object(); - if (isWrapped(v.typ)) { - rcvr = new (jsType(v.typ))(rcvr); - } - fn = (rcvr[$externalize(prop, $String)]); - return [_$38, t, fn]; - }; - valueInterface = function(v, safe) { - var _r, safe, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; safe = $f.safe; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - if (v.flag === 0) { - $panic(new ValueError.ptr("reflect.Value.Interface", 0)); - } - if (safe && !((((v.flag & 96) >>> 0) === 0))) { - $panic(new $String("reflect.Value.Interface: cannot return value obtained from unexported field or method")); - } - /* */ if (!((((v.flag & 512) >>> 0) === 0))) { $s = 1; continue; } - /* */ $s = 2; continue; - /* if (!((((v.flag & 512) >>> 0) === 0))) { */ case 1: - _r = makeMethodValue("Interface", $clone(v, Value)); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - v = _r; - /* } */ case 2: - if (isWrapped(v.typ)) { - $s = -1; return ((new (jsType(v.typ))($clone(v, Value).object()))); - } - $s = -1; return (($clone(v, Value).object())); - /* */ } return; } if ($f === undefined) { $f = { $blk: valueInterface }; } $f._r = _r; $f.safe = safe; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - ifaceE2I = function(t, src, dst) { - var dst, src, t; - dst.$set(src); - }; - methodName = function() { - return "?FIXME?"; - }; - makeMethodValue = function(op, v) { - var _r, _tuple, fn, fv, op, rcvr, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; fn = $f.fn; fv = $f.fv; op = $f.op; rcvr = $f.rcvr; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - fn = [fn]; - rcvr = [rcvr]; - if (((v.flag & 512) >>> 0) === 0) { - $panic(new $String("reflect: internal error: invalid use of makePartialFunc")); - } - _tuple = methodReceiver(op, $clone(v, Value), ((v.flag >> 0)) >> 10 >> 0); - fn[0] = _tuple[2]; - rcvr[0] = $clone(v, Value).object(); - if (isWrapped(v.typ)) { - rcvr[0] = new (jsType(v.typ))(rcvr[0]); - } - fv = js.MakeFunc((function(fn, rcvr) { return function(this$1, arguments$1) { - var arguments$1, this$1; - return new $jsObjectPtr(fn[0].apply(rcvr[0], $externalize(arguments$1, sliceType$8))); - }; })(fn, rcvr)); - _r = $clone(v, Value).Type().common(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - $s = -1; return new Value.ptr(_r, (fv), (new flag(v.flag).ro() | 19) >>> 0); - /* */ } return; } if ($f === undefined) { $f = { $blk: makeMethodValue }; } $f._r = _r; $f._tuple = _tuple; $f.fn = fn; $f.fv = fv; $f.op = op; $f.rcvr = rcvr; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - rtype.ptr.prototype.pointers = function() { - var _1, t; - t = this; - _1 = t.Kind(); - if ((_1 === (22)) || (_1 === (21)) || (_1 === (18)) || (_1 === (19)) || (_1 === (25)) || (_1 === (17))) { - return true; - } else { - return false; - } - }; - rtype.prototype.pointers = function() { return this.$val.pointers(); }; - rtype.ptr.prototype.Comparable = function() { - var _1, _r, _r$1, i, t, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; _r$1 = $f._r$1; i = $f.i; t = $f.t; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - t = this; - _1 = t.Kind(); - /* */ if ((_1 === (19)) || (_1 === (23)) || (_1 === (21))) { $s = 2; continue; } - /* */ if (_1 === (17)) { $s = 3; continue; } - /* */ if (_1 === (25)) { $s = 4; continue; } - /* */ $s = 5; continue; - /* if ((_1 === (19)) || (_1 === (23)) || (_1 === (21))) { */ case 2: - $s = -1; return false; - /* } else if (_1 === (17)) { */ case 3: - _r = t.Elem().Comparable(); /* */ $s = 6; case 6: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - $s = -1; return _r; - /* } else if (_1 === (25)) { */ case 4: - i = 0; - /* while (true) { */ case 7: - /* if (!(i < t.NumField())) { break; } */ if(!(i < t.NumField())) { $s = 8; continue; } - _r$1 = t.Field(i).Type.Comparable(); /* */ $s = 11; case 11: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - /* */ if (!_r$1) { $s = 9; continue; } - /* */ $s = 10; continue; - /* if (!_r$1) { */ case 9: - $s = -1; return false; - /* } */ case 10: - i = i + (1) >> 0; - /* } */ $s = 7; continue; case 8: - /* } */ case 5: - case 1: - $s = -1; return true; - /* */ } return; } if ($f === undefined) { $f = { $blk: rtype.ptr.prototype.Comparable }; } $f._1 = _1; $f._r = _r; $f._r$1 = _r$1; $f.i = i; $f.t = t; $f.$s = $s; $f.$r = $r; return $f; - }; - rtype.prototype.Comparable = function() { return this.$val.Comparable(); }; - rtype.ptr.prototype.Method = function(i) { - var _i, _i$1, _r, _ref, _ref$1, arg, fl, fn, ft, i, in$1, m, methods, mt, mtyp, out, p, pname, prop, ret, t, tt, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _i$1 = $f._i$1; _r = $f._r; _ref = $f._ref; _ref$1 = $f._ref$1; arg = $f.arg; fl = $f.fl; fn = $f.fn; ft = $f.ft; i = $f.i; in$1 = $f.in$1; m = $f.m; methods = $f.methods; mt = $f.mt; mtyp = $f.mtyp; out = $f.out; p = $f.p; pname = $f.pname; prop = $f.prop; ret = $f.ret; t = $f.t; tt = $f.tt; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - prop = [prop]; - m = new Method.ptr("", "", $ifaceNil, new Value.ptr(ptrType$1.nil, 0, 0), 0); - t = this; - if (t.Kind() === 20) { - tt = (t.kindType); - Method.copy(m, tt.Method(i)); - $s = -1; return m; - } - methods = t.exportedMethods(); - if (i < 0 || i >= methods.$length) { - $panic(new $String("reflect: Method index out of range")); - } - p = $clone(((i < 0 || i >= methods.$length) ? ($throwRuntimeError("index out of range"), undefined) : methods.$array[methods.$offset + i]), method); - pname = $clone(t.nameOff(p.name), name); - m.Name = $clone(pname, name).name(); - fl = 19; - mtyp = t.typeOff(p.mtyp); - ft = (mtyp.kindType); - in$1 = $makeSlice(sliceType$10, 0, (1 + ft.in$().$length >> 0)); - in$1 = $append(in$1, t); - _ref = ft.in$(); - _i = 0; - while (true) { - if (!(_i < _ref.$length)) { break; } - arg = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]); - in$1 = $append(in$1, arg); - _i++; - } - out = $makeSlice(sliceType$10, 0, ft.out().$length); - _ref$1 = ft.out(); - _i$1 = 0; - while (true) { - if (!(_i$1 < _ref$1.$length)) { break; } - ret = ((_i$1 < 0 || _i$1 >= _ref$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$1.$array[_ref$1.$offset + _i$1]); - out = $append(out, ret); - _i$1++; - } - _r = FuncOf(in$1, out, ft.rtype.IsVariadic()); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - mt = _r; - m.Type = mt; - prop[0] = $internalize($methodSet(t.jsType)[i].prop, $String); - fn = js.MakeFunc((function(prop) { return function(this$1, arguments$1) { - var arguments$1, rcvr, this$1; - rcvr = (0 >= arguments$1.$length ? ($throwRuntimeError("index out of range"), undefined) : arguments$1.$array[arguments$1.$offset + 0]); - return new $jsObjectPtr(rcvr[$externalize(prop[0], $String)].apply(rcvr, $externalize($subslice(arguments$1, 1), sliceType$8))); - }; })(prop)); - m.Func = new Value.ptr($assertType(mt, ptrType$1), (fn), fl); - m.Index = i; - Method.copy(m, m); - $s = -1; return m; - /* */ } return; } if ($f === undefined) { $f = { $blk: rtype.ptr.prototype.Method }; } $f._i = _i; $f._i$1 = _i$1; $f._r = _r; $f._ref = _ref; $f._ref$1 = _ref$1; $f.arg = arg; $f.fl = fl; $f.fn = fn; $f.ft = ft; $f.i = i; $f.in$1 = in$1; $f.m = m; $f.methods = methods; $f.mt = mt; $f.mtyp = mtyp; $f.out = out; $f.p = p; $f.pname = pname; $f.prop = prop; $f.ret = ret; $f.t = t; $f.tt = tt; $f.$s = $s; $f.$r = $r; return $f; - }; - rtype.prototype.Method = function(i) { return this.$val.Method(i); }; - Value.ptr.prototype.object = function() { - var _1, newVal, v, val; - v = this; - if ((v.typ.Kind() === 17) || (v.typ.Kind() === 25)) { - return v.ptr; - } - if (!((((v.flag & 128) >>> 0) === 0))) { - val = v.ptr.$get(); - if (!(val === $ifaceNil) && !(val.constructor === jsType(v.typ))) { - switch (0) { default: - _1 = v.typ.Kind(); - if ((_1 === (11)) || (_1 === (6))) { - val = new (jsType(v.typ))(val.$high, val.$low); - } else if ((_1 === (15)) || (_1 === (16))) { - val = new (jsType(v.typ))(val.$real, val.$imag); - } else if (_1 === (23)) { - if (val === val.constructor.nil) { - val = jsType(v.typ).nil; - break; - } - newVal = new (jsType(v.typ))(val.$array); - newVal.$offset = val.$offset; - newVal.$length = val.$length; - newVal.$capacity = val.$capacity; - val = newVal; - } - } - } - return val; - } - return v.ptr; - }; - Value.prototype.object = function() { return this.$val.object(); }; - Value.ptr.prototype.assignTo = function(context, dst, target) { - var _r, _r$1, _r$2, context, dst, fl, target, v, x, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; context = $f.context; dst = $f.dst; fl = $f.fl; target = $f.target; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - v = this; - /* */ if (!((((v.flag & 512) >>> 0) === 0))) { $s = 1; continue; } - /* */ $s = 2; continue; - /* if (!((((v.flag & 512) >>> 0) === 0))) { */ case 1: - _r = makeMethodValue(context, $clone(v, Value)); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - v = _r; - /* } */ case 2: - _r$1 = directlyAssignable(dst, v.typ); /* */ $s = 8; case 8: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - /* */ if (_r$1) { $s = 5; continue; } - /* */ if (implements$1(dst, v.typ)) { $s = 6; continue; } - /* */ $s = 7; continue; - /* if (_r$1) { */ case 5: - fl = (((v.flag & 384) >>> 0) | new flag(v.flag).ro()) >>> 0; - fl = (fl | (((dst.Kind() >>> 0)))) >>> 0; - $s = -1; return new Value.ptr(dst, v.ptr, fl); - /* } else if (implements$1(dst, v.typ)) { */ case 6: - if (target === 0) { - target = unsafe_New(dst); - } - _r$2 = valueInterface($clone(v, Value), false); /* */ $s = 9; case 9: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } - x = _r$2; - if (dst.NumMethod() === 0) { - (target).$set(x); - } else { - ifaceE2I(dst, x, target); - } - $s = -1; return new Value.ptr(dst, target, 148); - /* } */ case 7: - case 4: - $panic(new $String(context + ": value of type " + v.typ.String() + " is not assignable to type " + dst.String())); - $s = -1; return new Value.ptr(ptrType$1.nil, 0, 0); - /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.assignTo }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.context = context; $f.dst = dst; $f.fl = fl; $f.target = target; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; - }; - Value.prototype.assignTo = function(context, dst, target) { return this.$val.assignTo(context, dst, target); }; - Value.ptr.prototype.call = function(op, in$1) { - var _1, _arg, _arg$1, _arg$2, _arg$3, _i, _i$1, _i$2, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, _ref$1, _ref$2, _tmp, _tmp$1, _tuple, arg, argsArray, elem, fn, i, i$1, i$2, i$3, in$1, isSlice, m, n, nin, nout, op, origIn, rcvr, results, ret, slice, t, targ, v, x, x$1, x$2, xt, xt$1, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _arg$3 = $f._arg$3; _i = $f._i; _i$1 = $f._i$1; _i$2 = $f._i$2; _r = $f._r; _r$1 = $f._r$1; _r$10 = $f._r$10; _r$11 = $f._r$11; _r$12 = $f._r$12; _r$13 = $f._r$13; _r$14 = $f._r$14; _r$15 = $f._r$15; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _r$8 = $f._r$8; _r$9 = $f._r$9; _ref = $f._ref; _ref$1 = $f._ref$1; _ref$2 = $f._ref$2; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tuple = $f._tuple; arg = $f.arg; argsArray = $f.argsArray; elem = $f.elem; fn = $f.fn; i = $f.i; i$1 = $f.i$1; i$2 = $f.i$2; i$3 = $f.i$3; in$1 = $f.in$1; isSlice = $f.isSlice; m = $f.m; n = $f.n; nin = $f.nin; nout = $f.nout; op = $f.op; origIn = $f.origIn; rcvr = $f.rcvr; results = $f.results; ret = $f.ret; slice = $f.slice; t = $f.t; targ = $f.targ; v = $f.v; x = $f.x; x$1 = $f.x$1; x$2 = $f.x$2; xt = $f.xt; xt$1 = $f.xt$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - v = this; - t = ptrType$1.nil; - fn = 0; - rcvr = null; - if (!((((v.flag & 512) >>> 0) === 0))) { - _tuple = methodReceiver(op, $clone(v, Value), ((v.flag >> 0)) >> 10 >> 0); - t = _tuple[1]; - fn = _tuple[2]; - rcvr = $clone(v, Value).object(); - if (isWrapped(v.typ)) { - rcvr = new (jsType(v.typ))(rcvr); - } - } else { - t = v.typ; - fn = ($clone(v, Value).object()); - rcvr = undefined; - } - if (fn === 0) { - $panic(new $String("reflect.Value.Call: call of nil function")); - } - isSlice = op === "CallSlice"; - n = t.NumIn(); - if (isSlice) { - if (!t.IsVariadic()) { - $panic(new $String("reflect: CallSlice of non-variadic function")); - } - if (in$1.$length < n) { - $panic(new $String("reflect: CallSlice with too few input arguments")); - } - if (in$1.$length > n) { - $panic(new $String("reflect: CallSlice with too many input arguments")); - } - } else { - if (t.IsVariadic()) { - n = n - (1) >> 0; - } - if (in$1.$length < n) { - $panic(new $String("reflect: Call with too few input arguments")); - } - if (!t.IsVariadic() && in$1.$length > n) { - $panic(new $String("reflect: Call with too many input arguments")); - } - } - _ref = in$1; - _i = 0; - while (true) { - if (!(_i < _ref.$length)) { break; } - x = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]); - if ($clone(x, Value).Kind() === 0) { - $panic(new $String("reflect: " + op + " using zero Value argument")); - } - _i++; - } - i = 0; - /* while (true) { */ case 1: - /* if (!(i < n)) { break; } */ if(!(i < n)) { $s = 2; continue; } - _tmp = $clone(((i < 0 || i >= in$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : in$1.$array[in$1.$offset + i]), Value).Type(); - _tmp$1 = t.In(i); - xt = _tmp; - targ = _tmp$1; - _r = xt.AssignableTo(targ); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - /* */ if (!_r) { $s = 3; continue; } - /* */ $s = 4; continue; - /* if (!_r) { */ case 3: - _r$1 = xt.String(); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - _r$2 = targ.String(); /* */ $s = 7; case 7: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } - $panic(new $String("reflect: " + op + " using " + _r$1 + " as type " + _r$2)); - /* } */ case 4: - i = i + (1) >> 0; - /* } */ $s = 1; continue; case 2: - /* */ if (!isSlice && t.IsVariadic()) { $s = 8; continue; } - /* */ $s = 9; continue; - /* if (!isSlice && t.IsVariadic()) { */ case 8: - m = in$1.$length - n >> 0; - _r$3 = MakeSlice(t.In(n), m, m); /* */ $s = 10; case 10: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; } - slice = _r$3; - _r$4 = t.In(n).Elem(); /* */ $s = 11; case 11: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; } - elem = _r$4; - i$1 = 0; - /* while (true) { */ case 12: - /* if (!(i$1 < m)) { break; } */ if(!(i$1 < m)) { $s = 13; continue; } - x$2 = (x$1 = n + i$1 >> 0, ((x$1 < 0 || x$1 >= in$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : in$1.$array[in$1.$offset + x$1])); - xt$1 = $clone(x$2, Value).Type(); - _r$5 = xt$1.AssignableTo(elem); /* */ $s = 16; case 16: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; } - /* */ if (!_r$5) { $s = 14; continue; } - /* */ $s = 15; continue; - /* if (!_r$5) { */ case 14: - _r$6 = xt$1.String(); /* */ $s = 17; case 17: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; } - _r$7 = elem.String(); /* */ $s = 18; case 18: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; } - $panic(new $String("reflect: cannot use " + _r$6 + " as type " + _r$7 + " in " + op)); - /* } */ case 15: - _r$8 = $clone(slice, Value).Index(i$1); /* */ $s = 19; case 19: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; } - $r = $clone(_r$8, Value).Set($clone(x$2, Value)); /* */ $s = 20; case 20: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - i$1 = i$1 + (1) >> 0; - /* } */ $s = 12; continue; case 13: - origIn = in$1; - in$1 = $makeSlice(sliceType$9, (n + 1 >> 0)); - $copySlice($subslice(in$1, 0, n), origIn); - ((n < 0 || n >= in$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : in$1.$array[in$1.$offset + n] = slice); - /* } */ case 9: - nin = in$1.$length; - if (!((nin === t.NumIn()))) { - $panic(new $String("reflect.Value.Call: wrong argument count")); - } - nout = t.NumOut(); - argsArray = new ($global.Array)(t.NumIn()); - _ref$1 = in$1; - _i$1 = 0; - /* while (true) { */ case 21: - /* if (!(_i$1 < _ref$1.$length)) { break; } */ if(!(_i$1 < _ref$1.$length)) { $s = 22; continue; } - i$2 = _i$1; - arg = ((_i$1 < 0 || _i$1 >= _ref$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$1.$array[_ref$1.$offset + _i$1]); - _arg = t.In(i$2); - _r$9 = t.In(i$2).common(); /* */ $s = 23; case 23: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; } - _arg$1 = _r$9; - _arg$2 = 0; - _r$10 = $clone(arg, Value).assignTo("reflect.Value.Call", _arg$1, _arg$2); /* */ $s = 24; case 24: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; } - _r$11 = $clone(_r$10, Value).object(); /* */ $s = 25; case 25: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; } - _arg$3 = _r$11; - _r$12 = unwrapJsObject(_arg, _arg$3); /* */ $s = 26; case 26: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; } - argsArray[i$2] = _r$12; - _i$1++; - /* } */ $s = 21; continue; case 22: - _r$13 = callHelper(new sliceType$3([new $jsObjectPtr(fn), new $jsObjectPtr(rcvr), new $jsObjectPtr(argsArray)])); /* */ $s = 27; case 27: if($c) { $c = false; _r$13 = _r$13.$blk(); } if (_r$13 && _r$13.$blk !== undefined) { break s; } - results = _r$13; - _1 = nout; - /* */ if (_1 === (0)) { $s = 29; continue; } - /* */ if (_1 === (1)) { $s = 30; continue; } - /* */ $s = 31; continue; - /* if (_1 === (0)) { */ case 29: - $s = -1; return sliceType$9.nil; - /* } else if (_1 === (1)) { */ case 30: - _r$14 = makeValue(t.Out(0), wrapJsObject(t.Out(0), results), 0); /* */ $s = 33; case 33: if($c) { $c = false; _r$14 = _r$14.$blk(); } if (_r$14 && _r$14.$blk !== undefined) { break s; } - $s = -1; return new sliceType$9([$clone(_r$14, Value)]); - /* } else { */ case 31: - ret = $makeSlice(sliceType$9, nout); - _ref$2 = ret; - _i$2 = 0; - /* while (true) { */ case 34: - /* if (!(_i$2 < _ref$2.$length)) { break; } */ if(!(_i$2 < _ref$2.$length)) { $s = 35; continue; } - i$3 = _i$2; - _r$15 = makeValue(t.Out(i$3), wrapJsObject(t.Out(i$3), results[i$3]), 0); /* */ $s = 36; case 36: if($c) { $c = false; _r$15 = _r$15.$blk(); } if (_r$15 && _r$15.$blk !== undefined) { break s; } - ((i$3 < 0 || i$3 >= ret.$length) ? ($throwRuntimeError("index out of range"), undefined) : ret.$array[ret.$offset + i$3] = _r$15); - _i$2++; - /* } */ $s = 34; continue; case 35: - $s = -1; return ret; - /* } */ case 32: - case 28: - $s = -1; return sliceType$9.nil; - /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.call }; } $f._1 = _1; $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._arg$3 = _arg$3; $f._i = _i; $f._i$1 = _i$1; $f._i$2 = _i$2; $f._r = _r; $f._r$1 = _r$1; $f._r$10 = _r$10; $f._r$11 = _r$11; $f._r$12 = _r$12; $f._r$13 = _r$13; $f._r$14 = _r$14; $f._r$15 = _r$15; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._r$8 = _r$8; $f._r$9 = _r$9; $f._ref = _ref; $f._ref$1 = _ref$1; $f._ref$2 = _ref$2; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tuple = _tuple; $f.arg = arg; $f.argsArray = argsArray; $f.elem = elem; $f.fn = fn; $f.i = i; $f.i$1 = i$1; $f.i$2 = i$2; $f.i$3 = i$3; $f.in$1 = in$1; $f.isSlice = isSlice; $f.m = m; $f.n = n; $f.nin = nin; $f.nout = nout; $f.op = op; $f.origIn = origIn; $f.rcvr = rcvr; $f.results = results; $f.ret = ret; $f.slice = slice; $f.t = t; $f.targ = targ; $f.v = v; $f.x = x; $f.x$1 = x$1; $f.x$2 = x$2; $f.xt = xt; $f.xt$1 = xt$1; $f.$s = $s; $f.$r = $r; return $f; - }; - Value.prototype.call = function(op, in$1) { return this.$val.call(op, in$1); }; - Value.ptr.prototype.Cap = function() { - var _1, k, v; - v = this; - k = new flag(v.flag).kind(); - _1 = k; - if (_1 === (17)) { - return v.typ.Len(); - } else if ((_1 === (18)) || (_1 === (23))) { - return $parseInt($clone(v, Value).object().$capacity) >> 0; - } - $panic(new ValueError.ptr("reflect.Value.Cap", k)); - }; - Value.prototype.Cap = function() { return this.$val.Cap(); }; - wrapJsObject = function(typ, val) { - var typ, val; - if ($interfaceIsEqual(typ, jsObjectPtr)) { - return new (jsType(jsObjectPtr))(val); - } - return val; - }; - unwrapJsObject = function(typ, val) { - var typ, val; - if ($interfaceIsEqual(typ, jsObjectPtr)) { - return val.object; - } - return val; - }; - Value.ptr.prototype.Elem = function() { - var _1, _r, fl, k, tt, typ, v, val, val$1, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; fl = $f.fl; k = $f.k; tt = $f.tt; typ = $f.typ; v = $f.v; val = $f.val; val$1 = $f.val$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - v = this; - k = new flag(v.flag).kind(); - _1 = k; - /* */ if (_1 === (20)) { $s = 2; continue; } - /* */ if (_1 === (22)) { $s = 3; continue; } - /* */ $s = 4; continue; - /* if (_1 === (20)) { */ case 2: - val = $clone(v, Value).object(); - if (val === $ifaceNil) { - $s = -1; return new Value.ptr(ptrType$1.nil, 0, 0); - } - typ = reflectType(val.constructor); - _r = makeValue(typ, val.$val, new flag(v.flag).ro()); /* */ $s = 6; case 6: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - $s = -1; return _r; - /* } else if (_1 === (22)) { */ case 3: - if ($clone(v, Value).IsNil()) { - $s = -1; return new Value.ptr(ptrType$1.nil, 0, 0); - } - val$1 = $clone(v, Value).object(); - tt = (v.typ.kindType); - fl = (((((v.flag & 96) >>> 0) | 128) >>> 0) | 256) >>> 0; - fl = (fl | (((tt.elem.Kind() >>> 0)))) >>> 0; - $s = -1; return new Value.ptr(tt.elem, (wrapJsObject(tt.elem, val$1)), fl); - /* } else { */ case 4: - $panic(new ValueError.ptr("reflect.Value.Elem", k)); - /* } */ case 5: - case 1: - $s = -1; return new Value.ptr(ptrType$1.nil, 0, 0); - /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Elem }; } $f._1 = _1; $f._r = _r; $f.fl = fl; $f.k = k; $f.tt = tt; $f.typ = typ; $f.v = v; $f.val = val; $f.val$1 = val$1; $f.$s = $s; $f.$r = $r; return $f; - }; - Value.prototype.Elem = function() { return this.$val.Elem(); }; - Value.ptr.prototype.Field = function(i) { - var _r, _r$1, _r$2, field, fl, i, jsTag, o, prop, s, tag, tt, typ, v, x, x$1, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; field = $f.field; fl = $f.fl; i = $f.i; jsTag = $f.jsTag; o = $f.o; prop = $f.prop; s = $f.s; tag = $f.tag; tt = $f.tt; typ = $f.typ; v = $f.v; x = $f.x; x$1 = $f.x$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - jsTag = [jsTag]; - prop = [prop]; - s = [s]; - typ = [typ]; - v = this; - if (!((new flag(v.flag).kind() === 25))) { - $panic(new ValueError.ptr("reflect.Value.Field", new flag(v.flag).kind())); - } - tt = (v.typ.kindType); - if (((i >>> 0)) >= ((tt.fields.$length >>> 0))) { - $panic(new $String("reflect: Field index out of range")); - } - prop[0] = $internalize(jsType(v.typ).fields[i].prop, $String); - field = (x = tt.fields, ((i < 0 || i >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + i])); - typ[0] = field.typ; - fl = (((v.flag & 416) >>> 0) | ((typ[0].Kind() >>> 0))) >>> 0; - if (!$clone(field.name, name).isExported()) { - if (field.embedded()) { - fl = (fl | (64)) >>> 0; - } else { - fl = (fl | (32)) >>> 0; - } - } - tag = $clone((x$1 = tt.fields, ((i < 0 || i >= x$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$1.$array[x$1.$offset + i])).name, name).tag(); - /* */ if (!(tag === "") && !((i === 0))) { $s = 1; continue; } - /* */ $s = 2; continue; - /* if (!(tag === "") && !((i === 0))) { */ case 1: - jsTag[0] = getJsTag(tag); - /* */ if (!(jsTag[0] === "")) { $s = 3; continue; } - /* */ $s = 4; continue; - /* if (!(jsTag[0] === "")) { */ case 3: - /* while (true) { */ case 5: - o = [o]; - _r = $clone(v, Value).Field(0); /* */ $s = 7; case 7: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - v = _r; - /* */ if (v.typ === jsObjectPtr) { $s = 8; continue; } - /* */ $s = 9; continue; - /* if (v.typ === jsObjectPtr) { */ case 8: - o[0] = $clone(v, Value).object().object; - $s = -1; return new Value.ptr(typ[0], (new (jsType(PtrTo(typ[0])))((function(jsTag, o, prop, s, typ) { return function() { - return $internalize(o[0][$externalize(jsTag[0], $String)], jsType(typ[0])); - }; })(jsTag, o, prop, s, typ), (function(jsTag, o, prop, s, typ) { return function(x$2) { - var x$2; - o[0][$externalize(jsTag[0], $String)] = $externalize(x$2, jsType(typ[0])); - }; })(jsTag, o, prop, s, typ))), fl); - /* } */ case 9: - /* */ if (v.typ.Kind() === 22) { $s = 10; continue; } - /* */ $s = 11; continue; - /* if (v.typ.Kind() === 22) { */ case 10: - _r$1 = $clone(v, Value).Elem(); /* */ $s = 12; case 12: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - v = _r$1; - /* } */ case 11: - /* } */ $s = 5; continue; case 6: - /* } */ case 4: - /* } */ case 2: - s[0] = v.ptr; - /* */ if (!((((fl & 128) >>> 0) === 0)) && !((typ[0].Kind() === 17)) && !((typ[0].Kind() === 25))) { $s = 13; continue; } - /* */ $s = 14; continue; - /* if (!((((fl & 128) >>> 0) === 0)) && !((typ[0].Kind() === 17)) && !((typ[0].Kind() === 25))) { */ case 13: - $s = -1; return new Value.ptr(typ[0], (new (jsType(PtrTo(typ[0])))((function(jsTag, prop, s, typ) { return function() { - return wrapJsObject(typ[0], s[0][$externalize(prop[0], $String)]); - }; })(jsTag, prop, s, typ), (function(jsTag, prop, s, typ) { return function(x$2) { - var x$2; - s[0][$externalize(prop[0], $String)] = unwrapJsObject(typ[0], x$2); - }; })(jsTag, prop, s, typ))), fl); - /* } */ case 14: - _r$2 = makeValue(typ[0], wrapJsObject(typ[0], s[0][$externalize(prop[0], $String)]), fl); /* */ $s = 15; case 15: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } - $s = -1; return _r$2; - /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Field }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.field = field; $f.fl = fl; $f.i = i; $f.jsTag = jsTag; $f.o = o; $f.prop = prop; $f.s = s; $f.tag = tag; $f.tt = tt; $f.typ = typ; $f.v = v; $f.x = x; $f.x$1 = x$1; $f.$s = $s; $f.$r = $r; return $f; - }; - Value.prototype.Field = function(i) { return this.$val.Field(i); }; - getJsTag = function(tag) { - var _tuple, i, name$1, qvalue, tag, value; - while (true) { - if (!(!(tag === ""))) { break; } - i = 0; - while (true) { - if (!(i < tag.length && (tag.charCodeAt(i) === 32))) { break; } - i = i + (1) >> 0; - } - tag = $substring(tag, i); - if (tag === "") { - break; - } - i = 0; - while (true) { - if (!(i < tag.length && !((tag.charCodeAt(i) === 32)) && !((tag.charCodeAt(i) === 58)) && !((tag.charCodeAt(i) === 34)))) { break; } - i = i + (1) >> 0; - } - if ((i + 1 >> 0) >= tag.length || !((tag.charCodeAt(i) === 58)) || !((tag.charCodeAt((i + 1 >> 0)) === 34))) { - break; - } - name$1 = ($substring(tag, 0, i)); - tag = $substring(tag, (i + 1 >> 0)); - i = 1; - while (true) { - if (!(i < tag.length && !((tag.charCodeAt(i) === 34)))) { break; } - if (tag.charCodeAt(i) === 92) { - i = i + (1) >> 0; - } - i = i + (1) >> 0; - } - if (i >= tag.length) { - break; - } - qvalue = ($substring(tag, 0, (i + 1 >> 0))); - tag = $substring(tag, (i + 1 >> 0)); - if (name$1 === "js") { - _tuple = strconv.Unquote(qvalue); - value = _tuple[0]; - return value; - } - } - return ""; - }; - Value.ptr.prototype.Index = function(i) { - var _1, _r, _r$1, a, a$1, c, fl, fl$1, fl$2, i, k, s, str, tt, tt$1, typ, typ$1, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; _r$1 = $f._r$1; a = $f.a; a$1 = $f.a$1; c = $f.c; fl = $f.fl; fl$1 = $f.fl$1; fl$2 = $f.fl$2; i = $f.i; k = $f.k; s = $f.s; str = $f.str; tt = $f.tt; tt$1 = $f.tt$1; typ = $f.typ; typ$1 = $f.typ$1; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - a = [a]; - a$1 = [a$1]; - c = [c]; - i = [i]; - typ = [typ]; - typ$1 = [typ$1]; - v = this; - k = new flag(v.flag).kind(); - _1 = k; - /* */ if (_1 === (17)) { $s = 2; continue; } - /* */ if (_1 === (23)) { $s = 3; continue; } - /* */ if (_1 === (24)) { $s = 4; continue; } - /* */ $s = 5; continue; - /* if (_1 === (17)) { */ case 2: - tt = (v.typ.kindType); - if (i[0] < 0 || i[0] > ((tt.len >> 0))) { - $panic(new $String("reflect: array index out of range")); - } - typ[0] = tt.elem; - fl = (((((v.flag & 384) >>> 0) | new flag(v.flag).ro()) >>> 0) | ((typ[0].Kind() >>> 0))) >>> 0; - a[0] = v.ptr; - /* */ if (!((((fl & 128) >>> 0) === 0)) && !((typ[0].Kind() === 17)) && !((typ[0].Kind() === 25))) { $s = 7; continue; } - /* */ $s = 8; continue; - /* if (!((((fl & 128) >>> 0) === 0)) && !((typ[0].Kind() === 17)) && !((typ[0].Kind() === 25))) { */ case 7: - $s = -1; return new Value.ptr(typ[0], (new (jsType(PtrTo(typ[0])))((function(a, a$1, c, i, typ, typ$1) { return function() { - return wrapJsObject(typ[0], a[0][i[0]]); - }; })(a, a$1, c, i, typ, typ$1), (function(a, a$1, c, i, typ, typ$1) { return function(x) { - var x; - a[0][i[0]] = unwrapJsObject(typ[0], x); - }; })(a, a$1, c, i, typ, typ$1))), fl); - /* } */ case 8: - _r = makeValue(typ[0], wrapJsObject(typ[0], a[0][i[0]]), fl); /* */ $s = 9; case 9: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - $s = -1; return _r; - /* } else if (_1 === (23)) { */ case 3: - s = $clone(v, Value).object(); - if (i[0] < 0 || i[0] >= ($parseInt(s.$length) >> 0)) { - $panic(new $String("reflect: slice index out of range")); - } - tt$1 = (v.typ.kindType); - typ$1[0] = tt$1.elem; - fl$1 = (((384 | new flag(v.flag).ro()) >>> 0) | ((typ$1[0].Kind() >>> 0))) >>> 0; - i[0] = i[0] + (($parseInt(s.$offset) >> 0)) >> 0; - a$1[0] = s.$array; - /* */ if (!((((fl$1 & 128) >>> 0) === 0)) && !((typ$1[0].Kind() === 17)) && !((typ$1[0].Kind() === 25))) { $s = 10; continue; } - /* */ $s = 11; continue; - /* if (!((((fl$1 & 128) >>> 0) === 0)) && !((typ$1[0].Kind() === 17)) && !((typ$1[0].Kind() === 25))) { */ case 10: - $s = -1; return new Value.ptr(typ$1[0], (new (jsType(PtrTo(typ$1[0])))((function(a, a$1, c, i, typ, typ$1) { return function() { - return wrapJsObject(typ$1[0], a$1[0][i[0]]); - }; })(a, a$1, c, i, typ, typ$1), (function(a, a$1, c, i, typ, typ$1) { return function(x) { - var x; - a$1[0][i[0]] = unwrapJsObject(typ$1[0], x); - }; })(a, a$1, c, i, typ, typ$1))), fl$1); - /* } */ case 11: - _r$1 = makeValue(typ$1[0], wrapJsObject(typ$1[0], a$1[0][i[0]]), fl$1); /* */ $s = 12; case 12: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - $s = -1; return _r$1; - /* } else if (_1 === (24)) { */ case 4: - str = (v.ptr).$get(); - if (i[0] < 0 || i[0] >= str.length) { - $panic(new $String("reflect: string index out of range")); - } - fl$2 = (((new flag(v.flag).ro() | 8) >>> 0) | 128) >>> 0; - c[0] = str.charCodeAt(i[0]); - $s = -1; return new Value.ptr(uint8Type, ((c.$ptr || (c.$ptr = new ptrType$4(function() { return this.$target[0]; }, function($v) { this.$target[0] = $v; }, c)))), fl$2); - /* } else { */ case 5: - $panic(new ValueError.ptr("reflect.Value.Index", k)); - /* } */ case 6: - case 1: - $s = -1; return new Value.ptr(ptrType$1.nil, 0, 0); - /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Index }; } $f._1 = _1; $f._r = _r; $f._r$1 = _r$1; $f.a = a; $f.a$1 = a$1; $f.c = c; $f.fl = fl; $f.fl$1 = fl$1; $f.fl$2 = fl$2; $f.i = i; $f.k = k; $f.s = s; $f.str = str; $f.tt = tt; $f.tt$1 = tt$1; $f.typ = typ; $f.typ$1 = typ$1; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - Value.prototype.Index = function(i) { return this.$val.Index(i); }; - Value.ptr.prototype.InterfaceData = function() { - var v; - v = this; - $panic(errors.New("InterfaceData is not supported by GopherJS")); - }; - Value.prototype.InterfaceData = function() { return this.$val.InterfaceData(); }; - Value.ptr.prototype.IsNil = function() { - var _1, k, v; - v = this; - k = new flag(v.flag).kind(); - _1 = k; - if ((_1 === (22)) || (_1 === (23))) { - return $clone(v, Value).object() === jsType(v.typ).nil; - } else if (_1 === (18)) { - return $clone(v, Value).object() === $chanNil; - } else if (_1 === (19)) { - return $clone(v, Value).object() === $throwNilPointerError; - } else if (_1 === (21)) { - return $clone(v, Value).object() === false; - } else if (_1 === (20)) { - return $clone(v, Value).object() === $ifaceNil; - } else { - $panic(new ValueError.ptr("reflect.Value.IsNil", k)); - } - }; - Value.prototype.IsNil = function() { return this.$val.IsNil(); }; - Value.ptr.prototype.Len = function() { - var _1, k, v; - v = this; - k = new flag(v.flag).kind(); - _1 = k; - if ((_1 === (17)) || (_1 === (24))) { - return $parseInt($clone(v, Value).object().length); - } else if (_1 === (23)) { - return $parseInt($clone(v, Value).object().$length) >> 0; - } else if (_1 === (18)) { - return $parseInt($clone(v, Value).object().$buffer.length) >> 0; - } else if (_1 === (21)) { - return $parseInt($keys($clone(v, Value).object()).length); - } else { - $panic(new ValueError.ptr("reflect.Value.Len", k)); - } - }; - Value.prototype.Len = function() { return this.$val.Len(); }; - Value.ptr.prototype.Pointer = function() { - var _1, k, v; - v = this; - k = new flag(v.flag).kind(); - _1 = k; - if ((_1 === (18)) || (_1 === (21)) || (_1 === (22)) || (_1 === (26))) { - if ($clone(v, Value).IsNil()) { - return 0; - } - return $clone(v, Value).object(); - } else if (_1 === (19)) { - if ($clone(v, Value).IsNil()) { - return 0; - } - return 1; - } else if (_1 === (23)) { - if ($clone(v, Value).IsNil()) { - return 0; - } - return $clone(v, Value).object().$array; - } else { - $panic(new ValueError.ptr("reflect.Value.Pointer", k)); - } - }; - Value.prototype.Pointer = function() { return this.$val.Pointer(); }; - Value.ptr.prototype.Set = function(x) { - var _1, _r, _r$1, v, x, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; _r$1 = $f._r$1; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - v = this; - new flag(v.flag).mustBeAssignable(); - new flag(x.flag).mustBeExported(); - _r = $clone(x, Value).assignTo("reflect.Set", v.typ, 0); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - x = _r; - /* */ if (!((((v.flag & 128) >>> 0) === 0))) { $s = 2; continue; } - /* */ $s = 3; continue; - /* if (!((((v.flag & 128) >>> 0) === 0))) { */ case 2: - _1 = v.typ.Kind(); - /* */ if (_1 === (17)) { $s = 5; continue; } - /* */ if (_1 === (20)) { $s = 6; continue; } - /* */ if (_1 === (25)) { $s = 7; continue; } - /* */ $s = 8; continue; - /* if (_1 === (17)) { */ case 5: - jsType(v.typ).copy(v.ptr, x.ptr); - $s = 9; continue; - /* } else if (_1 === (20)) { */ case 6: - _r$1 = valueInterface($clone(x, Value), false); /* */ $s = 10; case 10: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - v.ptr.$set(_r$1); - $s = 9; continue; - /* } else if (_1 === (25)) { */ case 7: - copyStruct(v.ptr, x.ptr, v.typ); - $s = 9; continue; - /* } else { */ case 8: - v.ptr.$set($clone(x, Value).object()); - /* } */ case 9: - case 4: - $s = -1; return; - /* } */ case 3: - v.ptr = x.ptr; - $s = -1; return; - /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Set }; } $f._1 = _1; $f._r = _r; $f._r$1 = _r$1; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; - }; - Value.prototype.Set = function(x) { return this.$val.Set(x); }; - Value.ptr.prototype.SetBytes = function(x) { - var _r, _r$1, _v, slice, typedSlice, v, x, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _v = $f._v; slice = $f.slice; typedSlice = $f.typedSlice; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - v = this; - new flag(v.flag).mustBeAssignable(); - new flag(v.flag).mustBe(23); - _r = v.typ.Elem().Kind(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - /* */ if (!((_r === 8))) { $s = 1; continue; } - /* */ $s = 2; continue; - /* if (!((_r === 8))) { */ case 1: - $panic(new $String("reflect.Value.SetBytes of non-byte slice")); - /* } */ case 2: - slice = x; - if (!(v.typ.Name() === "")) { _v = true; $s = 6; continue s; } - _r$1 = v.typ.Elem().Name(); /* */ $s = 7; case 7: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - _v = !(_r$1 === ""); case 6: - /* */ if (_v) { $s = 4; continue; } - /* */ $s = 5; continue; - /* if (_v) { */ case 4: - typedSlice = new (jsType(v.typ))(slice.$array); - typedSlice.$offset = slice.$offset; - typedSlice.$length = slice.$length; - typedSlice.$capacity = slice.$capacity; - slice = typedSlice; - /* } */ case 5: - v.ptr.$set(slice); - $s = -1; return; - /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.SetBytes }; } $f._r = _r; $f._r$1 = _r$1; $f._v = _v; $f.slice = slice; $f.typedSlice = typedSlice; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; - }; - Value.prototype.SetBytes = function(x) { return this.$val.SetBytes(x); }; - Value.ptr.prototype.SetCap = function(n) { - var n, newSlice, s, v; - v = this; - new flag(v.flag).mustBeAssignable(); - new flag(v.flag).mustBe(23); - s = v.ptr.$get(); - if (n < ($parseInt(s.$length) >> 0) || n > ($parseInt(s.$capacity) >> 0)) { - $panic(new $String("reflect: slice capacity out of range in SetCap")); - } - newSlice = new (jsType(v.typ))(s.$array); - newSlice.$offset = s.$offset; - newSlice.$length = s.$length; - newSlice.$capacity = n; - v.ptr.$set(newSlice); - }; - Value.prototype.SetCap = function(n) { return this.$val.SetCap(n); }; - Value.ptr.prototype.SetLen = function(n) { - var n, newSlice, s, v; - v = this; - new flag(v.flag).mustBeAssignable(); - new flag(v.flag).mustBe(23); - s = v.ptr.$get(); - if (n < 0 || n > ($parseInt(s.$capacity) >> 0)) { - $panic(new $String("reflect: slice length out of range in SetLen")); - } - newSlice = new (jsType(v.typ))(s.$array); - newSlice.$offset = s.$offset; - newSlice.$length = n; - newSlice.$capacity = s.$capacity; - v.ptr.$set(newSlice); - }; - Value.prototype.SetLen = function(n) { return this.$val.SetLen(n); }; - Value.ptr.prototype.Slice = function(i, j) { - var _1, _r, _r$1, cap, i, j, kind, s, str, tt, typ, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; _r$1 = $f._r$1; cap = $f.cap; i = $f.i; j = $f.j; kind = $f.kind; s = $f.s; str = $f.str; tt = $f.tt; typ = $f.typ; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - v = this; - cap = 0; - typ = $ifaceNil; - s = null; - kind = new flag(v.flag).kind(); - _1 = kind; - /* */ if (_1 === (17)) { $s = 2; continue; } - /* */ if (_1 === (23)) { $s = 3; continue; } - /* */ if (_1 === (24)) { $s = 4; continue; } - /* */ $s = 5; continue; - /* if (_1 === (17)) { */ case 2: - if (((v.flag & 256) >>> 0) === 0) { - $panic(new $String("reflect.Value.Slice: slice of unaddressable array")); - } - tt = (v.typ.kindType); - cap = ((tt.len >> 0)); - typ = SliceOf(tt.elem); - s = new (jsType(typ))($clone(v, Value).object()); - $s = 6; continue; - /* } else if (_1 === (23)) { */ case 3: - typ = v.typ; - s = $clone(v, Value).object(); - cap = $parseInt(s.$capacity) >> 0; - $s = 6; continue; - /* } else if (_1 === (24)) { */ case 4: - str = (v.ptr).$get(); - if (i < 0 || j < i || j > str.length) { - $panic(new $String("reflect.Value.Slice: string slice index out of bounds")); - } - _r = ValueOf(new $String($substring(str, i, j))); /* */ $s = 7; case 7: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - $s = -1; return _r; - /* } else { */ case 5: - $panic(new ValueError.ptr("reflect.Value.Slice", kind)); - /* } */ case 6: - case 1: - if (i < 0 || j < i || j > cap) { - $panic(new $String("reflect.Value.Slice: slice index out of bounds")); - } - _r$1 = makeValue(typ, $subslice(s, i, j), new flag(v.flag).ro()); /* */ $s = 8; case 8: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - $s = -1; return _r$1; - /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Slice }; } $f._1 = _1; $f._r = _r; $f._r$1 = _r$1; $f.cap = cap; $f.i = i; $f.j = j; $f.kind = kind; $f.s = s; $f.str = str; $f.tt = tt; $f.typ = typ; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - Value.prototype.Slice = function(i, j) { return this.$val.Slice(i, j); }; - Value.ptr.prototype.Slice3 = function(i, j, k) { - var _1, _r, cap, i, j, k, kind, s, tt, typ, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; cap = $f.cap; i = $f.i; j = $f.j; k = $f.k; kind = $f.kind; s = $f.s; tt = $f.tt; typ = $f.typ; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - v = this; - cap = 0; - typ = $ifaceNil; - s = null; - kind = new flag(v.flag).kind(); - _1 = kind; - if (_1 === (17)) { - if (((v.flag & 256) >>> 0) === 0) { - $panic(new $String("reflect.Value.Slice: slice of unaddressable array")); - } - tt = (v.typ.kindType); - cap = ((tt.len >> 0)); - typ = SliceOf(tt.elem); - s = new (jsType(typ))($clone(v, Value).object()); - } else if (_1 === (23)) { - typ = v.typ; - s = $clone(v, Value).object(); - cap = $parseInt(s.$capacity) >> 0; - } else { - $panic(new ValueError.ptr("reflect.Value.Slice3", kind)); - } - if (i < 0 || j < i || k < j || k > cap) { - $panic(new $String("reflect.Value.Slice3: slice index out of bounds")); - } - _r = makeValue(typ, $subslice(s, i, j, k), new flag(v.flag).ro()); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - $s = -1; return _r; - /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Slice3 }; } $f._1 = _1; $f._r = _r; $f.cap = cap; $f.i = i; $f.j = j; $f.k = k; $f.kind = kind; $f.s = s; $f.tt = tt; $f.typ = typ; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - Value.prototype.Slice3 = function(i, j, k) { return this.$val.Slice3(i, j, k); }; - Value.ptr.prototype.Close = function() { - var v; - v = this; - new flag(v.flag).mustBe(18); - new flag(v.flag).mustBeExported(); - $close($clone(v, Value).object()); - }; - Value.prototype.Close = function() { return this.$val.Close(); }; - chanrecv = function(ch, nb, val) { - var _r, _tmp, _tmp$1, _tmp$2, _tmp$3, ch, comms, nb, received, recvRes, selectRes, selected, val, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; ch = $f.ch; comms = $f.comms; nb = $f.nb; received = $f.received; recvRes = $f.recvRes; selectRes = $f.selectRes; selected = $f.selected; val = $f.val; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - selected = false; - received = false; - comms = new sliceType$11([new sliceType$8([ch])]); - if (nb) { - comms = $append(comms, new sliceType$8([])); - } - _r = selectHelper(new sliceType$3([comms])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - selectRes = _r; - if (nb && (($parseInt(selectRes[0]) >> 0) === 1)) { - _tmp = false; - _tmp$1 = false; - selected = _tmp; - received = _tmp$1; - $s = -1; return [selected, received]; - } - recvRes = selectRes[1]; - val.$set(recvRes[0]); - _tmp$2 = true; - _tmp$3 = !!(recvRes[1]); - selected = _tmp$2; - received = _tmp$3; - $s = -1; return [selected, received]; - /* */ } return; } if ($f === undefined) { $f = { $blk: chanrecv }; } $f._r = _r; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f.ch = ch; $f.comms = comms; $f.nb = nb; $f.received = received; $f.recvRes = recvRes; $f.selectRes = selectRes; $f.selected = selected; $f.val = val; $f.$s = $s; $f.$r = $r; return $f; - }; - chansend = function(ch, val, nb) { - var _r, ch, comms, nb, selectRes, val, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; ch = $f.ch; comms = $f.comms; nb = $f.nb; selectRes = $f.selectRes; val = $f.val; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - comms = new sliceType$11([new sliceType$8([ch, val.$get()])]); - if (nb) { - comms = $append(comms, new sliceType$8([])); - } - _r = selectHelper(new sliceType$3([comms])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - selectRes = _r; - if (nb && (($parseInt(selectRes[0]) >> 0) === 1)) { - $s = -1; return false; - } - $s = -1; return true; - /* */ } return; } if ($f === undefined) { $f = { $blk: chansend }; } $f._r = _r; $f.ch = ch; $f.comms = comms; $f.nb = nb; $f.selectRes = selectRes; $f.val = val; $f.$s = $s; $f.$r = $r; return $f; - }; - DeepEqual = function(a1, a2) { - var _arg, _arg$1, _arg$2, _r, _r$1, _r$2, a1, a2, i1, i2, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; a1 = $f.a1; a2 = $f.a2; i1 = $f.i1; i2 = $f.i2; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - i1 = a1; - i2 = a2; - if (i1 === i2) { - $s = -1; return true; - } - if (i1 === null || i2 === null || !(i1.constructor === i2.constructor)) { - $s = -1; return false; - } - _r = ValueOf(a1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - _arg = $clone(_r, Value); - _r$1 = ValueOf(a2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - _arg$1 = $clone(_r$1, Value); - _arg$2 = sliceType$12.nil; - _r$2 = deepValueEqualJs(_arg, _arg$1, _arg$2); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } - $s = -1; return _r$2; - /* */ } return; } if ($f === undefined) { $f = { $blk: DeepEqual }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.a1 = a1; $f.a2 = a2; $f.i1 = i1; $f.i2 = i2; $f.$s = $s; $f.$r = $r; return $f; - }; - $pkg.DeepEqual = DeepEqual; - deepValueEqualJs = function(v1, v2, visited) { - var _1, _2, _arg, _arg$1, _arg$10, _arg$11, _arg$2, _arg$3, _arg$4, _arg$5, _arg$6, _arg$7, _arg$8, _arg$9, _i, _i$1, _r, _r$1, _r$10, _r$11, _r$12, _r$13, _r$14, _r$15, _r$16, _r$17, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _r$9, _ref, _ref$1, _v, entry, i, i$1, k, keys, n, n$1, v1, v2, val1, val2, visited, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _2 = $f._2; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$10 = $f._arg$10; _arg$11 = $f._arg$11; _arg$2 = $f._arg$2; _arg$3 = $f._arg$3; _arg$4 = $f._arg$4; _arg$5 = $f._arg$5; _arg$6 = $f._arg$6; _arg$7 = $f._arg$7; _arg$8 = $f._arg$8; _arg$9 = $f._arg$9; _i = $f._i; _i$1 = $f._i$1; _r = $f._r; _r$1 = $f._r$1; _r$10 = $f._r$10; _r$11 = $f._r$11; _r$12 = $f._r$12; _r$13 = $f._r$13; _r$14 = $f._r$14; _r$15 = $f._r$15; _r$16 = $f._r$16; _r$17 = $f._r$17; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _r$8 = $f._r$8; _r$9 = $f._r$9; _ref = $f._ref; _ref$1 = $f._ref$1; _v = $f._v; entry = $f.entry; i = $f.i; i$1 = $f.i$1; k = $f.k; keys = $f.keys; n = $f.n; n$1 = $f.n$1; v1 = $f.v1; v2 = $f.v2; val1 = $f.val1; val2 = $f.val2; visited = $f.visited; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - if (!$clone(v1, Value).IsValid() || !$clone(v2, Value).IsValid()) { - $s = -1; return !$clone(v1, Value).IsValid() && !$clone(v2, Value).IsValid(); - } - if (!($interfaceIsEqual($clone(v1, Value).Type(), $clone(v2, Value).Type()))) { - $s = -1; return false; - } - if ($interfaceIsEqual($clone(v1, Value).Type(), jsObjectPtr)) { - $s = -1; return unwrapJsObject(jsObjectPtr, $clone(v1, Value).object()) === unwrapJsObject(jsObjectPtr, $clone(v2, Value).object()); - } - _1 = $clone(v1, Value).Kind(); - if ((_1 === (17)) || (_1 === (21)) || (_1 === (23)) || (_1 === (25))) { - _ref = visited; - _i = 0; - while (true) { - if (!(_i < _ref.$length)) { break; } - entry = $clone(((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]), arrayType$1); - if (v1.ptr === entry[0] && v2.ptr === entry[1]) { - $s = -1; return true; - } - _i++; - } - visited = $append(visited, $toNativeArray($kindUnsafePointer, [v1.ptr, v2.ptr])); - } - _2 = $clone(v1, Value).Kind(); - /* */ if ((_2 === (17)) || (_2 === (23))) { $s = 2; continue; } - /* */ if (_2 === (20)) { $s = 3; continue; } - /* */ if (_2 === (22)) { $s = 4; continue; } - /* */ if (_2 === (25)) { $s = 5; continue; } - /* */ if (_2 === (21)) { $s = 6; continue; } - /* */ if (_2 === (19)) { $s = 7; continue; } - /* */ if (_2 === (26)) { $s = 8; continue; } - /* */ $s = 9; continue; - /* if ((_2 === (17)) || (_2 === (23))) { */ case 2: - if ($clone(v1, Value).Kind() === 23) { - if (!($clone(v1, Value).IsNil() === $clone(v2, Value).IsNil())) { - $s = -1; return false; - } - if ($clone(v1, Value).object() === $clone(v2, Value).object()) { - $s = -1; return true; - } - } - n = $clone(v1, Value).Len(); - if (!((n === $clone(v2, Value).Len()))) { - $s = -1; return false; - } - i = 0; - /* while (true) { */ case 10: - /* if (!(i < n)) { break; } */ if(!(i < n)) { $s = 11; continue; } - _r = $clone(v1, Value).Index(i); /* */ $s = 14; case 14: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - _arg = $clone(_r, Value); - _r$1 = $clone(v2, Value).Index(i); /* */ $s = 15; case 15: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - _arg$1 = $clone(_r$1, Value); - _arg$2 = visited; - _r$2 = deepValueEqualJs(_arg, _arg$1, _arg$2); /* */ $s = 16; case 16: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } - /* */ if (!_r$2) { $s = 12; continue; } - /* */ $s = 13; continue; - /* if (!_r$2) { */ case 12: - $s = -1; return false; - /* } */ case 13: - i = i + (1) >> 0; - /* } */ $s = 10; continue; case 11: - $s = -1; return true; - /* } else if (_2 === (20)) { */ case 3: - if ($clone(v1, Value).IsNil() || $clone(v2, Value).IsNil()) { - $s = -1; return $clone(v1, Value).IsNil() && $clone(v2, Value).IsNil(); - } - _r$3 = $clone(v1, Value).Elem(); /* */ $s = 17; case 17: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; } - _arg$3 = $clone(_r$3, Value); - _r$4 = $clone(v2, Value).Elem(); /* */ $s = 18; case 18: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; } - _arg$4 = $clone(_r$4, Value); - _arg$5 = visited; - _r$5 = deepValueEqualJs(_arg$3, _arg$4, _arg$5); /* */ $s = 19; case 19: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; } - $s = -1; return _r$5; - /* } else if (_2 === (22)) { */ case 4: - _r$6 = $clone(v1, Value).Elem(); /* */ $s = 20; case 20: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; } - _arg$6 = $clone(_r$6, Value); - _r$7 = $clone(v2, Value).Elem(); /* */ $s = 21; case 21: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; } - _arg$7 = $clone(_r$7, Value); - _arg$8 = visited; - _r$8 = deepValueEqualJs(_arg$6, _arg$7, _arg$8); /* */ $s = 22; case 22: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; } - $s = -1; return _r$8; - /* } else if (_2 === (25)) { */ case 5: - n$1 = $clone(v1, Value).NumField(); - i$1 = 0; - /* while (true) { */ case 23: - /* if (!(i$1 < n$1)) { break; } */ if(!(i$1 < n$1)) { $s = 24; continue; } - _r$9 = $clone(v1, Value).Field(i$1); /* */ $s = 27; case 27: if($c) { $c = false; _r$9 = _r$9.$blk(); } if (_r$9 && _r$9.$blk !== undefined) { break s; } - _arg$9 = $clone(_r$9, Value); - _r$10 = $clone(v2, Value).Field(i$1); /* */ $s = 28; case 28: if($c) { $c = false; _r$10 = _r$10.$blk(); } if (_r$10 && _r$10.$blk !== undefined) { break s; } - _arg$10 = $clone(_r$10, Value); - _arg$11 = visited; - _r$11 = deepValueEqualJs(_arg$9, _arg$10, _arg$11); /* */ $s = 29; case 29: if($c) { $c = false; _r$11 = _r$11.$blk(); } if (_r$11 && _r$11.$blk !== undefined) { break s; } - /* */ if (!_r$11) { $s = 25; continue; } - /* */ $s = 26; continue; - /* if (!_r$11) { */ case 25: - $s = -1; return false; - /* } */ case 26: - i$1 = i$1 + (1) >> 0; - /* } */ $s = 23; continue; case 24: - $s = -1; return true; - /* } else if (_2 === (21)) { */ case 6: - if (!($clone(v1, Value).IsNil() === $clone(v2, Value).IsNil())) { - $s = -1; return false; - } - if ($clone(v1, Value).object() === $clone(v2, Value).object()) { - $s = -1; return true; - } - _r$12 = $clone(v1, Value).MapKeys(); /* */ $s = 30; case 30: if($c) { $c = false; _r$12 = _r$12.$blk(); } if (_r$12 && _r$12.$blk !== undefined) { break s; } - keys = _r$12; - if (!((keys.$length === $clone(v2, Value).Len()))) { - $s = -1; return false; - } - _ref$1 = keys; - _i$1 = 0; - /* while (true) { */ case 31: - /* if (!(_i$1 < _ref$1.$length)) { break; } */ if(!(_i$1 < _ref$1.$length)) { $s = 32; continue; } - k = ((_i$1 < 0 || _i$1 >= _ref$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref$1.$array[_ref$1.$offset + _i$1]); - _r$13 = $clone(v1, Value).MapIndex($clone(k, Value)); /* */ $s = 33; case 33: if($c) { $c = false; _r$13 = _r$13.$blk(); } if (_r$13 && _r$13.$blk !== undefined) { break s; } - val1 = _r$13; - _r$14 = $clone(v2, Value).MapIndex($clone(k, Value)); /* */ $s = 34; case 34: if($c) { $c = false; _r$14 = _r$14.$blk(); } if (_r$14 && _r$14.$blk !== undefined) { break s; } - val2 = _r$14; - if (!$clone(val1, Value).IsValid() || !$clone(val2, Value).IsValid()) { _v = true; $s = 37; continue s; } - _r$15 = deepValueEqualJs($clone(val1, Value), $clone(val2, Value), visited); /* */ $s = 38; case 38: if($c) { $c = false; _r$15 = _r$15.$blk(); } if (_r$15 && _r$15.$blk !== undefined) { break s; } - _v = !_r$15; case 37: - /* */ if (_v) { $s = 35; continue; } - /* */ $s = 36; continue; - /* if (_v) { */ case 35: - $s = -1; return false; - /* } */ case 36: - _i$1++; - /* } */ $s = 31; continue; case 32: - $s = -1; return true; - /* } else if (_2 === (19)) { */ case 7: - $s = -1; return $clone(v1, Value).IsNil() && $clone(v2, Value).IsNil(); - /* } else if (_2 === (26)) { */ case 8: - $s = -1; return $clone(v1, Value).object() === $clone(v2, Value).object(); - /* } */ case 9: - case 1: - _r$16 = valueInterface($clone(v1, Value), false); /* */ $s = 39; case 39: if($c) { $c = false; _r$16 = _r$16.$blk(); } if (_r$16 && _r$16.$blk !== undefined) { break s; } - _r$17 = valueInterface($clone(v2, Value), false); /* */ $s = 40; case 40: if($c) { $c = false; _r$17 = _r$17.$blk(); } if (_r$17 && _r$17.$blk !== undefined) { break s; } - $s = -1; return !!($interfaceIsEqual(_r$16, _r$17)); - /* */ } return; } if ($f === undefined) { $f = { $blk: deepValueEqualJs }; } $f._1 = _1; $f._2 = _2; $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$10 = _arg$10; $f._arg$11 = _arg$11; $f._arg$2 = _arg$2; $f._arg$3 = _arg$3; $f._arg$4 = _arg$4; $f._arg$5 = _arg$5; $f._arg$6 = _arg$6; $f._arg$7 = _arg$7; $f._arg$8 = _arg$8; $f._arg$9 = _arg$9; $f._i = _i; $f._i$1 = _i$1; $f._r = _r; $f._r$1 = _r$1; $f._r$10 = _r$10; $f._r$11 = _r$11; $f._r$12 = _r$12; $f._r$13 = _r$13; $f._r$14 = _r$14; $f._r$15 = _r$15; $f._r$16 = _r$16; $f._r$17 = _r$17; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._r$8 = _r$8; $f._r$9 = _r$9; $f._ref = _ref; $f._ref$1 = _ref$1; $f._v = _v; $f.entry = entry; $f.i = i; $f.i$1 = i$1; $f.k = k; $f.keys = keys; $f.n = n; $f.n$1 = n$1; $f.v1 = v1; $f.v2 = v2; $f.val1 = val1; $f.val2 = val2; $f.visited = visited; $f.$s = $s; $f.$r = $r; return $f; - }; - Swapper = function(slice) { - var _1, _r, a, off, slice, v, vLen, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; a = $f.a; off = $f.off; slice = $f.slice; v = $f.v; vLen = $f.vLen; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - a = [a]; - off = [off]; - vLen = [vLen]; - _r = ValueOf(slice); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - v = _r; - if (!(($clone(v, Value).Kind() === 23))) { - $panic(new ValueError.ptr("Swapper", $clone(v, Value).Kind())); - } - vLen[0] = (($clone(v, Value).Len() >>> 0)); - _1 = vLen[0]; - if (_1 === (0)) { - $s = -1; return (function(a, off, vLen) { return function(i, j) { - var i, j; - $panic(new $String("reflect: slice index out of range")); - }; })(a, off, vLen); - } else if (_1 === (1)) { - $s = -1; return (function(a, off, vLen) { return function(i, j) { - var i, j; - if (!((i === 0)) || !((j === 0))) { - $panic(new $String("reflect: slice index out of range")); - } - }; })(a, off, vLen); - } - a[0] = slice.$array; - off[0] = $parseInt(slice.$offset) >> 0; - $s = -1; return (function(a, off, vLen) { return function(i, j) { - var i, j, tmp; - if (((i >>> 0)) >= vLen[0] || ((j >>> 0)) >= vLen[0]) { - $panic(new $String("reflect: slice index out of range")); - } - i = i + (off[0]) >> 0; - j = j + (off[0]) >> 0; - tmp = a[0][i]; - a[0][i] = a[0][j]; - a[0][j] = tmp; - }; })(a, off, vLen); - /* */ } return; } if ($f === undefined) { $f = { $blk: Swapper }; } $f._1 = _1; $f._r = _r; $f.a = a; $f.off = off; $f.slice = slice; $f.v = v; $f.vLen = vLen; $f.$s = $s; $f.$r = $r; return $f; - }; - $pkg.Swapper = Swapper; - structField.ptr.prototype.offset = function() { - var f; - f = this; - return f.offsetEmbed >>> 1 >>> 0; - }; - structField.prototype.offset = function() { return this.$val.offset(); }; - structField.ptr.prototype.embedded = function() { - var f; - f = this; - return !((((f.offsetEmbed & 1) >>> 0) === 0)); - }; - structField.prototype.embedded = function() { return this.$val.embedded(); }; - Kind.prototype.String = function() { - var k; - k = this.$val; - if (((k >> 0)) < kindNames.$length) { - return ((k < 0 || k >= kindNames.$length) ? ($throwRuntimeError("index out of range"), undefined) : kindNames.$array[kindNames.$offset + k]); - } - return "kind" + strconv.Itoa(((k >> 0))); - }; - $ptrType(Kind).prototype.String = function() { return new Kind(this.$get()).String(); }; - rtype.ptr.prototype.String = function() { - var s, t; - t = this; - s = $clone(t.nameOff(t.str), name).name(); - if (!((((t.tflag & 2) >>> 0) === 0))) { - return $substring(s, 1); - } - return s; - }; - rtype.prototype.String = function() { return this.$val.String(); }; - rtype.ptr.prototype.Size = function() { - var t; - t = this; - return t.size; - }; - rtype.prototype.Size = function() { return this.$val.Size(); }; - rtype.ptr.prototype.Bits = function() { - var k, t; - t = this; - if (t === ptrType$1.nil) { - $panic(new $String("reflect: Bits of nil Type")); - } - k = t.Kind(); - if (k < 2 || k > 16) { - $panic(new $String("reflect: Bits of non-arithmetic Type " + t.String())); - } - return $imul(((t.size >> 0)), 8); - }; - rtype.prototype.Bits = function() { return this.$val.Bits(); }; - rtype.ptr.prototype.Align = function() { - var t; - t = this; - return ((t.align >> 0)); - }; - rtype.prototype.Align = function() { return this.$val.Align(); }; - rtype.ptr.prototype.FieldAlign = function() { - var t; - t = this; - return ((t.fieldAlign >> 0)); - }; - rtype.prototype.FieldAlign = function() { return this.$val.FieldAlign(); }; - rtype.ptr.prototype.Kind = function() { - var t; - t = this; - return ((((t.kind & 31) >>> 0) >>> 0)); - }; - rtype.prototype.Kind = function() { return this.$val.Kind(); }; - rtype.ptr.prototype.common = function() { - var t; - t = this; - return t; - }; - rtype.prototype.common = function() { return this.$val.common(); }; - rtype.ptr.prototype.exportedMethods = function() { - var t, ut; - t = this; - ut = t.uncommon(); - if (ut === ptrType$5.nil) { - return sliceType$5.nil; - } - return ut.exportedMethods(); - }; - rtype.prototype.exportedMethods = function() { return this.$val.exportedMethods(); }; - rtype.ptr.prototype.NumMethod = function() { - var t, tt; - t = this; - if (t.Kind() === 20) { - tt = (t.kindType); - return tt.NumMethod(); - } - return t.exportedMethods().$length; - }; - rtype.prototype.NumMethod = function() { return this.$val.NumMethod(); }; - rtype.ptr.prototype.MethodByName = function(name$1) { - var _i, _r, _ref, _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tuple, i, m, name$1, ok, p, t, tt, ut, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _r = $f._r; _ref = $f._ref; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; _tmp$4 = $f._tmp$4; _tmp$5 = $f._tmp$5; _tuple = $f._tuple; i = $f.i; m = $f.m; name$1 = $f.name$1; ok = $f.ok; p = $f.p; t = $f.t; tt = $f.tt; ut = $f.ut; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - m = new Method.ptr("", "", $ifaceNil, new Value.ptr(ptrType$1.nil, 0, 0), 0); - ok = false; - t = this; - if (t.Kind() === 20) { - tt = (t.kindType); - _tuple = tt.MethodByName(name$1); - Method.copy(m, _tuple[0]); - ok = _tuple[1]; - $s = -1; return [m, ok]; - } - ut = t.uncommon(); - if (ut === ptrType$5.nil) { - _tmp = new Method.ptr("", "", $ifaceNil, new Value.ptr(ptrType$1.nil, 0, 0), 0); - _tmp$1 = false; - Method.copy(m, _tmp); - ok = _tmp$1; - $s = -1; return [m, ok]; - } - _ref = ut.exportedMethods(); - _i = 0; - /* while (true) { */ case 1: - /* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 2; continue; } - i = _i; - p = $clone(((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]), method); - /* */ if ($clone(t.nameOff(p.name), name).name() === name$1) { $s = 3; continue; } - /* */ $s = 4; continue; - /* if ($clone(t.nameOff(p.name), name).name() === name$1) { */ case 3: - _r = t.Method(i); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - _tmp$2 = $clone(_r, Method); - _tmp$3 = true; - Method.copy(m, _tmp$2); - ok = _tmp$3; - $s = -1; return [m, ok]; - /* } */ case 4: - _i++; - /* } */ $s = 1; continue; case 2: - _tmp$4 = new Method.ptr("", "", $ifaceNil, new Value.ptr(ptrType$1.nil, 0, 0), 0); - _tmp$5 = false; - Method.copy(m, _tmp$4); - ok = _tmp$5; - $s = -1; return [m, ok]; - /* */ } return; } if ($f === undefined) { $f = { $blk: rtype.ptr.prototype.MethodByName }; } $f._i = _i; $f._r = _r; $f._ref = _ref; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f._tmp$4 = _tmp$4; $f._tmp$5 = _tmp$5; $f._tuple = _tuple; $f.i = i; $f.m = m; $f.name$1 = name$1; $f.ok = ok; $f.p = p; $f.t = t; $f.tt = tt; $f.ut = ut; $f.$s = $s; $f.$r = $r; return $f; - }; - rtype.prototype.MethodByName = function(name$1) { return this.$val.MethodByName(name$1); }; - rtype.ptr.prototype.PkgPath = function() { - var t, ut; - t = this; - if (((t.tflag & 4) >>> 0) === 0) { - return ""; - } - ut = t.uncommon(); - if (ut === ptrType$5.nil) { - return ""; - } - return $clone(t.nameOff(ut.pkgPath), name).name(); - }; - rtype.prototype.PkgPath = function() { return this.$val.PkgPath(); }; - rtype.ptr.prototype.Name = function() { - var i, s, t; - t = this; - if (((t.tflag & 4) >>> 0) === 0) { - return ""; - } - s = t.String(); - i = s.length - 1 >> 0; - while (true) { - if (!(i >= 0)) { break; } - if (s.charCodeAt(i) === 46) { - break; - } - i = i - (1) >> 0; - } - return $substring(s, (i + 1 >> 0)); - }; - rtype.prototype.Name = function() { return this.$val.Name(); }; - rtype.ptr.prototype.ChanDir = function() { - var t, tt; - t = this; - if (!((t.Kind() === 18))) { - $panic(new $String("reflect: ChanDir of non-chan type")); - } - tt = (t.kindType); - return ((tt.dir >> 0)); - }; - rtype.prototype.ChanDir = function() { return this.$val.ChanDir(); }; - rtype.ptr.prototype.IsVariadic = function() { - var t, tt; - t = this; - if (!((t.Kind() === 19))) { - $panic(new $String("reflect: IsVariadic of non-func type")); - } - tt = (t.kindType); - return !((((tt.outCount & 32768) >>> 0) === 0)); - }; - rtype.prototype.IsVariadic = function() { return this.$val.IsVariadic(); }; - rtype.ptr.prototype.Elem = function() { - var _1, t, tt, tt$1, tt$2, tt$3, tt$4; - t = this; - _1 = t.Kind(); - if (_1 === (17)) { - tt = (t.kindType); - return toType(tt.elem); - } else if (_1 === (18)) { - tt$1 = (t.kindType); - return toType(tt$1.elem); - } else if (_1 === (21)) { - tt$2 = (t.kindType); - return toType(tt$2.elem); - } else if (_1 === (22)) { - tt$3 = (t.kindType); - return toType(tt$3.elem); - } else if (_1 === (23)) { - tt$4 = (t.kindType); - return toType(tt$4.elem); - } - $panic(new $String("reflect: Elem of invalid type")); - }; - rtype.prototype.Elem = function() { return this.$val.Elem(); }; - rtype.ptr.prototype.Field = function(i) { - var i, t, tt; - t = this; - if (!((t.Kind() === 25))) { - $panic(new $String("reflect: Field of non-struct type")); - } - tt = (t.kindType); - return tt.Field(i); - }; - rtype.prototype.Field = function(i) { return this.$val.Field(i); }; - rtype.ptr.prototype.FieldByIndex = function(index) { - var _r, index, t, tt, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; index = $f.index; t = $f.t; tt = $f.tt; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - t = this; - if (!((t.Kind() === 25))) { - $panic(new $String("reflect: FieldByIndex of non-struct type")); - } - tt = (t.kindType); - _r = tt.FieldByIndex(index); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - $s = -1; return _r; - /* */ } return; } if ($f === undefined) { $f = { $blk: rtype.ptr.prototype.FieldByIndex }; } $f._r = _r; $f.index = index; $f.t = t; $f.tt = tt; $f.$s = $s; $f.$r = $r; return $f; - }; - rtype.prototype.FieldByIndex = function(index) { return this.$val.FieldByIndex(index); }; - rtype.ptr.prototype.FieldByName = function(name$1) { - var _r, name$1, t, tt, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; name$1 = $f.name$1; t = $f.t; tt = $f.tt; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - t = this; - if (!((t.Kind() === 25))) { - $panic(new $String("reflect: FieldByName of non-struct type")); - } - tt = (t.kindType); - _r = tt.FieldByName(name$1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - $s = -1; return _r; - /* */ } return; } if ($f === undefined) { $f = { $blk: rtype.ptr.prototype.FieldByName }; } $f._r = _r; $f.name$1 = name$1; $f.t = t; $f.tt = tt; $f.$s = $s; $f.$r = $r; return $f; - }; - rtype.prototype.FieldByName = function(name$1) { return this.$val.FieldByName(name$1); }; - rtype.ptr.prototype.FieldByNameFunc = function(match) { - var _r, match, t, tt, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; match = $f.match; t = $f.t; tt = $f.tt; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - t = this; - if (!((t.Kind() === 25))) { - $panic(new $String("reflect: FieldByNameFunc of non-struct type")); - } - tt = (t.kindType); - _r = tt.FieldByNameFunc(match); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - $s = -1; return _r; - /* */ } return; } if ($f === undefined) { $f = { $blk: rtype.ptr.prototype.FieldByNameFunc }; } $f._r = _r; $f.match = match; $f.t = t; $f.tt = tt; $f.$s = $s; $f.$r = $r; return $f; - }; - rtype.prototype.FieldByNameFunc = function(match) { return this.$val.FieldByNameFunc(match); }; - rtype.ptr.prototype.In = function(i) { - var i, t, tt, x; - t = this; - if (!((t.Kind() === 19))) { - $panic(new $String("reflect: In of non-func type")); - } - tt = (t.kindType); - return toType((x = tt.in$(), ((i < 0 || i >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + i]))); - }; - rtype.prototype.In = function(i) { return this.$val.In(i); }; - rtype.ptr.prototype.Key = function() { - var t, tt; - t = this; - if (!((t.Kind() === 21))) { - $panic(new $String("reflect: Key of non-map type")); - } - tt = (t.kindType); - return toType(tt.key); - }; - rtype.prototype.Key = function() { return this.$val.Key(); }; - rtype.ptr.prototype.Len = function() { - var t, tt; - t = this; - if (!((t.Kind() === 17))) { - $panic(new $String("reflect: Len of non-array type")); - } - tt = (t.kindType); - return ((tt.len >> 0)); - }; - rtype.prototype.Len = function() { return this.$val.Len(); }; - rtype.ptr.prototype.NumField = function() { - var t, tt; - t = this; - if (!((t.Kind() === 25))) { - $panic(new $String("reflect: NumField of non-struct type")); - } - tt = (t.kindType); - return tt.fields.$length; - }; - rtype.prototype.NumField = function() { return this.$val.NumField(); }; - rtype.ptr.prototype.NumIn = function() { - var t, tt; - t = this; - if (!((t.Kind() === 19))) { - $panic(new $String("reflect: NumIn of non-func type")); - } - tt = (t.kindType); - return ((tt.inCount >> 0)); - }; - rtype.prototype.NumIn = function() { return this.$val.NumIn(); }; - rtype.ptr.prototype.NumOut = function() { - var t, tt; - t = this; - if (!((t.Kind() === 19))) { - $panic(new $String("reflect: NumOut of non-func type")); - } - tt = (t.kindType); - return tt.out().$length; - }; - rtype.prototype.NumOut = function() { return this.$val.NumOut(); }; - rtype.ptr.prototype.Out = function(i) { - var i, t, tt, x; - t = this; - if (!((t.Kind() === 19))) { - $panic(new $String("reflect: Out of non-func type")); - } - tt = (t.kindType); - return toType((x = tt.out(), ((i < 0 || i >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + i]))); - }; - rtype.prototype.Out = function(i) { return this.$val.Out(i); }; - ChanDir.prototype.String = function() { - var _1, d; - d = this.$val; - _1 = d; - if (_1 === (2)) { - return "chan<-"; - } else if (_1 === (1)) { - return "<-chan"; - } else if (_1 === (3)) { - return "chan"; - } - return "ChanDir" + strconv.Itoa(((d >> 0))); - }; - $ptrType(ChanDir).prototype.String = function() { return new ChanDir(this.$get()).String(); }; - interfaceType.ptr.prototype.Method = function(i) { - var i, m, p, pname, t, x; - m = new Method.ptr("", "", $ifaceNil, new Value.ptr(ptrType$1.nil, 0, 0), 0); - t = this; - if (i < 0 || i >= t.methods.$length) { - return m; - } - p = (x = t.methods, ((i < 0 || i >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + i])); - pname = $clone(t.rtype.nameOff(p.name), name); - m.Name = $clone(pname, name).name(); - if (!$clone(pname, name).isExported()) { - m.PkgPath = $clone(pname, name).pkgPath(); - if (m.PkgPath === "") { - m.PkgPath = $clone(t.pkgPath, name).name(); - } - } - m.Type = toType(t.rtype.typeOff(p.typ)); - m.Index = i; - return m; - }; - interfaceType.prototype.Method = function(i) { return this.$val.Method(i); }; - interfaceType.ptr.prototype.NumMethod = function() { - var t; - t = this; - return t.methods.$length; - }; - interfaceType.prototype.NumMethod = function() { return this.$val.NumMethod(); }; - interfaceType.ptr.prototype.MethodByName = function(name$1) { - var _i, _ref, _tmp, _tmp$1, i, m, name$1, ok, p, t, x; - m = new Method.ptr("", "", $ifaceNil, new Value.ptr(ptrType$1.nil, 0, 0), 0); - ok = false; - t = this; - if (t === ptrType$7.nil) { - return [m, ok]; - } - p = ptrType$8.nil; - _ref = t.methods; - _i = 0; - while (true) { - if (!(_i < _ref.$length)) { break; } - i = _i; - p = (x = t.methods, ((i < 0 || i >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + i])); - if ($clone(t.rtype.nameOff(p.name), name).name() === name$1) { - _tmp = $clone(t.Method(i), Method); - _tmp$1 = true; - Method.copy(m, _tmp); - ok = _tmp$1; - return [m, ok]; - } - _i++; - } - return [m, ok]; - }; - interfaceType.prototype.MethodByName = function(name$1) { return this.$val.MethodByName(name$1); }; - StructTag.prototype.Get = function(key) { - var _tuple, key, tag, v; - tag = this.$val; - _tuple = new StructTag(tag).Lookup(key); - v = _tuple[0]; - return v; - }; - $ptrType(StructTag).prototype.Get = function(key) { return new StructTag(this.$get()).Get(key); }; - StructTag.prototype.Lookup = function(key) { - var _tmp, _tmp$1, _tmp$2, _tmp$3, _tuple, err, i, key, name$1, ok, qvalue, tag, value, value$1; - value = ""; - ok = false; - tag = this.$val; - while (true) { - if (!(!(tag === ""))) { break; } - i = 0; - while (true) { - if (!(i < tag.length && (tag.charCodeAt(i) === 32))) { break; } - i = i + (1) >> 0; - } - tag = $substring(tag, i); - if (tag === "") { - break; - } - i = 0; - while (true) { - if (!(i < tag.length && tag.charCodeAt(i) > 32 && !((tag.charCodeAt(i) === 58)) && !((tag.charCodeAt(i) === 34)) && !((tag.charCodeAt(i) === 127)))) { break; } - i = i + (1) >> 0; - } - if ((i === 0) || (i + 1 >> 0) >= tag.length || !((tag.charCodeAt(i) === 58)) || !((tag.charCodeAt((i + 1 >> 0)) === 34))) { - break; - } - name$1 = ($substring(tag, 0, i)); - tag = $substring(tag, (i + 1 >> 0)); - i = 1; - while (true) { - if (!(i < tag.length && !((tag.charCodeAt(i) === 34)))) { break; } - if (tag.charCodeAt(i) === 92) { - i = i + (1) >> 0; - } - i = i + (1) >> 0; - } - if (i >= tag.length) { - break; - } - qvalue = ($substring(tag, 0, (i + 1 >> 0))); - tag = $substring(tag, (i + 1 >> 0)); - if (key === name$1) { - _tuple = strconv.Unquote(qvalue); - value$1 = _tuple[0]; - err = _tuple[1]; - if (!($interfaceIsEqual(err, $ifaceNil))) { - break; - } - _tmp = value$1; - _tmp$1 = true; - value = _tmp; - ok = _tmp$1; - return [value, ok]; - } - } - _tmp$2 = ""; - _tmp$3 = false; - value = _tmp$2; - ok = _tmp$3; - return [value, ok]; - }; - $ptrType(StructTag).prototype.Lookup = function(key) { return new StructTag(this.$get()).Lookup(key); }; - structType.ptr.prototype.Field = function(i) { - var f, i, p, t, tag, x; - f = new StructField.ptr("", "", $ifaceNil, "", 0, sliceType$13.nil, false); - t = this; - if (i < 0 || i >= t.fields.$length) { - $panic(new $String("reflect: Field index out of bounds")); - } - p = (x = t.fields, ((i < 0 || i >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + i])); - f.Type = toType(p.typ); - f.Name = $clone(p.name, name).name(); - f.Anonymous = p.embedded(); - if (!$clone(p.name, name).isExported()) { - f.PkgPath = $clone(t.pkgPath, name).name(); - } - tag = $clone(p.name, name).tag(); - if (!(tag === "")) { - f.Tag = (tag); - } - f.Offset = p.offset(); - f.Index = new sliceType$13([i]); - return f; - }; - structType.prototype.Field = function(i) { return this.$val.Field(i); }; - structType.ptr.prototype.FieldByIndex = function(index) { - var _i, _r, _r$1, _r$2, _r$3, _r$4, _ref, _v, f, ft, i, index, t, x, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _ref = $f._ref; _v = $f._v; f = $f.f; ft = $f.ft; i = $f.i; index = $f.index; t = $f.t; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - f = new StructField.ptr("", "", $ifaceNil, "", 0, sliceType$13.nil, false); - t = this; - f.Type = toType(t.rtype); - _ref = index; - _i = 0; - /* while (true) { */ case 1: - /* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 2; continue; } - i = _i; - x = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]); - /* */ if (i > 0) { $s = 3; continue; } - /* */ $s = 4; continue; - /* if (i > 0) { */ case 3: - ft = f.Type; - _r = ft.Kind(); /* */ $s = 8; case 8: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - if (!(_r === 22)) { _v = false; $s = 7; continue s; } - _r$1 = ft.Elem(); /* */ $s = 9; case 9: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - _r$2 = _r$1.Kind(); /* */ $s = 10; case 10: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } - _v = _r$2 === 25; case 7: - /* */ if (_v) { $s = 5; continue; } - /* */ $s = 6; continue; - /* if (_v) { */ case 5: - _r$3 = ft.Elem(); /* */ $s = 11; case 11: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; } - ft = _r$3; - /* } */ case 6: - f.Type = ft; - /* } */ case 4: - _r$4 = f.Type.Field(x); /* */ $s = 12; case 12: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; } - StructField.copy(f, _r$4); - _i++; - /* } */ $s = 1; continue; case 2: - $s = -1; return f; - /* */ } return; } if ($f === undefined) { $f = { $blk: structType.ptr.prototype.FieldByIndex }; } $f._i = _i; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._ref = _ref; $f._v = _v; $f.f = f; $f.ft = ft; $f.i = i; $f.index = index; $f.t = t; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; - }; - structType.prototype.FieldByIndex = function(index) { return this.$val.FieldByIndex(index); }; - structType.ptr.prototype.FieldByNameFunc = function(match) { - var _entry, _entry$1, _entry$2, _entry$3, _i, _i$1, _key, _key$1, _key$2, _key$3, _r, _r$1, _ref, _ref$1, _tmp, _tmp$1, _tmp$2, _tmp$3, count, current, f, fname, i, index, match, next, nextCount, ntyp, ok, result, scan, styp, t, t$1, visited, x, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _entry = $f._entry; _entry$1 = $f._entry$1; _entry$2 = $f._entry$2; _entry$3 = $f._entry$3; _i = $f._i; _i$1 = $f._i$1; _key = $f._key; _key$1 = $f._key$1; _key$2 = $f._key$2; _key$3 = $f._key$3; _r = $f._r; _r$1 = $f._r$1; _ref = $f._ref; _ref$1 = $f._ref$1; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tmp$2 = $f._tmp$2; _tmp$3 = $f._tmp$3; count = $f.count; current = $f.current; f = $f.f; fname = $f.fname; i = $f.i; index = $f.index; match = $f.match; next = $f.next; nextCount = $f.nextCount; ntyp = $f.ntyp; ok = $f.ok; result = $f.result; scan = $f.scan; styp = $f.styp; t = $f.t; t$1 = $f.t$1; visited = $f.visited; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - result = new StructField.ptr("", "", $ifaceNil, "", 0, sliceType$13.nil, false); - ok = false; - t = this; - current = new sliceType$14([]); - next = new sliceType$14([new fieldScan.ptr(t, sliceType$13.nil)]); - nextCount = false; - visited = $makeMap(ptrType$9.keyFor, []); - /* while (true) { */ case 1: - /* if (!(next.$length > 0)) { break; } */ if(!(next.$length > 0)) { $s = 2; continue; } - _tmp = next; - _tmp$1 = $subslice(current, 0, 0); - current = _tmp; - next = _tmp$1; - count = nextCount; - nextCount = false; - _ref = current; - _i = 0; - /* while (true) { */ case 3: - /* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 4; continue; } - scan = $clone(((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]), fieldScan); - t$1 = scan.typ; - /* */ if ((_entry = visited[ptrType$9.keyFor(t$1)], _entry !== undefined ? _entry.v : false)) { $s = 5; continue; } - /* */ $s = 6; continue; - /* if ((_entry = visited[ptrType$9.keyFor(t$1)], _entry !== undefined ? _entry.v : false)) { */ case 5: - _i++; - /* continue; */ $s = 3; continue; - /* } */ case 6: - _key = t$1; (visited || $throwRuntimeError("assignment to entry in nil map"))[ptrType$9.keyFor(_key)] = { k: _key, v: true }; - _ref$1 = t$1.fields; - _i$1 = 0; - /* while (true) { */ case 7: - /* if (!(_i$1 < _ref$1.$length)) { break; } */ if(!(_i$1 < _ref$1.$length)) { $s = 8; continue; } - i = _i$1; - f = (x = t$1.fields, ((i < 0 || i >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + i])); - fname = $clone(f.name, name).name(); - ntyp = ptrType$1.nil; - /* */ if (f.embedded()) { $s = 9; continue; } - /* */ $s = 10; continue; - /* if (f.embedded()) { */ case 9: - ntyp = f.typ; - /* */ if (ntyp.Kind() === 22) { $s = 11; continue; } - /* */ $s = 12; continue; - /* if (ntyp.Kind() === 22) { */ case 11: - _r = ntyp.Elem().common(); /* */ $s = 13; case 13: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - ntyp = _r; - /* } */ case 12: - /* } */ case 10: - _r$1 = match(fname); /* */ $s = 16; case 16: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - /* */ if (_r$1) { $s = 14; continue; } - /* */ $s = 15; continue; - /* if (_r$1) { */ case 14: - if ((_entry$1 = count[ptrType$9.keyFor(t$1)], _entry$1 !== undefined ? _entry$1.v : 0) > 1 || ok) { - _tmp$2 = new StructField.ptr("", "", $ifaceNil, "", 0, sliceType$13.nil, false); - _tmp$3 = false; - StructField.copy(result, _tmp$2); - ok = _tmp$3; - $s = -1; return [result, ok]; - } - StructField.copy(result, t$1.Field(i)); - result.Index = sliceType$13.nil; - result.Index = $appendSlice(result.Index, scan.index); - result.Index = $append(result.Index, i); - ok = true; - _i$1++; - /* continue; */ $s = 7; continue; - /* } */ case 15: - if (ok || ntyp === ptrType$1.nil || !((ntyp.Kind() === 25))) { - _i$1++; - /* continue; */ $s = 7; continue; - } - styp = (ntyp.kindType); - if ((_entry$2 = nextCount[ptrType$9.keyFor(styp)], _entry$2 !== undefined ? _entry$2.v : 0) > 0) { - _key$1 = styp; (nextCount || $throwRuntimeError("assignment to entry in nil map"))[ptrType$9.keyFor(_key$1)] = { k: _key$1, v: 2 }; - _i$1++; - /* continue; */ $s = 7; continue; - } - if (nextCount === false) { - nextCount = $makeMap(ptrType$9.keyFor, []); - } - _key$2 = styp; (nextCount || $throwRuntimeError("assignment to entry in nil map"))[ptrType$9.keyFor(_key$2)] = { k: _key$2, v: 1 }; - if ((_entry$3 = count[ptrType$9.keyFor(t$1)], _entry$3 !== undefined ? _entry$3.v : 0) > 1) { - _key$3 = styp; (nextCount || $throwRuntimeError("assignment to entry in nil map"))[ptrType$9.keyFor(_key$3)] = { k: _key$3, v: 2 }; - } - index = sliceType$13.nil; - index = $appendSlice(index, scan.index); - index = $append(index, i); - next = $append(next, new fieldScan.ptr(styp, index)); - _i$1++; - /* } */ $s = 7; continue; case 8: - _i++; - /* } */ $s = 3; continue; case 4: - if (ok) { - /* break; */ $s = 2; continue; - } - /* } */ $s = 1; continue; case 2: - $s = -1; return [result, ok]; - /* */ } return; } if ($f === undefined) { $f = { $blk: structType.ptr.prototype.FieldByNameFunc }; } $f._entry = _entry; $f._entry$1 = _entry$1; $f._entry$2 = _entry$2; $f._entry$3 = _entry$3; $f._i = _i; $f._i$1 = _i$1; $f._key = _key; $f._key$1 = _key$1; $f._key$2 = _key$2; $f._key$3 = _key$3; $f._r = _r; $f._r$1 = _r$1; $f._ref = _ref; $f._ref$1 = _ref$1; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tmp$2 = _tmp$2; $f._tmp$3 = _tmp$3; $f.count = count; $f.current = current; $f.f = f; $f.fname = fname; $f.i = i; $f.index = index; $f.match = match; $f.next = next; $f.nextCount = nextCount; $f.ntyp = ntyp; $f.ok = ok; $f.result = result; $f.scan = scan; $f.styp = styp; $f.t = t; $f.t$1 = t$1; $f.visited = visited; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; - }; - structType.prototype.FieldByNameFunc = function(match) { return this.$val.FieldByNameFunc(match); }; - structType.ptr.prototype.FieldByName = function(name$1) { - var _i, _r, _ref, _tmp, _tmp$1, _tuple, f, hasEmbeds, i, name$1, present, t, tf, x, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _r = $f._r; _ref = $f._ref; _tmp = $f._tmp; _tmp$1 = $f._tmp$1; _tuple = $f._tuple; f = $f.f; hasEmbeds = $f.hasEmbeds; i = $f.i; name$1 = $f.name$1; present = $f.present; t = $f.t; tf = $f.tf; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - name$1 = [name$1]; - f = new StructField.ptr("", "", $ifaceNil, "", 0, sliceType$13.nil, false); - present = false; - t = this; - hasEmbeds = false; - if (!(name$1[0] === "")) { - _ref = t.fields; - _i = 0; - while (true) { - if (!(_i < _ref.$length)) { break; } - i = _i; - tf = (x = t.fields, ((i < 0 || i >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + i])); - if ($clone(tf.name, name).name() === name$1[0]) { - _tmp = $clone(t.Field(i), StructField); - _tmp$1 = true; - StructField.copy(f, _tmp); - present = _tmp$1; - $s = -1; return [f, present]; - } - if (tf.embedded()) { - hasEmbeds = true; - } - _i++; - } - } - if (!hasEmbeds) { - $s = -1; return [f, present]; - } - _r = t.FieldByNameFunc((function(name$1) { return function(s) { - var s; - return s === name$1[0]; - }; })(name$1)); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - _tuple = _r; - StructField.copy(f, _tuple[0]); - present = _tuple[1]; - $s = -1; return [f, present]; - /* */ } return; } if ($f === undefined) { $f = { $blk: structType.ptr.prototype.FieldByName }; } $f._i = _i; $f._r = _r; $f._ref = _ref; $f._tmp = _tmp; $f._tmp$1 = _tmp$1; $f._tuple = _tuple; $f.f = f; $f.hasEmbeds = hasEmbeds; $f.i = i; $f.name$1 = name$1; $f.present = present; $f.t = t; $f.tf = tf; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; - }; - structType.prototype.FieldByName = function(name$1) { return this.$val.FieldByName(name$1); }; - PtrTo = function(t) { - var t; - return $assertType(t, ptrType$1).ptrTo(); - }; - $pkg.PtrTo = PtrTo; - rtype.ptr.prototype.Implements = function(u) { - var _r, t, u, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; u = $f.u; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - t = this; - if ($interfaceIsEqual(u, $ifaceNil)) { - $panic(new $String("reflect: nil type passed to Type.Implements")); - } - _r = u.Kind(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - /* */ if (!((_r === 20))) { $s = 1; continue; } - /* */ $s = 2; continue; - /* if (!((_r === 20))) { */ case 1: - $panic(new $String("reflect: non-interface type passed to Type.Implements")); - /* } */ case 2: - $s = -1; return implements$1($assertType(u, ptrType$1), t); - /* */ } return; } if ($f === undefined) { $f = { $blk: rtype.ptr.prototype.Implements }; } $f._r = _r; $f.t = t; $f.u = u; $f.$s = $s; $f.$r = $r; return $f; - }; - rtype.prototype.Implements = function(u) { return this.$val.Implements(u); }; - rtype.ptr.prototype.AssignableTo = function(u) { - var _r, t, u, uu, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; u = $f.u; uu = $f.uu; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - t = this; - if ($interfaceIsEqual(u, $ifaceNil)) { - $panic(new $String("reflect: nil type passed to Type.AssignableTo")); - } - uu = $assertType(u, ptrType$1); - _r = directlyAssignable(uu, t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - $s = -1; return _r || implements$1(uu, t); - /* */ } return; } if ($f === undefined) { $f = { $blk: rtype.ptr.prototype.AssignableTo }; } $f._r = _r; $f.t = t; $f.u = u; $f.uu = uu; $f.$s = $s; $f.$r = $r; return $f; - }; - rtype.prototype.AssignableTo = function(u) { return this.$val.AssignableTo(u); }; - rtype.ptr.prototype.ConvertibleTo = function(u) { - var _r, t, u, uu, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; u = $f.u; uu = $f.uu; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - t = this; - if ($interfaceIsEqual(u, $ifaceNil)) { - $panic(new $String("reflect: nil type passed to Type.ConvertibleTo")); - } - uu = $assertType(u, ptrType$1); - _r = convertOp(uu, t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - $s = -1; return !(_r === $throwNilPointerError); - /* */ } return; } if ($f === undefined) { $f = { $blk: rtype.ptr.prototype.ConvertibleTo }; } $f._r = _r; $f.t = t; $f.u = u; $f.uu = uu; $f.$s = $s; $f.$r = $r; return $f; - }; - rtype.prototype.ConvertibleTo = function(u) { return this.$val.ConvertibleTo(u); }; - implements$1 = function(T, V) { - var T, V, i, i$1, j, j$1, t, tm, tm$1, tmName, tmName$1, tmPkgPath, tmPkgPath$1, v, v$1, vm, vm$1, vmName, vmName$1, vmPkgPath, vmPkgPath$1, vmethods, x, x$1, x$2; - if (!((T.Kind() === 20))) { - return false; - } - t = (T.kindType); - if (t.methods.$length === 0) { - return true; - } - if (V.Kind() === 20) { - v = (V.kindType); - i = 0; - j = 0; - while (true) { - if (!(j < v.methods.$length)) { break; } - tm = (x = t.methods, ((i < 0 || i >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + i])); - tmName = $clone(t.rtype.nameOff(tm.name), name); - vm = (x$1 = v.methods, ((j < 0 || j >= x$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$1.$array[x$1.$offset + j])); - vmName = $clone(V.nameOff(vm.name), name); - if ($clone(vmName, name).name() === $clone(tmName, name).name() && V.typeOff(vm.typ) === t.rtype.typeOff(tm.typ)) { - if (!$clone(tmName, name).isExported()) { - tmPkgPath = $clone(tmName, name).pkgPath(); - if (tmPkgPath === "") { - tmPkgPath = $clone(t.pkgPath, name).name(); - } - vmPkgPath = $clone(vmName, name).pkgPath(); - if (vmPkgPath === "") { - vmPkgPath = $clone(v.pkgPath, name).name(); - } - if (!(tmPkgPath === vmPkgPath)) { - j = j + (1) >> 0; - continue; - } - } - i = i + (1) >> 0; - if (i >= t.methods.$length) { - return true; - } - } - j = j + (1) >> 0; - } - return false; - } - v$1 = V.uncommon(); - if (v$1 === ptrType$5.nil) { - return false; - } - i$1 = 0; - vmethods = v$1.methods(); - j$1 = 0; - while (true) { - if (!(j$1 < ((v$1.mcount >> 0)))) { break; } - tm$1 = (x$2 = t.methods, ((i$1 < 0 || i$1 >= x$2.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$2.$array[x$2.$offset + i$1])); - tmName$1 = $clone(t.rtype.nameOff(tm$1.name), name); - vm$1 = $clone(((j$1 < 0 || j$1 >= vmethods.$length) ? ($throwRuntimeError("index out of range"), undefined) : vmethods.$array[vmethods.$offset + j$1]), method); - vmName$1 = $clone(V.nameOff(vm$1.name), name); - if ($clone(vmName$1, name).name() === $clone(tmName$1, name).name() && V.typeOff(vm$1.mtyp) === t.rtype.typeOff(tm$1.typ)) { - if (!$clone(tmName$1, name).isExported()) { - tmPkgPath$1 = $clone(tmName$1, name).pkgPath(); - if (tmPkgPath$1 === "") { - tmPkgPath$1 = $clone(t.pkgPath, name).name(); - } - vmPkgPath$1 = $clone(vmName$1, name).pkgPath(); - if (vmPkgPath$1 === "") { - vmPkgPath$1 = $clone(V.nameOff(v$1.pkgPath), name).name(); - } - if (!(tmPkgPath$1 === vmPkgPath$1)) { - j$1 = j$1 + (1) >> 0; - continue; - } - } - i$1 = i$1 + (1) >> 0; - if (i$1 >= t.methods.$length) { - return true; - } - } - j$1 = j$1 + (1) >> 0; - } - return false; - }; - directlyAssignable = function(T, V) { - var T, V, _r, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; T = $f.T; V = $f.V; _r = $f._r; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - if (T === V) { - $s = -1; return true; - } - if (!(T.Name() === "") && !(V.Name() === "") || !((T.Kind() === V.Kind()))) { - $s = -1; return false; - } - _r = haveIdenticalUnderlyingType(T, V, true); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - $s = -1; return _r; - /* */ } return; } if ($f === undefined) { $f = { $blk: directlyAssignable }; } $f.T = T; $f.V = V; $f._r = _r; $f.$s = $s; $f.$r = $r; return $f; - }; - haveIdenticalType = function(T, V, cmpTags) { - var T, V, _arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _v, cmpTags, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; T = $f.T; V = $f.V; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _v = $f._v; cmpTags = $f.cmpTags; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - if (cmpTags) { - $s = -1; return $interfaceIsEqual(T, V); - } - _r = T.Name(); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - _r$1 = V.Name(); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - if (!(_r === _r$1)) { _v = true; $s = 3; continue s; } - _r$2 = T.Kind(); /* */ $s = 6; case 6: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } - _r$3 = V.Kind(); /* */ $s = 7; case 7: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; } - _v = !((_r$2 === _r$3)); case 3: - /* */ if (_v) { $s = 1; continue; } - /* */ $s = 2; continue; - /* if (_v) { */ case 1: - $s = -1; return false; - /* } */ case 2: - _r$4 = T.common(); /* */ $s = 8; case 8: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; } - _arg = _r$4; - _r$5 = V.common(); /* */ $s = 9; case 9: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; } - _arg$1 = _r$5; - _r$6 = haveIdenticalUnderlyingType(_arg, _arg$1, false); /* */ $s = 10; case 10: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; } - $s = -1; return _r$6; - /* */ } return; } if ($f === undefined) { $f = { $blk: haveIdenticalType }; } $f.T = T; $f.V = V; $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._v = _v; $f.cmpTags = cmpTags; $f.$s = $s; $f.$r = $r; return $f; - }; - haveIdenticalUnderlyingType = function(T, V, cmpTags) { - var T, V, _1, _i, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _r$8, _ref, _v, _v$1, _v$2, _v$3, cmpTags, i, i$1, i$2, kind, t, t$1, t$2, tf, v, v$1, v$2, vf, x, x$1, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; T = $f.T; V = $f.V; _1 = $f._1; _i = $f._i; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _r$8 = $f._r$8; _ref = $f._ref; _v = $f._v; _v$1 = $f._v$1; _v$2 = $f._v$2; _v$3 = $f._v$3; cmpTags = $f.cmpTags; i = $f.i; i$1 = $f.i$1; i$2 = $f.i$2; kind = $f.kind; t = $f.t; t$1 = $f.t$1; t$2 = $f.t$2; tf = $f.tf; v = $f.v; v$1 = $f.v$1; v$2 = $f.v$2; vf = $f.vf; x = $f.x; x$1 = $f.x$1; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - if (T === V) { - $s = -1; return true; - } - kind = T.Kind(); - if (!((kind === V.Kind()))) { - $s = -1; return false; - } - if (1 <= kind && kind <= 16 || (kind === 24) || (kind === 26)) { - $s = -1; return true; - } - _1 = kind; - /* */ if (_1 === (17)) { $s = 2; continue; } - /* */ if (_1 === (18)) { $s = 3; continue; } - /* */ if (_1 === (19)) { $s = 4; continue; } - /* */ if (_1 === (20)) { $s = 5; continue; } - /* */ if (_1 === (21)) { $s = 6; continue; } - /* */ if ((_1 === (22)) || (_1 === (23))) { $s = 7; continue; } - /* */ if (_1 === (25)) { $s = 8; continue; } - /* */ $s = 9; continue; - /* if (_1 === (17)) { */ case 2: - if (!(T.Len() === V.Len())) { _v = false; $s = 10; continue s; } - _r = haveIdenticalType(T.Elem(), V.Elem(), cmpTags); /* */ $s = 11; case 11: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - _v = _r; case 10: - $s = -1; return _v; - /* } else if (_1 === (18)) { */ case 3: - if (!(V.ChanDir() === 3)) { _v$1 = false; $s = 14; continue s; } - _r$1 = haveIdenticalType(T.Elem(), V.Elem(), cmpTags); /* */ $s = 15; case 15: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - _v$1 = _r$1; case 14: - /* */ if (_v$1) { $s = 12; continue; } - /* */ $s = 13; continue; - /* if (_v$1) { */ case 12: - $s = -1; return true; - /* } */ case 13: - if (!(V.ChanDir() === T.ChanDir())) { _v$2 = false; $s = 16; continue s; } - _r$2 = haveIdenticalType(T.Elem(), V.Elem(), cmpTags); /* */ $s = 17; case 17: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } - _v$2 = _r$2; case 16: - $s = -1; return _v$2; - /* } else if (_1 === (19)) { */ case 4: - t = (T.kindType); - v = (V.kindType); - if (!((t.outCount === v.outCount)) || !((t.inCount === v.inCount))) { - $s = -1; return false; - } - i = 0; - /* while (true) { */ case 18: - /* if (!(i < t.rtype.NumIn())) { break; } */ if(!(i < t.rtype.NumIn())) { $s = 19; continue; } - _r$3 = haveIdenticalType(t.rtype.In(i), v.rtype.In(i), cmpTags); /* */ $s = 22; case 22: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; } - /* */ if (!_r$3) { $s = 20; continue; } - /* */ $s = 21; continue; - /* if (!_r$3) { */ case 20: - $s = -1; return false; - /* } */ case 21: - i = i + (1) >> 0; - /* } */ $s = 18; continue; case 19: - i$1 = 0; - /* while (true) { */ case 23: - /* if (!(i$1 < t.rtype.NumOut())) { break; } */ if(!(i$1 < t.rtype.NumOut())) { $s = 24; continue; } - _r$4 = haveIdenticalType(t.rtype.Out(i$1), v.rtype.Out(i$1), cmpTags); /* */ $s = 27; case 27: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; } - /* */ if (!_r$4) { $s = 25; continue; } - /* */ $s = 26; continue; - /* if (!_r$4) { */ case 25: - $s = -1; return false; - /* } */ case 26: - i$1 = i$1 + (1) >> 0; - /* } */ $s = 23; continue; case 24: - $s = -1; return true; - /* } else if (_1 === (20)) { */ case 5: - t$1 = (T.kindType); - v$1 = (V.kindType); - if ((t$1.methods.$length === 0) && (v$1.methods.$length === 0)) { - $s = -1; return true; - } - $s = -1; return false; - /* } else if (_1 === (21)) { */ case 6: - _r$5 = haveIdenticalType(T.Key(), V.Key(), cmpTags); /* */ $s = 29; case 29: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; } - if (!(_r$5)) { _v$3 = false; $s = 28; continue s; } - _r$6 = haveIdenticalType(T.Elem(), V.Elem(), cmpTags); /* */ $s = 30; case 30: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; } - _v$3 = _r$6; case 28: - $s = -1; return _v$3; - /* } else if ((_1 === (22)) || (_1 === (23))) { */ case 7: - _r$7 = haveIdenticalType(T.Elem(), V.Elem(), cmpTags); /* */ $s = 31; case 31: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; } - $s = -1; return _r$7; - /* } else if (_1 === (25)) { */ case 8: - t$2 = (T.kindType); - v$2 = (V.kindType); - if (!((t$2.fields.$length === v$2.fields.$length))) { - $s = -1; return false; - } - if (!($clone(t$2.pkgPath, name).name() === $clone(v$2.pkgPath, name).name())) { - $s = -1; return false; - } - _ref = t$2.fields; - _i = 0; - /* while (true) { */ case 32: - /* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 33; continue; } - i$2 = _i; - tf = (x = t$2.fields, ((i$2 < 0 || i$2 >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + i$2])); - vf = (x$1 = v$2.fields, ((i$2 < 0 || i$2 >= x$1.$length) ? ($throwRuntimeError("index out of range"), undefined) : x$1.$array[x$1.$offset + i$2])); - if (!($clone(tf.name, name).name() === $clone(vf.name, name).name())) { - $s = -1; return false; - } - _r$8 = haveIdenticalType(tf.typ, vf.typ, cmpTags); /* */ $s = 36; case 36: if($c) { $c = false; _r$8 = _r$8.$blk(); } if (_r$8 && _r$8.$blk !== undefined) { break s; } - /* */ if (!_r$8) { $s = 34; continue; } - /* */ $s = 35; continue; - /* if (!_r$8) { */ case 34: - $s = -1; return false; - /* } */ case 35: - if (cmpTags && !($clone(tf.name, name).tag() === $clone(vf.name, name).tag())) { - $s = -1; return false; - } - if (!((tf.offsetEmbed === vf.offsetEmbed))) { - $s = -1; return false; - } - _i++; - /* } */ $s = 32; continue; case 33: - $s = -1; return true; - /* } */ case 9: - case 1: - $s = -1; return false; - /* */ } return; } if ($f === undefined) { $f = { $blk: haveIdenticalUnderlyingType }; } $f.T = T; $f.V = V; $f._1 = _1; $f._i = _i; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._r$8 = _r$8; $f._ref = _ref; $f._v = _v; $f._v$1 = _v$1; $f._v$2 = _v$2; $f._v$3 = _v$3; $f.cmpTags = cmpTags; $f.i = i; $f.i$1 = i$1; $f.i$2 = i$2; $f.kind = kind; $f.t = t; $f.t$1 = t$1; $f.t$2 = t$2; $f.tf = tf; $f.v = v; $f.v$1 = v$1; $f.v$2 = v$2; $f.vf = vf; $f.x = x; $f.x$1 = x$1; $f.$s = $s; $f.$r = $r; return $f; - }; - toType = function(t) { - var t; - if (t === ptrType$1.nil) { - return $ifaceNil; - } - return t; - }; - ifaceIndir = function(t) { - var t; - return ((t.kind & 32) >>> 0) === 0; - }; - flag.prototype.kind = function() { - var f; - f = this.$val; - return ((((f & 31) >>> 0) >>> 0)); - }; - $ptrType(flag).prototype.kind = function() { return new flag(this.$get()).kind(); }; - flag.prototype.ro = function() { - var f; - f = this.$val; - if (!((((f & 96) >>> 0) === 0))) { - return 32; - } - return 0; - }; - $ptrType(flag).prototype.ro = function() { return new flag(this.$get()).ro(); }; - Value.ptr.prototype.pointer = function() { - var v; - v = this; - if (!((v.typ.size === 4)) || !v.typ.pointers()) { - $panic(new $String("can't call pointer on a non-pointer Value")); - } - if (!((((v.flag & 128) >>> 0) === 0))) { - return (v.ptr).$get(); - } - return v.ptr; - }; - Value.prototype.pointer = function() { return this.$val.pointer(); }; - ValueError.ptr.prototype.Error = function() { - var e; - e = this; - if (e.Kind === 0) { - return "reflect: call of " + e.Method + " on zero Value"; - } - return "reflect: call of " + e.Method + " on " + new Kind(e.Kind).String() + " Value"; - }; - ValueError.prototype.Error = function() { return this.$val.Error(); }; - flag.prototype.mustBe = function(expected) { - var expected, f; - f = this.$val; - if (!((new flag(f).kind() === expected))) { - $panic(new ValueError.ptr(methodName(), new flag(f).kind())); - } - }; - $ptrType(flag).prototype.mustBe = function(expected) { return new flag(this.$get()).mustBe(expected); }; - flag.prototype.mustBeExported = function() { - var f; - f = this.$val; - if (f === 0) { - $panic(new ValueError.ptr(methodName(), 0)); - } - if (!((((f & 96) >>> 0) === 0))) { - $panic(new $String("reflect: " + methodName() + " using value obtained using unexported field")); - } - }; - $ptrType(flag).prototype.mustBeExported = function() { return new flag(this.$get()).mustBeExported(); }; - flag.prototype.mustBeAssignable = function() { - var f; - f = this.$val; - if (f === 0) { - $panic(new ValueError.ptr(methodName(), 0)); - } - if (!((((f & 96) >>> 0) === 0))) { - $panic(new $String("reflect: " + methodName() + " using value obtained using unexported field")); - } - if (((f & 256) >>> 0) === 0) { - $panic(new $String("reflect: " + methodName() + " using unaddressable value")); - } - }; - $ptrType(flag).prototype.mustBeAssignable = function() { return new flag(this.$get()).mustBeAssignable(); }; - Value.ptr.prototype.Addr = function() { - var v; - v = this; - if (((v.flag & 256) >>> 0) === 0) { - $panic(new $String("reflect.Value.Addr of unaddressable value")); - } - return new Value.ptr(v.typ.ptrTo(), v.ptr, (new flag(v.flag).ro() | 22) >>> 0); - }; - Value.prototype.Addr = function() { return this.$val.Addr(); }; - Value.ptr.prototype.Bool = function() { - var v; - v = this; - new flag(v.flag).mustBe(1); - return (v.ptr).$get(); - }; - Value.prototype.Bool = function() { return this.$val.Bool(); }; - Value.ptr.prototype.Bytes = function() { - var _r, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - v = this; - new flag(v.flag).mustBe(23); - _r = v.typ.Elem().Kind(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - /* */ if (!((_r === 8))) { $s = 1; continue; } - /* */ $s = 2; continue; - /* if (!((_r === 8))) { */ case 1: - $panic(new $String("reflect.Value.Bytes of non-byte slice")); - /* } */ case 2: - $s = -1; return (v.ptr).$get(); - /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Bytes }; } $f._r = _r; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - Value.prototype.Bytes = function() { return this.$val.Bytes(); }; - Value.ptr.prototype.runes = function() { - var _r, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - v = this; - new flag(v.flag).mustBe(23); - _r = v.typ.Elem().Kind(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - /* */ if (!((_r === 5))) { $s = 1; continue; } - /* */ $s = 2; continue; - /* if (!((_r === 5))) { */ case 1: - $panic(new $String("reflect.Value.Bytes of non-rune slice")); - /* } */ case 2: - $s = -1; return (v.ptr).$get(); - /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.runes }; } $f._r = _r; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - Value.prototype.runes = function() { return this.$val.runes(); }; - Value.ptr.prototype.CanAddr = function() { - var v; - v = this; - return !((((v.flag & 256) >>> 0) === 0)); - }; - Value.prototype.CanAddr = function() { return this.$val.CanAddr(); }; - Value.ptr.prototype.CanSet = function() { - var v; - v = this; - return ((v.flag & 352) >>> 0) === 256; - }; - Value.prototype.CanSet = function() { return this.$val.CanSet(); }; - Value.ptr.prototype.Call = function(in$1) { - var _r, in$1, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; in$1 = $f.in$1; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - v = this; - new flag(v.flag).mustBe(19); - new flag(v.flag).mustBeExported(); - _r = $clone(v, Value).call("Call", in$1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - $s = -1; return _r; - /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Call }; } $f._r = _r; $f.in$1 = in$1; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - Value.prototype.Call = function(in$1) { return this.$val.Call(in$1); }; - Value.ptr.prototype.CallSlice = function(in$1) { - var _r, in$1, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; in$1 = $f.in$1; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - v = this; - new flag(v.flag).mustBe(19); - new flag(v.flag).mustBeExported(); - _r = $clone(v, Value).call("CallSlice", in$1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - $s = -1; return _r; - /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.CallSlice }; } $f._r = _r; $f.in$1 = in$1; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - Value.prototype.CallSlice = function(in$1) { return this.$val.CallSlice(in$1); }; - Value.ptr.prototype.Complex = function() { - var _1, k, v, x; - v = this; - k = new flag(v.flag).kind(); - _1 = k; - if (_1 === (15)) { - return ((x = (v.ptr).$get(), new $Complex128(x.$real, x.$imag))); - } else if (_1 === (16)) { - return (v.ptr).$get(); - } - $panic(new ValueError.ptr("reflect.Value.Complex", new flag(v.flag).kind())); - }; - Value.prototype.Complex = function() { return this.$val.Complex(); }; - Value.ptr.prototype.FieldByIndex = function(index) { - var _i, _r, _r$1, _r$2, _r$3, _ref, _v, i, index, v, x, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _i = $f._i; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _ref = $f._ref; _v = $f._v; i = $f.i; index = $f.index; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - v = this; - /* */ if (index.$length === 1) { $s = 1; continue; } - /* */ $s = 2; continue; - /* if (index.$length === 1) { */ case 1: - _r = $clone(v, Value).Field((0 >= index.$length ? ($throwRuntimeError("index out of range"), undefined) : index.$array[index.$offset + 0])); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - $s = -1; return _r; - /* } */ case 2: - new flag(v.flag).mustBe(25); - _ref = index; - _i = 0; - /* while (true) { */ case 4: - /* if (!(_i < _ref.$length)) { break; } */ if(!(_i < _ref.$length)) { $s = 5; continue; } - i = _i; - x = ((_i < 0 || _i >= _ref.$length) ? ($throwRuntimeError("index out of range"), undefined) : _ref.$array[_ref.$offset + _i]); - /* */ if (i > 0) { $s = 6; continue; } - /* */ $s = 7; continue; - /* if (i > 0) { */ case 6: - if (!($clone(v, Value).Kind() === 22)) { _v = false; $s = 10; continue s; } - _r$1 = v.typ.Elem().Kind(); /* */ $s = 11; case 11: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - _v = _r$1 === 25; case 10: - /* */ if (_v) { $s = 8; continue; } - /* */ $s = 9; continue; - /* if (_v) { */ case 8: - if ($clone(v, Value).IsNil()) { - $panic(new $String("reflect: indirection through nil pointer to embedded struct")); - } - _r$2 = $clone(v, Value).Elem(); /* */ $s = 12; case 12: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } - v = _r$2; - /* } */ case 9: - /* } */ case 7: - _r$3 = $clone(v, Value).Field(x); /* */ $s = 13; case 13: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; } - v = _r$3; - _i++; - /* } */ $s = 4; continue; case 5: - $s = -1; return v; - /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.FieldByIndex }; } $f._i = _i; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._ref = _ref; $f._v = _v; $f.i = i; $f.index = index; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; - }; - Value.prototype.FieldByIndex = function(index) { return this.$val.FieldByIndex(index); }; - Value.ptr.prototype.FieldByName = function(name$1) { - var _r, _r$1, _tuple, f, name$1, ok, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; f = $f.f; name$1 = $f.name$1; ok = $f.ok; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - v = this; - new flag(v.flag).mustBe(25); - _r = v.typ.FieldByName(name$1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - _tuple = _r; - f = $clone(_tuple[0], StructField); - ok = _tuple[1]; - /* */ if (ok) { $s = 2; continue; } - /* */ $s = 3; continue; - /* if (ok) { */ case 2: - _r$1 = $clone(v, Value).FieldByIndex(f.Index); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - $s = -1; return _r$1; - /* } */ case 3: - $s = -1; return new Value.ptr(ptrType$1.nil, 0, 0); - /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.FieldByName }; } $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f.f = f; $f.name$1 = name$1; $f.ok = ok; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - Value.prototype.FieldByName = function(name$1) { return this.$val.FieldByName(name$1); }; - Value.ptr.prototype.FieldByNameFunc = function(match) { - var _r, _r$1, _tuple, f, match, ok, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _tuple = $f._tuple; f = $f.f; match = $f.match; ok = $f.ok; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - v = this; - _r = v.typ.FieldByNameFunc(match); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - _tuple = _r; - f = $clone(_tuple[0], StructField); - ok = _tuple[1]; - /* */ if (ok) { $s = 2; continue; } - /* */ $s = 3; continue; - /* if (ok) { */ case 2: - _r$1 = $clone(v, Value).FieldByIndex(f.Index); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - $s = -1; return _r$1; - /* } */ case 3: - $s = -1; return new Value.ptr(ptrType$1.nil, 0, 0); - /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.FieldByNameFunc }; } $f._r = _r; $f._r$1 = _r$1; $f._tuple = _tuple; $f.f = f; $f.match = match; $f.ok = ok; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - Value.prototype.FieldByNameFunc = function(match) { return this.$val.FieldByNameFunc(match); }; - Value.ptr.prototype.Float = function() { - var _1, k, v; - v = this; - k = new flag(v.flag).kind(); - _1 = k; - if (_1 === (13)) { - return ((v.ptr).$get()); - } else if (_1 === (14)) { - return (v.ptr).$get(); - } - $panic(new ValueError.ptr("reflect.Value.Float", new flag(v.flag).kind())); - }; - Value.prototype.Float = function() { return this.$val.Float(); }; - Value.ptr.prototype.Int = function() { - var _1, k, p, v; - v = this; - k = new flag(v.flag).kind(); - p = v.ptr; - _1 = k; - if (_1 === (2)) { - return (new $Int64(0, (p).$get())); - } else if (_1 === (3)) { - return (new $Int64(0, (p).$get())); - } else if (_1 === (4)) { - return (new $Int64(0, (p).$get())); - } else if (_1 === (5)) { - return (new $Int64(0, (p).$get())); - } else if (_1 === (6)) { - return (p).$get(); - } - $panic(new ValueError.ptr("reflect.Value.Int", new flag(v.flag).kind())); - }; - Value.prototype.Int = function() { return this.$val.Int(); }; - Value.ptr.prototype.CanInterface = function() { - var v; - v = this; - if (v.flag === 0) { - $panic(new ValueError.ptr("reflect.Value.CanInterface", 0)); - } - return ((v.flag & 96) >>> 0) === 0; - }; - Value.prototype.CanInterface = function() { return this.$val.CanInterface(); }; - Value.ptr.prototype.Interface = function() { - var _r, i, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; i = $f.i; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - i = $ifaceNil; - v = this; - _r = valueInterface($clone(v, Value), true); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - i = _r; - $s = -1; return i; - /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Interface }; } $f._r = _r; $f.i = i; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - Value.prototype.Interface = function() { return this.$val.Interface(); }; - Value.ptr.prototype.IsValid = function() { - var v; - v = this; - return !((v.flag === 0)); - }; - Value.prototype.IsValid = function() { return this.$val.IsValid(); }; - Value.ptr.prototype.Kind = function() { - var v; - v = this; - return new flag(v.flag).kind(); - }; - Value.prototype.Kind = function() { return this.$val.Kind(); }; - Value.ptr.prototype.MapIndex = function(key) { - var _r, c, e, fl, k, key, tt, typ, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; c = $f.c; e = $f.e; fl = $f.fl; k = $f.k; key = $f.key; tt = $f.tt; typ = $f.typ; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - v = this; - new flag(v.flag).mustBe(21); - tt = (v.typ.kindType); - _r = $clone(key, Value).assignTo("reflect.Value.MapIndex", tt.key, 0); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - key = _r; - k = 0; - if (!((((key.flag & 128) >>> 0) === 0))) { - k = key.ptr; - } else { - k = ((key.$ptr_ptr || (key.$ptr_ptr = new ptrType$15(function() { return this.$target.ptr; }, function($v) { this.$target.ptr = $v; }, key)))); - } - e = mapaccess(v.typ, $clone(v, Value).pointer(), k); - if (e === 0) { - $s = -1; return new Value.ptr(ptrType$1.nil, 0, 0); - } - typ = tt.elem; - fl = new flag((((v.flag | key.flag) >>> 0))).ro(); - fl = (fl | (((typ.Kind() >>> 0)))) >>> 0; - if (!ifaceIndir(typ)) { - $s = -1; return new Value.ptr(typ, (e).$get(), fl); - } - c = unsafe_New(typ); - typedmemmove(typ, c, e); - $s = -1; return new Value.ptr(typ, c, (fl | 128) >>> 0); - /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.MapIndex }; } $f._r = _r; $f.c = c; $f.e = e; $f.fl = fl; $f.k = k; $f.key = key; $f.tt = tt; $f.typ = typ; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - Value.prototype.MapIndex = function(key) { return this.$val.MapIndex(key); }; - Value.ptr.prototype.MapKeys = function() { - var _r, a, c, fl, i, it, key, keyType, m, mlen, tt, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; a = $f.a; c = $f.c; fl = $f.fl; i = $f.i; it = $f.it; key = $f.key; keyType = $f.keyType; m = $f.m; mlen = $f.mlen; tt = $f.tt; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - v = this; - new flag(v.flag).mustBe(21); - tt = (v.typ.kindType); - keyType = tt.key; - fl = (new flag(v.flag).ro() | ((keyType.Kind() >>> 0))) >>> 0; - m = $clone(v, Value).pointer(); - mlen = 0; - if (!(m === 0)) { - mlen = maplen(m); - } - it = mapiterinit(v.typ, m); - a = $makeSlice(sliceType$9, mlen); - i = 0; - i = 0; - /* while (true) { */ case 1: - /* if (!(i < a.$length)) { break; } */ if(!(i < a.$length)) { $s = 2; continue; } - _r = mapiterkey(it); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - key = _r; - if (key === 0) { - /* break; */ $s = 2; continue; - } - if (ifaceIndir(keyType)) { - c = unsafe_New(keyType); - typedmemmove(keyType, c, key); - ((i < 0 || i >= a.$length) ? ($throwRuntimeError("index out of range"), undefined) : a.$array[a.$offset + i] = new Value.ptr(keyType, c, (fl | 128) >>> 0)); - } else { - ((i < 0 || i >= a.$length) ? ($throwRuntimeError("index out of range"), undefined) : a.$array[a.$offset + i] = new Value.ptr(keyType, (key).$get(), fl)); - } - mapiternext(it); - i = i + (1) >> 0; - /* } */ $s = 1; continue; case 2: - $s = -1; return $subslice(a, 0, i); - /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.MapKeys }; } $f._r = _r; $f.a = a; $f.c = c; $f.fl = fl; $f.i = i; $f.it = it; $f.key = key; $f.keyType = keyType; $f.m = m; $f.mlen = mlen; $f.tt = tt; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - Value.prototype.MapKeys = function() { return this.$val.MapKeys(); }; - Value.ptr.prototype.Method = function(i) { - var fl, i, v; - v = this; - if (v.typ === ptrType$1.nil) { - $panic(new ValueError.ptr("reflect.Value.Method", 0)); - } - if (!((((v.flag & 512) >>> 0) === 0)) || ((i >>> 0)) >= ((v.typ.NumMethod() >>> 0))) { - $panic(new $String("reflect: Method index out of range")); - } - if ((v.typ.Kind() === 20) && $clone(v, Value).IsNil()) { - $panic(new $String("reflect: Method on nil interface value")); - } - fl = (v.flag & 160) >>> 0; - fl = (fl | (19)) >>> 0; - fl = (fl | ((((((i >>> 0)) << 10 >>> 0) | 512) >>> 0))) >>> 0; - return new Value.ptr(v.typ, v.ptr, fl); - }; - Value.prototype.Method = function(i) { return this.$val.Method(i); }; - Value.ptr.prototype.NumMethod = function() { - var v; - v = this; - if (v.typ === ptrType$1.nil) { - $panic(new ValueError.ptr("reflect.Value.NumMethod", 0)); - } - if (!((((v.flag & 512) >>> 0) === 0))) { - return 0; - } - return v.typ.NumMethod(); - }; - Value.prototype.NumMethod = function() { return this.$val.NumMethod(); }; - Value.ptr.prototype.MethodByName = function(name$1) { - var _r, _tuple, m, name$1, ok, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; m = $f.m; name$1 = $f.name$1; ok = $f.ok; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - v = this; - if (v.typ === ptrType$1.nil) { - $panic(new ValueError.ptr("reflect.Value.MethodByName", 0)); - } - if (!((((v.flag & 512) >>> 0) === 0))) { - $s = -1; return new Value.ptr(ptrType$1.nil, 0, 0); - } - _r = v.typ.MethodByName(name$1); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - _tuple = _r; - m = $clone(_tuple[0], Method); - ok = _tuple[1]; - if (!ok) { - $s = -1; return new Value.ptr(ptrType$1.nil, 0, 0); - } - $s = -1; return $clone(v, Value).Method(m.Index); - /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.MethodByName }; } $f._r = _r; $f._tuple = _tuple; $f.m = m; $f.name$1 = name$1; $f.ok = ok; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - Value.prototype.MethodByName = function(name$1) { return this.$val.MethodByName(name$1); }; - Value.ptr.prototype.NumField = function() { - var tt, v; - v = this; - new flag(v.flag).mustBe(25); - tt = (v.typ.kindType); - return tt.fields.$length; - }; - Value.prototype.NumField = function() { return this.$val.NumField(); }; - Value.ptr.prototype.OverflowComplex = function(x) { - var _1, k, v, x; - v = this; - k = new flag(v.flag).kind(); - _1 = k; - if (_1 === (15)) { - return overflowFloat32(x.$real) || overflowFloat32(x.$imag); - } else if (_1 === (16)) { - return false; - } - $panic(new ValueError.ptr("reflect.Value.OverflowComplex", new flag(v.flag).kind())); - }; - Value.prototype.OverflowComplex = function(x) { return this.$val.OverflowComplex(x); }; - Value.ptr.prototype.OverflowFloat = function(x) { - var _1, k, v, x; - v = this; - k = new flag(v.flag).kind(); - _1 = k; - if (_1 === (13)) { - return overflowFloat32(x); - } else if (_1 === (14)) { - return false; - } - $panic(new ValueError.ptr("reflect.Value.OverflowFloat", new flag(v.flag).kind())); - }; - Value.prototype.OverflowFloat = function(x) { return this.$val.OverflowFloat(x); }; - overflowFloat32 = function(x) { - var x; - if (x < 0) { - x = -x; - } - return 3.4028234663852886e+38 < x && x <= 1.7976931348623157e+308; - }; - Value.ptr.prototype.OverflowInt = function(x) { - var _1, bitSize, k, trunc, v, x; - v = this; - k = new flag(v.flag).kind(); - _1 = k; - if ((_1 === (2)) || (_1 === (3)) || (_1 === (4)) || (_1 === (5)) || (_1 === (6))) { - bitSize = $imul(v.typ.size, 8) >>> 0; - trunc = $shiftRightInt64(($shiftLeft64(x, ((64 - bitSize >>> 0)))), ((64 - bitSize >>> 0))); - return !((x.$high === trunc.$high && x.$low === trunc.$low)); - } - $panic(new ValueError.ptr("reflect.Value.OverflowInt", new flag(v.flag).kind())); - }; - Value.prototype.OverflowInt = function(x) { return this.$val.OverflowInt(x); }; - Value.ptr.prototype.OverflowUint = function(x) { - var _1, bitSize, k, trunc, v, x; - v = this; - k = new flag(v.flag).kind(); - _1 = k; - if ((_1 === (7)) || (_1 === (12)) || (_1 === (8)) || (_1 === (9)) || (_1 === (10)) || (_1 === (11))) { - bitSize = $imul(v.typ.size, 8) >>> 0; - trunc = $shiftRightUint64(($shiftLeft64(x, ((64 - bitSize >>> 0)))), ((64 - bitSize >>> 0))); - return !((x.$high === trunc.$high && x.$low === trunc.$low)); - } - $panic(new ValueError.ptr("reflect.Value.OverflowUint", new flag(v.flag).kind())); - }; - Value.prototype.OverflowUint = function(x) { return this.$val.OverflowUint(x); }; - Value.ptr.prototype.Recv = function() { - var _r, _tuple, ok, v, x, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; ok = $f.ok; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - x = new Value.ptr(ptrType$1.nil, 0, 0); - ok = false; - v = this; - new flag(v.flag).mustBe(18); - new flag(v.flag).mustBeExported(); - _r = $clone(v, Value).recv(false); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - _tuple = _r; - x = _tuple[0]; - ok = _tuple[1]; - $s = -1; return [x, ok]; - /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Recv }; } $f._r = _r; $f._tuple = _tuple; $f.ok = ok; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; - }; - Value.prototype.Recv = function() { return this.$val.Recv(); }; - Value.ptr.prototype.recv = function(nb) { - var _r, _tuple, nb, ok, p, selected, t, tt, v, val, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; nb = $f.nb; ok = $f.ok; p = $f.p; selected = $f.selected; t = $f.t; tt = $f.tt; v = $f.v; val = $f.val; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - val = new Value.ptr(ptrType$1.nil, 0, 0); - ok = false; - v = this; - tt = (v.typ.kindType); - if ((((tt.dir >> 0)) & 1) === 0) { - $panic(new $String("reflect: recv on send-only channel")); - } - t = tt.elem; - val = new Value.ptr(t, 0, ((t.Kind() >>> 0))); - p = 0; - if (ifaceIndir(t)) { - p = unsafe_New(t); - val.ptr = p; - val.flag = (val.flag | (128)) >>> 0; - } else { - p = ((val.$ptr_ptr || (val.$ptr_ptr = new ptrType$15(function() { return this.$target.ptr; }, function($v) { this.$target.ptr = $v; }, val)))); - } - _r = chanrecv($clone(v, Value).pointer(), nb, p); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - _tuple = _r; - selected = _tuple[0]; - ok = _tuple[1]; - if (!selected) { - val = new Value.ptr(ptrType$1.nil, 0, 0); - } - $s = -1; return [val, ok]; - /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.recv }; } $f._r = _r; $f._tuple = _tuple; $f.nb = nb; $f.ok = ok; $f.p = p; $f.selected = selected; $f.t = t; $f.tt = tt; $f.v = v; $f.val = val; $f.$s = $s; $f.$r = $r; return $f; - }; - Value.prototype.recv = function(nb) { return this.$val.recv(nb); }; - Value.ptr.prototype.Send = function(x) { - var _r, v, x, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - v = this; - new flag(v.flag).mustBe(18); - new flag(v.flag).mustBeExported(); - _r = $clone(v, Value).send($clone(x, Value), false); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - _r; - $s = -1; return; - /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Send }; } $f._r = _r; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; - }; - Value.prototype.Send = function(x) { return this.$val.Send(x); }; - Value.ptr.prototype.send = function(x, nb) { - var _r, _r$1, nb, p, selected, tt, v, x, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; nb = $f.nb; p = $f.p; selected = $f.selected; tt = $f.tt; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - selected = false; - v = this; - tt = (v.typ.kindType); - if ((((tt.dir >> 0)) & 2) === 0) { - $panic(new $String("reflect: send on recv-only channel")); - } - new flag(x.flag).mustBeExported(); - _r = $clone(x, Value).assignTo("reflect.Value.Send", tt.elem, 0); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - x = _r; - p = 0; - if (!((((x.flag & 128) >>> 0) === 0))) { - p = x.ptr; - } else { - p = ((x.$ptr_ptr || (x.$ptr_ptr = new ptrType$15(function() { return this.$target.ptr; }, function($v) { this.$target.ptr = $v; }, x)))); - } - _r$1 = chansend($clone(v, Value).pointer(), p, nb); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - selected = _r$1; - $s = -1; return selected; - /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.send }; } $f._r = _r; $f._r$1 = _r$1; $f.nb = nb; $f.p = p; $f.selected = selected; $f.tt = tt; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; - }; - Value.prototype.send = function(x, nb) { return this.$val.send(x, nb); }; - Value.ptr.prototype.SetBool = function(x) { - var v, x; - v = this; - new flag(v.flag).mustBeAssignable(); - new flag(v.flag).mustBe(1); - (v.ptr).$set(x); - }; - Value.prototype.SetBool = function(x) { return this.$val.SetBool(x); }; - Value.ptr.prototype.setRunes = function(x) { - var _r, v, x, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - v = this; - new flag(v.flag).mustBeAssignable(); - new flag(v.flag).mustBe(23); - _r = v.typ.Elem().Kind(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - /* */ if (!((_r === 5))) { $s = 1; continue; } - /* */ $s = 2; continue; - /* if (!((_r === 5))) { */ case 1: - $panic(new $String("reflect.Value.setRunes of non-rune slice")); - /* } */ case 2: - (v.ptr).$set(x); - $s = -1; return; - /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.setRunes }; } $f._r = _r; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; - }; - Value.prototype.setRunes = function(x) { return this.$val.setRunes(x); }; - Value.ptr.prototype.SetComplex = function(x) { - var _1, k, v, x; - v = this; - new flag(v.flag).mustBeAssignable(); - k = new flag(v.flag).kind(); - _1 = k; - if (_1 === (15)) { - (v.ptr).$set((new $Complex64(x.$real, x.$imag))); - } else if (_1 === (16)) { - (v.ptr).$set(x); - } else { - $panic(new ValueError.ptr("reflect.Value.SetComplex", new flag(v.flag).kind())); - } - }; - Value.prototype.SetComplex = function(x) { return this.$val.SetComplex(x); }; - Value.ptr.prototype.SetFloat = function(x) { - var _1, k, v, x; - v = this; - new flag(v.flag).mustBeAssignable(); - k = new flag(v.flag).kind(); - _1 = k; - if (_1 === (13)) { - (v.ptr).$set(($fround(x))); - } else if (_1 === (14)) { - (v.ptr).$set(x); - } else { - $panic(new ValueError.ptr("reflect.Value.SetFloat", new flag(v.flag).kind())); - } - }; - Value.prototype.SetFloat = function(x) { return this.$val.SetFloat(x); }; - Value.ptr.prototype.SetInt = function(x) { - var _1, k, v, x; - v = this; - new flag(v.flag).mustBeAssignable(); - k = new flag(v.flag).kind(); - _1 = k; - if (_1 === (2)) { - (v.ptr).$set((((x.$low + ((x.$high >> 31) * 4294967296)) >> 0))); - } else if (_1 === (3)) { - (v.ptr).$set((((x.$low + ((x.$high >> 31) * 4294967296)) << 24 >> 24))); - } else if (_1 === (4)) { - (v.ptr).$set((((x.$low + ((x.$high >> 31) * 4294967296)) << 16 >> 16))); - } else if (_1 === (5)) { - (v.ptr).$set((((x.$low + ((x.$high >> 31) * 4294967296)) >> 0))); - } else if (_1 === (6)) { - (v.ptr).$set(x); - } else { - $panic(new ValueError.ptr("reflect.Value.SetInt", new flag(v.flag).kind())); - } - }; - Value.prototype.SetInt = function(x) { return this.$val.SetInt(x); }; - Value.ptr.prototype.SetMapIndex = function(key, val) { - var _r, _r$1, e, k, key, tt, v, val, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; e = $f.e; k = $f.k; key = $f.key; tt = $f.tt; v = $f.v; val = $f.val; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - v = this; - new flag(v.flag).mustBe(21); - new flag(v.flag).mustBeExported(); - new flag(key.flag).mustBeExported(); - tt = (v.typ.kindType); - _r = $clone(key, Value).assignTo("reflect.Value.SetMapIndex", tt.key, 0); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - key = _r; - k = 0; - if (!((((key.flag & 128) >>> 0) === 0))) { - k = key.ptr; - } else { - k = ((key.$ptr_ptr || (key.$ptr_ptr = new ptrType$15(function() { return this.$target.ptr; }, function($v) { this.$target.ptr = $v; }, key)))); - } - if (val.typ === ptrType$1.nil) { - mapdelete(v.typ, $clone(v, Value).pointer(), k); - $s = -1; return; - } - new flag(val.flag).mustBeExported(); - _r$1 = $clone(val, Value).assignTo("reflect.Value.SetMapIndex", tt.elem, 0); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - val = _r$1; - e = 0; - if (!((((val.flag & 128) >>> 0) === 0))) { - e = val.ptr; - } else { - e = ((val.$ptr_ptr || (val.$ptr_ptr = new ptrType$15(function() { return this.$target.ptr; }, function($v) { this.$target.ptr = $v; }, val)))); - } - $r = mapassign(v.typ, $clone(v, Value).pointer(), k, e); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $s = -1; return; - /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.SetMapIndex }; } $f._r = _r; $f._r$1 = _r$1; $f.e = e; $f.k = k; $f.key = key; $f.tt = tt; $f.v = v; $f.val = val; $f.$s = $s; $f.$r = $r; return $f; - }; - Value.prototype.SetMapIndex = function(key, val) { return this.$val.SetMapIndex(key, val); }; - Value.ptr.prototype.SetUint = function(x) { - var _1, k, v, x; - v = this; - new flag(v.flag).mustBeAssignable(); - k = new flag(v.flag).kind(); - _1 = k; - if (_1 === (7)) { - (v.ptr).$set(((x.$low >>> 0))); - } else if (_1 === (8)) { - (v.ptr).$set(((x.$low << 24 >>> 24))); - } else if (_1 === (9)) { - (v.ptr).$set(((x.$low << 16 >>> 16))); - } else if (_1 === (10)) { - (v.ptr).$set(((x.$low >>> 0))); - } else if (_1 === (11)) { - (v.ptr).$set(x); - } else if (_1 === (12)) { - (v.ptr).$set(((x.$low >>> 0))); - } else { - $panic(new ValueError.ptr("reflect.Value.SetUint", new flag(v.flag).kind())); - } - }; - Value.prototype.SetUint = function(x) { return this.$val.SetUint(x); }; - Value.ptr.prototype.SetPointer = function(x) { - var v, x; - v = this; - new flag(v.flag).mustBeAssignable(); - new flag(v.flag).mustBe(26); - (v.ptr).$set(x); - }; - Value.prototype.SetPointer = function(x) { return this.$val.SetPointer(x); }; - Value.ptr.prototype.SetString = function(x) { - var v, x; - v = this; - new flag(v.flag).mustBeAssignable(); - new flag(v.flag).mustBe(24); - (v.ptr).$set(x); - }; - Value.prototype.SetString = function(x) { return this.$val.SetString(x); }; - Value.ptr.prototype.String = function() { - var _1, _r, k, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; k = $f.k; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - v = this; - k = new flag(v.flag).kind(); - _1 = k; - if (_1 === (0)) { - $s = -1; return ""; - } else if (_1 === (24)) { - $s = -1; return (v.ptr).$get(); - } - _r = $clone(v, Value).Type().String(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - $s = -1; return "<" + _r + " Value>"; - /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.String }; } $f._1 = _1; $f._r = _r; $f.k = k; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - Value.prototype.String = function() { return this.$val.String(); }; - Value.ptr.prototype.TryRecv = function() { - var _r, _tuple, ok, v, x, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _tuple = $f._tuple; ok = $f.ok; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - x = new Value.ptr(ptrType$1.nil, 0, 0); - ok = false; - v = this; - new flag(v.flag).mustBe(18); - new flag(v.flag).mustBeExported(); - _r = $clone(v, Value).recv(true); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - _tuple = _r; - x = _tuple[0]; - ok = _tuple[1]; - $s = -1; return [x, ok]; - /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.TryRecv }; } $f._r = _r; $f._tuple = _tuple; $f.ok = ok; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; - }; - Value.prototype.TryRecv = function() { return this.$val.TryRecv(); }; - Value.ptr.prototype.TrySend = function(x) { - var _r, v, x, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - v = this; - new flag(v.flag).mustBe(18); - new flag(v.flag).mustBeExported(); - _r = $clone(v, Value).send($clone(x, Value), true); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - $s = -1; return _r; - /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.TrySend }; } $f._r = _r; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; - }; - Value.prototype.TrySend = function(x) { return this.$val.TrySend(x); }; - Value.ptr.prototype.Type = function() { - var f, i, m, m$1, ms, tt, v, x; - v = this; - f = v.flag; - if (f === 0) { - $panic(new ValueError.ptr("reflect.Value.Type", 0)); - } - if (((f & 512) >>> 0) === 0) { - return v.typ; - } - i = ((v.flag >> 0)) >> 10 >> 0; - if (v.typ.Kind() === 20) { - tt = (v.typ.kindType); - if (((i >>> 0)) >= ((tt.methods.$length >>> 0))) { - $panic(new $String("reflect: internal error: invalid method index")); - } - m = (x = tt.methods, ((i < 0 || i >= x.$length) ? ($throwRuntimeError("index out of range"), undefined) : x.$array[x.$offset + i])); - return v.typ.typeOff(m.typ); - } - ms = v.typ.exportedMethods(); - if (((i >>> 0)) >= ((ms.$length >>> 0))) { - $panic(new $String("reflect: internal error: invalid method index")); - } - m$1 = $clone(((i < 0 || i >= ms.$length) ? ($throwRuntimeError("index out of range"), undefined) : ms.$array[ms.$offset + i]), method); - return v.typ.typeOff(m$1.mtyp); - }; - Value.prototype.Type = function() { return this.$val.Type(); }; - Value.ptr.prototype.Uint = function() { - var _1, k, p, v, x; - v = this; - k = new flag(v.flag).kind(); - p = v.ptr; - _1 = k; - if (_1 === (7)) { - return (new $Uint64(0, (p).$get())); - } else if (_1 === (8)) { - return (new $Uint64(0, (p).$get())); - } else if (_1 === (9)) { - return (new $Uint64(0, (p).$get())); - } else if (_1 === (10)) { - return (new $Uint64(0, (p).$get())); - } else if (_1 === (11)) { - return (p).$get(); - } else if (_1 === (12)) { - return ((x = (p).$get(), new $Uint64(0, x.constructor === Number ? x : 1))); - } - $panic(new ValueError.ptr("reflect.Value.Uint", new flag(v.flag).kind())); - }; - Value.prototype.Uint = function() { return this.$val.Uint(); }; - Value.ptr.prototype.UnsafeAddr = function() { - var v; - v = this; - if (v.typ === ptrType$1.nil) { - $panic(new ValueError.ptr("reflect.Value.UnsafeAddr", 0)); - } - if (((v.flag & 256) >>> 0) === 0) { - $panic(new $String("reflect.Value.UnsafeAddr of unaddressable value")); - } - return (v.ptr); - }; - Value.prototype.UnsafeAddr = function() { return this.$val.UnsafeAddr(); }; - typesMustMatch = function(what, t1, t2) { - var _r, _r$1, t1, t2, what, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; t1 = $f.t1; t2 = $f.t2; what = $f.what; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - /* */ if (!($interfaceIsEqual(t1, t2))) { $s = 1; continue; } - /* */ $s = 2; continue; - /* if (!($interfaceIsEqual(t1, t2))) { */ case 1: - _r = t1.String(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - _r$1 = t2.String(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - $panic(new $String(what + ": " + _r + " != " + _r$1)); - /* } */ case 2: - $s = -1; return; - /* */ } return; } if ($f === undefined) { $f = { $blk: typesMustMatch }; } $f._r = _r; $f._r$1 = _r$1; $f.t1 = t1; $f.t2 = t2; $f.what = what; $f.$s = $s; $f.$r = $r; return $f; - }; - MakeMap = function(typ) { - var _r, typ, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; typ = $f.typ; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - _r = MakeMapWithSize(typ, 0); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - $s = -1; return _r; - /* */ } return; } if ($f === undefined) { $f = { $blk: MakeMap }; } $f._r = _r; $f.typ = typ; $f.$s = $s; $f.$r = $r; return $f; - }; - $pkg.MakeMap = MakeMap; - MakeMapWithSize = function(typ, n) { - var _r, m, n, t, typ, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; m = $f.m; n = $f.n; t = $f.t; typ = $f.typ; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - _r = typ.Kind(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - /* */ if (!((_r === 21))) { $s = 1; continue; } - /* */ $s = 2; continue; - /* if (!((_r === 21))) { */ case 1: - $panic(new $String("reflect.MakeMapWithSize of non-map type")); - /* } */ case 2: - t = $assertType(typ, ptrType$1); - m = makemap(t, n); - $s = -1; return new Value.ptr(t, m, 21); - /* */ } return; } if ($f === undefined) { $f = { $blk: MakeMapWithSize }; } $f._r = _r; $f.m = m; $f.n = n; $f.t = t; $f.typ = typ; $f.$s = $s; $f.$r = $r; return $f; - }; - $pkg.MakeMapWithSize = MakeMapWithSize; - New = function(typ) { - var fl, ptr, t, typ; - if ($interfaceIsEqual(typ, $ifaceNil)) { - $panic(new $String("reflect: New(nil)")); - } - t = $assertType(typ, ptrType$1); - ptr = unsafe_New(t); - fl = 22; - return new Value.ptr(t.ptrTo(), ptr, fl); - }; - $pkg.New = New; - Value.ptr.prototype.Convert = function(t) { - var _r, _r$1, _r$2, _r$3, _r$4, op, t, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; op = $f.op; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - v = this; - /* */ if (!((((v.flag & 512) >>> 0) === 0))) { $s = 1; continue; } - /* */ $s = 2; continue; - /* if (!((((v.flag & 512) >>> 0) === 0))) { */ case 1: - _r = makeMethodValue("Convert", $clone(v, Value)); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - v = _r; - /* } */ case 2: - _r$1 = t.common(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - _r$2 = convertOp(_r$1, v.typ); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } - op = _r$2; - /* */ if (op === $throwNilPointerError) { $s = 6; continue; } - /* */ $s = 7; continue; - /* if (op === $throwNilPointerError) { */ case 6: - _r$3 = t.String(); /* */ $s = 8; case 8: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; } - $panic(new $String("reflect.Value.Convert: value of type " + v.typ.String() + " cannot be converted to type " + _r$3)); - /* } */ case 7: - _r$4 = op($clone(v, Value), t); /* */ $s = 9; case 9: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; } - $s = -1; return _r$4; - /* */ } return; } if ($f === undefined) { $f = { $blk: Value.ptr.prototype.Convert }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f.op = op; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - Value.prototype.Convert = function(t) { return this.$val.Convert(t); }; - convertOp = function(dst, src) { - var _1, _2, _3, _4, _5, _6, _7, _arg, _arg$1, _r, _r$1, _r$2, _r$3, _r$4, _r$5, _r$6, _r$7, _v, _v$1, _v$2, dst, src, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _2 = $f._2; _3 = $f._3; _4 = $f._4; _5 = $f._5; _6 = $f._6; _7 = $f._7; _arg = $f._arg; _arg$1 = $f._arg$1; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; _r$5 = $f._r$5; _r$6 = $f._r$6; _r$7 = $f._r$7; _v = $f._v; _v$1 = $f._v$1; _v$2 = $f._v$2; dst = $f.dst; src = $f.src; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - _1 = src.Kind(); - /* */ if ((_1 === (2)) || (_1 === (3)) || (_1 === (4)) || (_1 === (5)) || (_1 === (6))) { $s = 2; continue; } - /* */ if ((_1 === (7)) || (_1 === (8)) || (_1 === (9)) || (_1 === (10)) || (_1 === (11)) || (_1 === (12))) { $s = 3; continue; } - /* */ if ((_1 === (13)) || (_1 === (14))) { $s = 4; continue; } - /* */ if ((_1 === (15)) || (_1 === (16))) { $s = 5; continue; } - /* */ if (_1 === (24)) { $s = 6; continue; } - /* */ if (_1 === (23)) { $s = 7; continue; } - /* */ $s = 8; continue; - /* if ((_1 === (2)) || (_1 === (3)) || (_1 === (4)) || (_1 === (5)) || (_1 === (6))) { */ case 2: - _2 = dst.Kind(); - if ((_2 === (2)) || (_2 === (3)) || (_2 === (4)) || (_2 === (5)) || (_2 === (6)) || (_2 === (7)) || (_2 === (8)) || (_2 === (9)) || (_2 === (10)) || (_2 === (11)) || (_2 === (12))) { - $s = -1; return cvtInt; - } else if ((_2 === (13)) || (_2 === (14))) { - $s = -1; return cvtIntFloat; - } else if (_2 === (24)) { - $s = -1; return cvtIntString; - } - $s = 8; continue; - /* } else if ((_1 === (7)) || (_1 === (8)) || (_1 === (9)) || (_1 === (10)) || (_1 === (11)) || (_1 === (12))) { */ case 3: - _3 = dst.Kind(); - if ((_3 === (2)) || (_3 === (3)) || (_3 === (4)) || (_3 === (5)) || (_3 === (6)) || (_3 === (7)) || (_3 === (8)) || (_3 === (9)) || (_3 === (10)) || (_3 === (11)) || (_3 === (12))) { - $s = -1; return cvtUint; - } else if ((_3 === (13)) || (_3 === (14))) { - $s = -1; return cvtUintFloat; - } else if (_3 === (24)) { - $s = -1; return cvtUintString; - } - $s = 8; continue; - /* } else if ((_1 === (13)) || (_1 === (14))) { */ case 4: - _4 = dst.Kind(); - if ((_4 === (2)) || (_4 === (3)) || (_4 === (4)) || (_4 === (5)) || (_4 === (6))) { - $s = -1; return cvtFloatInt; - } else if ((_4 === (7)) || (_4 === (8)) || (_4 === (9)) || (_4 === (10)) || (_4 === (11)) || (_4 === (12))) { - $s = -1; return cvtFloatUint; - } else if ((_4 === (13)) || (_4 === (14))) { - $s = -1; return cvtFloat; - } - $s = 8; continue; - /* } else if ((_1 === (15)) || (_1 === (16))) { */ case 5: - _5 = dst.Kind(); - if ((_5 === (15)) || (_5 === (16))) { - $s = -1; return cvtComplex; - } - $s = 8; continue; - /* } else if (_1 === (24)) { */ case 6: - if (!(dst.Kind() === 23)) { _v = false; $s = 11; continue s; } - _r = dst.Elem().PkgPath(); /* */ $s = 12; case 12: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - _v = _r === ""; case 11: - /* */ if (_v) { $s = 9; continue; } - /* */ $s = 10; continue; - /* if (_v) { */ case 9: - _r$1 = dst.Elem().Kind(); /* */ $s = 14; case 14: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - _6 = _r$1; - if (_6 === (8)) { - $s = -1; return cvtStringBytes; - } else if (_6 === (5)) { - $s = -1; return cvtStringRunes; - } - case 13: - /* } */ case 10: - $s = 8; continue; - /* } else if (_1 === (23)) { */ case 7: - if (!(dst.Kind() === 24)) { _v$1 = false; $s = 17; continue s; } - _r$2 = src.Elem().PkgPath(); /* */ $s = 18; case 18: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } - _v$1 = _r$2 === ""; case 17: - /* */ if (_v$1) { $s = 15; continue; } - /* */ $s = 16; continue; - /* if (_v$1) { */ case 15: - _r$3 = src.Elem().Kind(); /* */ $s = 20; case 20: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; } - _7 = _r$3; - if (_7 === (8)) { - $s = -1; return cvtBytesString; - } else if (_7 === (5)) { - $s = -1; return cvtRunesString; - } - case 19: - /* } */ case 16: - /* } */ case 8: - case 1: - _r$4 = haveIdenticalUnderlyingType(dst, src, false); /* */ $s = 23; case 23: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; } - /* */ if (_r$4) { $s = 21; continue; } - /* */ $s = 22; continue; - /* if (_r$4) { */ case 21: - $s = -1; return cvtDirect; - /* } */ case 22: - if (!((dst.Kind() === 22) && dst.Name() === "" && (src.Kind() === 22) && src.Name() === "")) { _v$2 = false; $s = 26; continue s; } - _r$5 = dst.Elem().common(); /* */ $s = 27; case 27: if($c) { $c = false; _r$5 = _r$5.$blk(); } if (_r$5 && _r$5.$blk !== undefined) { break s; } - _arg = _r$5; - _r$6 = src.Elem().common(); /* */ $s = 28; case 28: if($c) { $c = false; _r$6 = _r$6.$blk(); } if (_r$6 && _r$6.$blk !== undefined) { break s; } - _arg$1 = _r$6; - _r$7 = haveIdenticalUnderlyingType(_arg, _arg$1, false); /* */ $s = 29; case 29: if($c) { $c = false; _r$7 = _r$7.$blk(); } if (_r$7 && _r$7.$blk !== undefined) { break s; } - _v$2 = _r$7; case 26: - /* */ if (_v$2) { $s = 24; continue; } - /* */ $s = 25; continue; - /* if (_v$2) { */ case 24: - $s = -1; return cvtDirect; - /* } */ case 25: - if (implements$1(dst, src)) { - if (src.Kind() === 20) { - $s = -1; return cvtI2I; - } - $s = -1; return cvtT2I; - } - $s = -1; return $throwNilPointerError; - /* */ } return; } if ($f === undefined) { $f = { $blk: convertOp }; } $f._1 = _1; $f._2 = _2; $f._3 = _3; $f._4 = _4; $f._5 = _5; $f._6 = _6; $f._7 = _7; $f._arg = _arg; $f._arg$1 = _arg$1; $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f._r$5 = _r$5; $f._r$6 = _r$6; $f._r$7 = _r$7; $f._v = _v; $f._v$1 = _v$1; $f._v$2 = _v$2; $f.dst = dst; $f.src = src; $f.$s = $s; $f.$r = $r; return $f; - }; - makeFloat = function(f, v, t) { - var _1, _r, f, ptr, t, typ, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; f = $f.f; ptr = $f.ptr; t = $f.t; typ = $f.typ; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - _r = t.common(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - typ = _r; - ptr = unsafe_New(typ); - _1 = typ.size; - if (_1 === (4)) { - (ptr).$set(($fround(v))); - } else if (_1 === (8)) { - (ptr).$set(v); - } - $s = -1; return new Value.ptr(typ, ptr, (((f | 128) >>> 0) | ((typ.Kind() >>> 0))) >>> 0); - /* */ } return; } if ($f === undefined) { $f = { $blk: makeFloat }; } $f._1 = _1; $f._r = _r; $f.f = f; $f.ptr = ptr; $f.t = t; $f.typ = typ; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - makeComplex = function(f, v, t) { - var _1, _r, f, ptr, t, typ, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _1 = $f._1; _r = $f._r; f = $f.f; ptr = $f.ptr; t = $f.t; typ = $f.typ; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - _r = t.common(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - typ = _r; - ptr = unsafe_New(typ); - _1 = typ.size; - if (_1 === (8)) { - (ptr).$set((new $Complex64(v.$real, v.$imag))); - } else if (_1 === (16)) { - (ptr).$set(v); - } - $s = -1; return new Value.ptr(typ, ptr, (((f | 128) >>> 0) | ((typ.Kind() >>> 0))) >>> 0); - /* */ } return; } if ($f === undefined) { $f = { $blk: makeComplex }; } $f._1 = _1; $f._r = _r; $f.f = f; $f.ptr = ptr; $f.t = t; $f.typ = typ; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - makeString = function(f, v, t) { - var _r, f, ret, t, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; f = $f.f; ret = $f.ret; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - _r = $clone(New(t), Value).Elem(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - ret = _r; - $clone(ret, Value).SetString(v); - ret.flag = (((ret.flag & ~256) >>> 0) | f) >>> 0; - $s = -1; return ret; - /* */ } return; } if ($f === undefined) { $f = { $blk: makeString }; } $f._r = _r; $f.f = f; $f.ret = ret; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - makeBytes = function(f, v, t) { - var _r, f, ret, t, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; f = $f.f; ret = $f.ret; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - _r = $clone(New(t), Value).Elem(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - ret = _r; - $r = $clone(ret, Value).SetBytes(v); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - ret.flag = (((ret.flag & ~256) >>> 0) | f) >>> 0; - $s = -1; return ret; - /* */ } return; } if ($f === undefined) { $f = { $blk: makeBytes }; } $f._r = _r; $f.f = f; $f.ret = ret; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - makeRunes = function(f, v, t) { - var _r, f, ret, t, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; f = $f.f; ret = $f.ret; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - _r = $clone(New(t), Value).Elem(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - ret = _r; - $r = $clone(ret, Value).setRunes(v); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - ret.flag = (((ret.flag & ~256) >>> 0) | f) >>> 0; - $s = -1; return ret; - /* */ } return; } if ($f === undefined) { $f = { $blk: makeRunes }; } $f._r = _r; $f.f = f; $f.ret = ret; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - cvtInt = function(v, t) { - var _r, t, v, x, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - _r = makeInt(new flag(v.flag).ro(), ((x = $clone(v, Value).Int(), new $Uint64(x.$high, x.$low))), t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - $s = -1; return _r; - /* */ } return; } if ($f === undefined) { $f = { $blk: cvtInt }; } $f._r = _r; $f.t = t; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; - }; - cvtUint = function(v, t) { - var _r, t, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - _r = makeInt(new flag(v.flag).ro(), $clone(v, Value).Uint(), t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - $s = -1; return _r; - /* */ } return; } if ($f === undefined) { $f = { $blk: cvtUint }; } $f._r = _r; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - cvtFloatInt = function(v, t) { - var _r, t, v, x, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - _r = makeInt(new flag(v.flag).ro(), ((x = (new $Int64(0, $clone(v, Value).Float())), new $Uint64(x.$high, x.$low))), t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - $s = -1; return _r; - /* */ } return; } if ($f === undefined) { $f = { $blk: cvtFloatInt }; } $f._r = _r; $f.t = t; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; - }; - cvtFloatUint = function(v, t) { - var _r, t, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - _r = makeInt(new flag(v.flag).ro(), (new $Uint64(0, $clone(v, Value).Float())), t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - $s = -1; return _r; - /* */ } return; } if ($f === undefined) { $f = { $blk: cvtFloatUint }; } $f._r = _r; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - cvtIntFloat = function(v, t) { - var _r, t, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - _r = makeFloat(new flag(v.flag).ro(), ($flatten64($clone(v, Value).Int())), t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - $s = -1; return _r; - /* */ } return; } if ($f === undefined) { $f = { $blk: cvtIntFloat }; } $f._r = _r; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - cvtUintFloat = function(v, t) { - var _r, t, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - _r = makeFloat(new flag(v.flag).ro(), ($flatten64($clone(v, Value).Uint())), t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - $s = -1; return _r; - /* */ } return; } if ($f === undefined) { $f = { $blk: cvtUintFloat }; } $f._r = _r; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - cvtFloat = function(v, t) { - var _r, t, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - _r = makeFloat(new flag(v.flag).ro(), $clone(v, Value).Float(), t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - $s = -1; return _r; - /* */ } return; } if ($f === undefined) { $f = { $blk: cvtFloat }; } $f._r = _r; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - cvtComplex = function(v, t) { - var _r, t, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - _r = makeComplex(new flag(v.flag).ro(), $clone(v, Value).Complex(), t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - $s = -1; return _r; - /* */ } return; } if ($f === undefined) { $f = { $blk: cvtComplex }; } $f._r = _r; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - cvtIntString = function(v, t) { - var _r, t, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - _r = makeString(new flag(v.flag).ro(), ($encodeRune($clone(v, Value).Int().$low)), t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - $s = -1; return _r; - /* */ } return; } if ($f === undefined) { $f = { $blk: cvtIntString }; } $f._r = _r; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - cvtUintString = function(v, t) { - var _r, t, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - _r = makeString(new flag(v.flag).ro(), ($encodeRune($clone(v, Value).Uint().$low)), t); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - $s = -1; return _r; - /* */ } return; } if ($f === undefined) { $f = { $blk: cvtUintString }; } $f._r = _r; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - cvtBytesString = function(v, t) { - var _arg, _arg$1, _arg$2, _r, _r$1, t, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _r = $f._r; _r$1 = $f._r$1; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - _arg = new flag(v.flag).ro(); - _r = $clone(v, Value).Bytes(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - _arg$1 = ($bytesToString(_r)); - _arg$2 = t; - _r$1 = makeString(_arg, _arg$1, _arg$2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - $s = -1; return _r$1; - /* */ } return; } if ($f === undefined) { $f = { $blk: cvtBytesString }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._r = _r; $f._r$1 = _r$1; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - cvtStringBytes = function(v, t) { - var _arg, _arg$1, _arg$2, _r, _r$1, t, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _r = $f._r; _r$1 = $f._r$1; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - _arg = new flag(v.flag).ro(); - _r = $clone(v, Value).String(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - _arg$1 = (new sliceType$15($stringToBytes(_r))); - _arg$2 = t; - _r$1 = makeBytes(_arg, _arg$1, _arg$2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - $s = -1; return _r$1; - /* */ } return; } if ($f === undefined) { $f = { $blk: cvtStringBytes }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._r = _r; $f._r$1 = _r$1; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - cvtRunesString = function(v, t) { - var _arg, _arg$1, _arg$2, _r, _r$1, t, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _r = $f._r; _r$1 = $f._r$1; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - _arg = new flag(v.flag).ro(); - _r = $clone(v, Value).runes(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - _arg$1 = ($runesToString(_r)); - _arg$2 = t; - _r$1 = makeString(_arg, _arg$1, _arg$2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - $s = -1; return _r$1; - /* */ } return; } if ($f === undefined) { $f = { $blk: cvtRunesString }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._r = _r; $f._r$1 = _r$1; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - cvtStringRunes = function(v, t) { - var _arg, _arg$1, _arg$2, _r, _r$1, t, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _arg = $f._arg; _arg$1 = $f._arg$1; _arg$2 = $f._arg$2; _r = $f._r; _r$1 = $f._r$1; t = $f.t; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - _arg = new flag(v.flag).ro(); - _r = $clone(v, Value).String(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - _arg$1 = (new sliceType$17($stringToRunes(_r))); - _arg$2 = t; - _r$1 = makeRunes(_arg, _arg$1, _arg$2); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - $s = -1; return _r$1; - /* */ } return; } if ($f === undefined) { $f = { $blk: cvtStringRunes }; } $f._arg = _arg; $f._arg$1 = _arg$1; $f._arg$2 = _arg$2; $f._r = _r; $f._r$1 = _r$1; $f.t = t; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - cvtT2I = function(v, typ) { - var _r, _r$1, _r$2, _r$3, _r$4, target, typ, v, x, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; _r$3 = $f._r$3; _r$4 = $f._r$4; target = $f.target; typ = $f.typ; v = $f.v; x = $f.x; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - _r = typ.common(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - _r$1 = unsafe_New(_r); /* */ $s = 2; case 2: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - target = _r$1; - _r$2 = valueInterface($clone(v, Value), false); /* */ $s = 3; case 3: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } - x = _r$2; - _r$3 = typ.NumMethod(); /* */ $s = 7; case 7: if($c) { $c = false; _r$3 = _r$3.$blk(); } if (_r$3 && _r$3.$blk !== undefined) { break s; } - /* */ if (_r$3 === 0) { $s = 4; continue; } - /* */ $s = 5; continue; - /* if (_r$3 === 0) { */ case 4: - (target).$set(x); - $s = 6; continue; - /* } else { */ case 5: - ifaceE2I($assertType(typ, ptrType$1), x, target); - /* } */ case 6: - _r$4 = typ.common(); /* */ $s = 8; case 8: if($c) { $c = false; _r$4 = _r$4.$blk(); } if (_r$4 && _r$4.$blk !== undefined) { break s; } - $s = -1; return new Value.ptr(_r$4, target, (((new flag(v.flag).ro() | 128) >>> 0) | 20) >>> 0); - /* */ } return; } if ($f === undefined) { $f = { $blk: cvtT2I }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f._r$3 = _r$3; $f._r$4 = _r$4; $f.target = target; $f.typ = typ; $f.v = v; $f.x = x; $f.$s = $s; $f.$r = $r; return $f; - }; - cvtI2I = function(v, typ) { - var _r, _r$1, _r$2, ret, typ, v, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; _r$2 = $f._r$2; ret = $f.ret; typ = $f.typ; v = $f.v; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - /* */ if ($clone(v, Value).IsNil()) { $s = 1; continue; } - /* */ $s = 2; continue; - /* if ($clone(v, Value).IsNil()) { */ case 1: - _r = Zero(typ); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - ret = _r; - ret.flag = (ret.flag | (new flag(v.flag).ro())) >>> 0; - $s = -1; return ret; - /* } */ case 2: - _r$1 = $clone(v, Value).Elem(); /* */ $s = 4; case 4: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } - _r$2 = cvtT2I($clone(_r$1, Value), typ); /* */ $s = 5; case 5: if($c) { $c = false; _r$2 = _r$2.$blk(); } if (_r$2 && _r$2.$blk !== undefined) { break s; } - $s = -1; return _r$2; - /* */ } return; } if ($f === undefined) { $f = { $blk: cvtI2I }; } $f._r = _r; $f._r$1 = _r$1; $f._r$2 = _r$2; $f.ret = ret; $f.typ = typ; $f.v = v; $f.$s = $s; $f.$r = $r; return $f; - }; - ptrType$5.methods = [{prop: "methods", name: "methods", pkg: "reflect", typ: $funcType([], [sliceType$5], false)}, {prop: "exportedMethods", name: "exportedMethods", pkg: "reflect", typ: $funcType([], [sliceType$5], false)}]; - ptrType$16.methods = [{prop: "in$", name: "in", pkg: "reflect", typ: $funcType([], [sliceType$2], false)}, {prop: "out", name: "out", pkg: "reflect", typ: $funcType([], [sliceType$2], false)}]; - name.methods = [{prop: "name", name: "name", pkg: "reflect", typ: $funcType([], [$String], false)}, {prop: "tag", name: "tag", pkg: "reflect", typ: $funcType([], [$String], false)}, {prop: "pkgPath", name: "pkgPath", pkg: "reflect", typ: $funcType([], [$String], false)}, {prop: "isExported", name: "isExported", pkg: "reflect", typ: $funcType([], [$Bool], false)}, {prop: "data", name: "data", pkg: "reflect", typ: $funcType([$Int, $String], [ptrType$4], false)}, {prop: "nameLen", name: "nameLen", pkg: "reflect", typ: $funcType([], [$Int], false)}, {prop: "tagLen", name: "tagLen", pkg: "reflect", typ: $funcType([], [$Int], false)}]; - Kind.methods = [{prop: "String", name: "String", pkg: "", typ: $funcType([], [$String], false)}]; - ptrType$1.methods = [{prop: "uncommon", name: "uncommon", pkg: "reflect", typ: $funcType([], [ptrType$5], false)}, {prop: "nameOff", name: "nameOff", pkg: "reflect", typ: $funcType([nameOff], [name], false)}, {prop: "typeOff", name: "typeOff", pkg: "reflect", typ: $funcType([typeOff], [ptrType$1], false)}, {prop: "ptrTo", name: "ptrTo", pkg: "reflect", typ: $funcType([], [ptrType$1], false)}, {prop: "pointers", name: "pointers", pkg: "reflect", typ: $funcType([], [$Bool], false)}, {prop: "Comparable", name: "Comparable", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "Method", name: "Method", pkg: "", typ: $funcType([$Int], [Method], false)}, {prop: "textOff", name: "textOff", pkg: "reflect", typ: $funcType([textOff], [$UnsafePointer], false)}, {prop: "String", name: "String", pkg: "", typ: $funcType([], [$String], false)}, {prop: "Size", name: "Size", pkg: "", typ: $funcType([], [$Uintptr], false)}, {prop: "Bits", name: "Bits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "Align", name: "Align", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "FieldAlign", name: "FieldAlign", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "Kind", name: "Kind", pkg: "", typ: $funcType([], [Kind], false)}, {prop: "common", name: "common", pkg: "reflect", typ: $funcType([], [ptrType$1], false)}, {prop: "exportedMethods", name: "exportedMethods", pkg: "reflect", typ: $funcType([], [sliceType$5], false)}, {prop: "NumMethod", name: "NumMethod", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "MethodByName", name: "MethodByName", pkg: "", typ: $funcType([$String], [Method, $Bool], false)}, {prop: "PkgPath", name: "PkgPath", pkg: "", typ: $funcType([], [$String], false)}, {prop: "Name", name: "Name", pkg: "", typ: $funcType([], [$String], false)}, {prop: "ChanDir", name: "ChanDir", pkg: "", typ: $funcType([], [ChanDir], false)}, {prop: "IsVariadic", name: "IsVariadic", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "Elem", name: "Elem", pkg: "", typ: $funcType([], [Type], false)}, {prop: "Field", name: "Field", pkg: "", typ: $funcType([$Int], [StructField], false)}, {prop: "FieldByIndex", name: "FieldByIndex", pkg: "", typ: $funcType([sliceType$13], [StructField], false)}, {prop: "FieldByName", name: "FieldByName", pkg: "", typ: $funcType([$String], [StructField, $Bool], false)}, {prop: "FieldByNameFunc", name: "FieldByNameFunc", pkg: "", typ: $funcType([funcType$3], [StructField, $Bool], false)}, {prop: "In", name: "In", pkg: "", typ: $funcType([$Int], [Type], false)}, {prop: "Key", name: "Key", pkg: "", typ: $funcType([], [Type], false)}, {prop: "Len", name: "Len", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "NumField", name: "NumField", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "NumIn", name: "NumIn", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "NumOut", name: "NumOut", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "Out", name: "Out", pkg: "", typ: $funcType([$Int], [Type], false)}, {prop: "Implements", name: "Implements", pkg: "", typ: $funcType([Type], [$Bool], false)}, {prop: "AssignableTo", name: "AssignableTo", pkg: "", typ: $funcType([Type], [$Bool], false)}, {prop: "ConvertibleTo", name: "ConvertibleTo", pkg: "", typ: $funcType([Type], [$Bool], false)}]; - ChanDir.methods = [{prop: "String", name: "String", pkg: "", typ: $funcType([], [$String], false)}]; - ptrType$7.methods = [{prop: "Method", name: "Method", pkg: "", typ: $funcType([$Int], [Method], false)}, {prop: "NumMethod", name: "NumMethod", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "MethodByName", name: "MethodByName", pkg: "", typ: $funcType([$String], [Method, $Bool], false)}]; - ptrType$17.methods = [{prop: "offset", name: "offset", pkg: "reflect", typ: $funcType([], [$Uintptr], false)}, {prop: "embedded", name: "embedded", pkg: "reflect", typ: $funcType([], [$Bool], false)}]; - ptrType$9.methods = [{prop: "Field", name: "Field", pkg: "", typ: $funcType([$Int], [StructField], false)}, {prop: "FieldByIndex", name: "FieldByIndex", pkg: "", typ: $funcType([sliceType$13], [StructField], false)}, {prop: "FieldByNameFunc", name: "FieldByNameFunc", pkg: "", typ: $funcType([funcType$3], [StructField, $Bool], false)}, {prop: "FieldByName", name: "FieldByName", pkg: "", typ: $funcType([$String], [StructField, $Bool], false)}]; - StructTag.methods = [{prop: "Get", name: "Get", pkg: "", typ: $funcType([$String], [$String], false)}, {prop: "Lookup", name: "Lookup", pkg: "", typ: $funcType([$String], [$String, $Bool], false)}]; - Value.methods = [{prop: "object", name: "object", pkg: "reflect", typ: $funcType([], [ptrType$2], false)}, {prop: "assignTo", name: "assignTo", pkg: "reflect", typ: $funcType([$String, ptrType$1, $UnsafePointer], [Value], false)}, {prop: "call", name: "call", pkg: "reflect", typ: $funcType([$String, sliceType$9], [sliceType$9], false)}, {prop: "Cap", name: "Cap", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "Elem", name: "Elem", pkg: "", typ: $funcType([], [Value], false)}, {prop: "Field", name: "Field", pkg: "", typ: $funcType([$Int], [Value], false)}, {prop: "Index", name: "Index", pkg: "", typ: $funcType([$Int], [Value], false)}, {prop: "InterfaceData", name: "InterfaceData", pkg: "", typ: $funcType([], [arrayType$12], false)}, {prop: "IsNil", name: "IsNil", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "Len", name: "Len", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "Pointer", name: "Pointer", pkg: "", typ: $funcType([], [$Uintptr], false)}, {prop: "Set", name: "Set", pkg: "", typ: $funcType([Value], [], false)}, {prop: "SetBytes", name: "SetBytes", pkg: "", typ: $funcType([sliceType$15], [], false)}, {prop: "SetCap", name: "SetCap", pkg: "", typ: $funcType([$Int], [], false)}, {prop: "SetLen", name: "SetLen", pkg: "", typ: $funcType([$Int], [], false)}, {prop: "Slice", name: "Slice", pkg: "", typ: $funcType([$Int, $Int], [Value], false)}, {prop: "Slice3", name: "Slice3", pkg: "", typ: $funcType([$Int, $Int, $Int], [Value], false)}, {prop: "Close", name: "Close", pkg: "", typ: $funcType([], [], false)}, {prop: "pointer", name: "pointer", pkg: "reflect", typ: $funcType([], [$UnsafePointer], false)}, {prop: "Addr", name: "Addr", pkg: "", typ: $funcType([], [Value], false)}, {prop: "Bool", name: "Bool", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "Bytes", name: "Bytes", pkg: "", typ: $funcType([], [sliceType$15], false)}, {prop: "runes", name: "runes", pkg: "reflect", typ: $funcType([], [sliceType$17], false)}, {prop: "CanAddr", name: "CanAddr", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "CanSet", name: "CanSet", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "Call", name: "Call", pkg: "", typ: $funcType([sliceType$9], [sliceType$9], false)}, {prop: "CallSlice", name: "CallSlice", pkg: "", typ: $funcType([sliceType$9], [sliceType$9], false)}, {prop: "Complex", name: "Complex", pkg: "", typ: $funcType([], [$Complex128], false)}, {prop: "FieldByIndex", name: "FieldByIndex", pkg: "", typ: $funcType([sliceType$13], [Value], false)}, {prop: "FieldByName", name: "FieldByName", pkg: "", typ: $funcType([$String], [Value], false)}, {prop: "FieldByNameFunc", name: "FieldByNameFunc", pkg: "", typ: $funcType([funcType$3], [Value], false)}, {prop: "Float", name: "Float", pkg: "", typ: $funcType([], [$Float64], false)}, {prop: "Int", name: "Int", pkg: "", typ: $funcType([], [$Int64], false)}, {prop: "CanInterface", name: "CanInterface", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "Interface", name: "Interface", pkg: "", typ: $funcType([], [$emptyInterface], false)}, {prop: "IsValid", name: "IsValid", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "Kind", name: "Kind", pkg: "", typ: $funcType([], [Kind], false)}, {prop: "MapIndex", name: "MapIndex", pkg: "", typ: $funcType([Value], [Value], false)}, {prop: "MapKeys", name: "MapKeys", pkg: "", typ: $funcType([], [sliceType$9], false)}, {prop: "Method", name: "Method", pkg: "", typ: $funcType([$Int], [Value], false)}, {prop: "NumMethod", name: "NumMethod", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "MethodByName", name: "MethodByName", pkg: "", typ: $funcType([$String], [Value], false)}, {prop: "NumField", name: "NumField", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "OverflowComplex", name: "OverflowComplex", pkg: "", typ: $funcType([$Complex128], [$Bool], false)}, {prop: "OverflowFloat", name: "OverflowFloat", pkg: "", typ: $funcType([$Float64], [$Bool], false)}, {prop: "OverflowInt", name: "OverflowInt", pkg: "", typ: $funcType([$Int64], [$Bool], false)}, {prop: "OverflowUint", name: "OverflowUint", pkg: "", typ: $funcType([$Uint64], [$Bool], false)}, {prop: "Recv", name: "Recv", pkg: "", typ: $funcType([], [Value, $Bool], false)}, {prop: "recv", name: "recv", pkg: "reflect", typ: $funcType([$Bool], [Value, $Bool], false)}, {prop: "Send", name: "Send", pkg: "", typ: $funcType([Value], [], false)}, {prop: "send", name: "send", pkg: "reflect", typ: $funcType([Value, $Bool], [$Bool], false)}, {prop: "SetBool", name: "SetBool", pkg: "", typ: $funcType([$Bool], [], false)}, {prop: "setRunes", name: "setRunes", pkg: "reflect", typ: $funcType([sliceType$17], [], false)}, {prop: "SetComplex", name: "SetComplex", pkg: "", typ: $funcType([$Complex128], [], false)}, {prop: "SetFloat", name: "SetFloat", pkg: "", typ: $funcType([$Float64], [], false)}, {prop: "SetInt", name: "SetInt", pkg: "", typ: $funcType([$Int64], [], false)}, {prop: "SetMapIndex", name: "SetMapIndex", pkg: "", typ: $funcType([Value, Value], [], false)}, {prop: "SetUint", name: "SetUint", pkg: "", typ: $funcType([$Uint64], [], false)}, {prop: "SetPointer", name: "SetPointer", pkg: "", typ: $funcType([$UnsafePointer], [], false)}, {prop: "SetString", name: "SetString", pkg: "", typ: $funcType([$String], [], false)}, {prop: "String", name: "String", pkg: "", typ: $funcType([], [$String], false)}, {prop: "TryRecv", name: "TryRecv", pkg: "", typ: $funcType([], [Value, $Bool], false)}, {prop: "TrySend", name: "TrySend", pkg: "", typ: $funcType([Value], [$Bool], false)}, {prop: "Type", name: "Type", pkg: "", typ: $funcType([], [Type], false)}, {prop: "Uint", name: "Uint", pkg: "", typ: $funcType([], [$Uint64], false)}, {prop: "UnsafeAddr", name: "UnsafeAddr", pkg: "", typ: $funcType([], [$Uintptr], false)}, {prop: "Convert", name: "Convert", pkg: "", typ: $funcType([Type], [Value], false)}]; - flag.methods = [{prop: "kind", name: "kind", pkg: "reflect", typ: $funcType([], [Kind], false)}, {prop: "ro", name: "ro", pkg: "reflect", typ: $funcType([], [flag], false)}, {prop: "mustBe", name: "mustBe", pkg: "reflect", typ: $funcType([Kind], [], false)}, {prop: "mustBeExported", name: "mustBeExported", pkg: "reflect", typ: $funcType([], [], false)}, {prop: "mustBeAssignable", name: "mustBeAssignable", pkg: "reflect", typ: $funcType([], [], false)}]; - ptrType$18.methods = [{prop: "Error", name: "Error", pkg: "", typ: $funcType([], [$String], false)}]; - uncommonType.init("reflect", [{prop: "pkgPath", name: "pkgPath", embedded: false, exported: false, typ: nameOff, tag: ""}, {prop: "mcount", name: "mcount", embedded: false, exported: false, typ: $Uint16, tag: ""}, {prop: "xcount", name: "xcount", embedded: false, exported: false, typ: $Uint16, tag: ""}, {prop: "moff", name: "moff", embedded: false, exported: false, typ: $Uint32, tag: ""}, {prop: "_methods", name: "_methods", embedded: false, exported: false, typ: sliceType$5, tag: ""}]); - funcType.init("reflect", [{prop: "rtype", name: "rtype", embedded: true, exported: false, typ: rtype, tag: "reflect:\"func\""}, {prop: "inCount", name: "inCount", embedded: false, exported: false, typ: $Uint16, tag: ""}, {prop: "outCount", name: "outCount", embedded: false, exported: false, typ: $Uint16, tag: ""}, {prop: "_in", name: "_in", embedded: false, exported: false, typ: sliceType$2, tag: ""}, {prop: "_out", name: "_out", embedded: false, exported: false, typ: sliceType$2, tag: ""}]); - name.init("reflect", [{prop: "bytes", name: "bytes", embedded: false, exported: false, typ: ptrType$4, tag: ""}]); - nameData.init("reflect", [{prop: "name", name: "name", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "tag", name: "tag", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "exported", name: "exported", embedded: false, exported: false, typ: $Bool, tag: ""}]); - mapIter.init("reflect", [{prop: "t", name: "t", embedded: false, exported: false, typ: Type, tag: ""}, {prop: "m", name: "m", embedded: false, exported: false, typ: ptrType$2, tag: ""}, {prop: "keys", name: "keys", embedded: false, exported: false, typ: ptrType$2, tag: ""}, {prop: "i", name: "i", embedded: false, exported: false, typ: $Int, tag: ""}]); - Type.init([{prop: "Align", name: "Align", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "AssignableTo", name: "AssignableTo", pkg: "", typ: $funcType([Type], [$Bool], false)}, {prop: "Bits", name: "Bits", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "ChanDir", name: "ChanDir", pkg: "", typ: $funcType([], [ChanDir], false)}, {prop: "Comparable", name: "Comparable", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "ConvertibleTo", name: "ConvertibleTo", pkg: "", typ: $funcType([Type], [$Bool], false)}, {prop: "Elem", name: "Elem", pkg: "", typ: $funcType([], [Type], false)}, {prop: "Field", name: "Field", pkg: "", typ: $funcType([$Int], [StructField], false)}, {prop: "FieldAlign", name: "FieldAlign", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "FieldByIndex", name: "FieldByIndex", pkg: "", typ: $funcType([sliceType$13], [StructField], false)}, {prop: "FieldByName", name: "FieldByName", pkg: "", typ: $funcType([$String], [StructField, $Bool], false)}, {prop: "FieldByNameFunc", name: "FieldByNameFunc", pkg: "", typ: $funcType([funcType$3], [StructField, $Bool], false)}, {prop: "Implements", name: "Implements", pkg: "", typ: $funcType([Type], [$Bool], false)}, {prop: "In", name: "In", pkg: "", typ: $funcType([$Int], [Type], false)}, {prop: "IsVariadic", name: "IsVariadic", pkg: "", typ: $funcType([], [$Bool], false)}, {prop: "Key", name: "Key", pkg: "", typ: $funcType([], [Type], false)}, {prop: "Kind", name: "Kind", pkg: "", typ: $funcType([], [Kind], false)}, {prop: "Len", name: "Len", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "Method", name: "Method", pkg: "", typ: $funcType([$Int], [Method], false)}, {prop: "MethodByName", name: "MethodByName", pkg: "", typ: $funcType([$String], [Method, $Bool], false)}, {prop: "Name", name: "Name", pkg: "", typ: $funcType([], [$String], false)}, {prop: "NumField", name: "NumField", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "NumIn", name: "NumIn", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "NumMethod", name: "NumMethod", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "NumOut", name: "NumOut", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "Out", name: "Out", pkg: "", typ: $funcType([$Int], [Type], false)}, {prop: "PkgPath", name: "PkgPath", pkg: "", typ: $funcType([], [$String], false)}, {prop: "Size", name: "Size", pkg: "", typ: $funcType([], [$Uintptr], false)}, {prop: "String", name: "String", pkg: "", typ: $funcType([], [$String], false)}, {prop: "common", name: "common", pkg: "reflect", typ: $funcType([], [ptrType$1], false)}, {prop: "uncommon", name: "uncommon", pkg: "reflect", typ: $funcType([], [ptrType$5], false)}]); - rtype.init("reflect", [{prop: "size", name: "size", embedded: false, exported: false, typ: $Uintptr, tag: ""}, {prop: "ptrdata", name: "ptrdata", embedded: false, exported: false, typ: $Uintptr, tag: ""}, {prop: "hash", name: "hash", embedded: false, exported: false, typ: $Uint32, tag: ""}, {prop: "tflag", name: "tflag", embedded: false, exported: false, typ: tflag, tag: ""}, {prop: "align", name: "align", embedded: false, exported: false, typ: $Uint8, tag: ""}, {prop: "fieldAlign", name: "fieldAlign", embedded: false, exported: false, typ: $Uint8, tag: ""}, {prop: "kind", name: "kind", embedded: false, exported: false, typ: $Uint8, tag: ""}, {prop: "alg", name: "alg", embedded: false, exported: false, typ: ptrType$3, tag: ""}, {prop: "gcdata", name: "gcdata", embedded: false, exported: false, typ: ptrType$4, tag: ""}, {prop: "str", name: "str", embedded: false, exported: false, typ: nameOff, tag: ""}, {prop: "ptrToThis", name: "ptrToThis", embedded: false, exported: false, typ: typeOff, tag: ""}]); - typeAlg.init("reflect", [{prop: "hash", name: "hash", embedded: false, exported: false, typ: funcType$4, tag: ""}, {prop: "equal", name: "equal", embedded: false, exported: false, typ: funcType$5, tag: ""}]); - method.init("reflect", [{prop: "name", name: "name", embedded: false, exported: false, typ: nameOff, tag: ""}, {prop: "mtyp", name: "mtyp", embedded: false, exported: false, typ: typeOff, tag: ""}, {prop: "ifn", name: "ifn", embedded: false, exported: false, typ: textOff, tag: ""}, {prop: "tfn", name: "tfn", embedded: false, exported: false, typ: textOff, tag: ""}]); - arrayType.init("reflect", [{prop: "rtype", name: "rtype", embedded: true, exported: false, typ: rtype, tag: ""}, {prop: "elem", name: "elem", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "slice", name: "slice", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "len", name: "len", embedded: false, exported: false, typ: $Uintptr, tag: ""}]); - chanType.init("reflect", [{prop: "rtype", name: "rtype", embedded: true, exported: false, typ: rtype, tag: ""}, {prop: "elem", name: "elem", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "dir", name: "dir", embedded: false, exported: false, typ: $Uintptr, tag: ""}]); - imethod.init("reflect", [{prop: "name", name: "name", embedded: false, exported: false, typ: nameOff, tag: ""}, {prop: "typ", name: "typ", embedded: false, exported: false, typ: typeOff, tag: ""}]); - interfaceType.init("reflect", [{prop: "rtype", name: "rtype", embedded: true, exported: false, typ: rtype, tag: ""}, {prop: "pkgPath", name: "pkgPath", embedded: false, exported: false, typ: name, tag: ""}, {prop: "methods", name: "methods", embedded: false, exported: false, typ: sliceType$6, tag: ""}]); - mapType.init("reflect", [{prop: "rtype", name: "rtype", embedded: true, exported: false, typ: rtype, tag: ""}, {prop: "key", name: "key", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "elem", name: "elem", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "bucket", name: "bucket", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "keysize", name: "keysize", embedded: false, exported: false, typ: $Uint8, tag: ""}, {prop: "indirectkey", name: "indirectkey", embedded: false, exported: false, typ: $Uint8, tag: ""}, {prop: "valuesize", name: "valuesize", embedded: false, exported: false, typ: $Uint8, tag: ""}, {prop: "indirectvalue", name: "indirectvalue", embedded: false, exported: false, typ: $Uint8, tag: ""}, {prop: "bucketsize", name: "bucketsize", embedded: false, exported: false, typ: $Uint16, tag: ""}, {prop: "reflexivekey", name: "reflexivekey", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "needkeyupdate", name: "needkeyupdate", embedded: false, exported: false, typ: $Bool, tag: ""}]); - ptrType.init("reflect", [{prop: "rtype", name: "rtype", embedded: true, exported: false, typ: rtype, tag: ""}, {prop: "elem", name: "elem", embedded: false, exported: false, typ: ptrType$1, tag: ""}]); - sliceType.init("reflect", [{prop: "rtype", name: "rtype", embedded: true, exported: false, typ: rtype, tag: ""}, {prop: "elem", name: "elem", embedded: false, exported: false, typ: ptrType$1, tag: ""}]); - structField.init("reflect", [{prop: "name", name: "name", embedded: false, exported: false, typ: name, tag: ""}, {prop: "typ", name: "typ", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "offsetEmbed", name: "offsetEmbed", embedded: false, exported: false, typ: $Uintptr, tag: ""}]); - structType.init("reflect", [{prop: "rtype", name: "rtype", embedded: true, exported: false, typ: rtype, tag: ""}, {prop: "pkgPath", name: "pkgPath", embedded: false, exported: false, typ: name, tag: ""}, {prop: "fields", name: "fields", embedded: false, exported: false, typ: sliceType$7, tag: ""}]); - Method.init("", [{prop: "Name", name: "Name", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "PkgPath", name: "PkgPath", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "Type", name: "Type", embedded: false, exported: true, typ: Type, tag: ""}, {prop: "Func", name: "Func", embedded: false, exported: true, typ: Value, tag: ""}, {prop: "Index", name: "Index", embedded: false, exported: true, typ: $Int, tag: ""}]); - StructField.init("", [{prop: "Name", name: "Name", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "PkgPath", name: "PkgPath", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "Type", name: "Type", embedded: false, exported: true, typ: Type, tag: ""}, {prop: "Tag", name: "Tag", embedded: false, exported: true, typ: StructTag, tag: ""}, {prop: "Offset", name: "Offset", embedded: false, exported: true, typ: $Uintptr, tag: ""}, {prop: "Index", name: "Index", embedded: false, exported: true, typ: sliceType$13, tag: ""}, {prop: "Anonymous", name: "Anonymous", embedded: false, exported: true, typ: $Bool, tag: ""}]); - fieldScan.init("reflect", [{prop: "typ", name: "typ", embedded: false, exported: false, typ: ptrType$9, tag: ""}, {prop: "index", name: "index", embedded: false, exported: false, typ: sliceType$13, tag: ""}]); - Value.init("reflect", [{prop: "typ", name: "typ", embedded: false, exported: false, typ: ptrType$1, tag: ""}, {prop: "ptr", name: "ptr", embedded: false, exported: false, typ: $UnsafePointer, tag: ""}, {prop: "flag", name: "flag", embedded: true, exported: false, typ: flag, tag: ""}]); - ValueError.init("", [{prop: "Method", name: "Method", embedded: false, exported: true, typ: $String, tag: ""}, {prop: "Kind", name: "Kind", embedded: false, exported: true, typ: Kind, tag: ""}]); - $init = function() { - $pkg.$init = function() {}; - /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - $r = errors.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = js.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = math.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = runtime.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = strconv.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = sync.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = unicode.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = utf8.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - nameOffList = sliceType$1.nil; - typeOffList = sliceType$2.nil; - initialized = false; - uncommonTypeMap = {}; - nameMap = {}; - callHelper = $assertType($internalize($call, $emptyInterface), funcType$1); - selectHelper = $assertType($internalize($select, $emptyInterface), funcType$1); - jsObjectPtr = reflectType($jsObjectPtr); - kindNames = new sliceType$4(["invalid", "bool", "int", "int8", "int16", "int32", "int64", "uint", "uint8", "uint16", "uint32", "uint64", "uintptr", "float32", "float64", "complex64", "complex128", "array", "chan", "func", "interface", "map", "ptr", "slice", "string", "struct", "unsafe.Pointer"]); - uint8Type = $assertType(TypeOf(new $Uint8(0)), ptrType$1); - $r = init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f; - }; - $pkg.$init = $init; - return $pkg; -})(); $packages["fmt"] = (function() { var $pkg = {}, $init, errors, io, math, os, reflect, strconv, sync, utf8, fmtFlags, fmt, State, Formatter, Stringer, GoStringer, buffer, pp, scanError, ss, ssave, sliceType, ptrType, ptrType$1, arrayType, arrayType$1, sliceType$1, sliceType$2, arrayType$2, ptrType$2, ptrType$5, ptrType$25, funcType, ppFree, space, ssFree, complexError, boolError, newPrinter, Fprintf, Printf, Sprintf, Errorf, Sprint, Fprintln, Println, Sprintln, getField, tooLarge, parsenum, intFromArg, parseArgNumber, isSpace, notSpace, indexRune; errors = $packages["errors"]; @@ -21555,639 +22188,6 @@ $packages["fmt"] = (function() { $pkg.$init = $init; return $pkg; })(); -$packages["encoding/binary"] = (function() { - var $pkg = {}, $init, errors, io, math, reflect, bigEndian, sliceType, overflow; - errors = $packages["errors"]; - io = $packages["io"]; - math = $packages["math"]; - reflect = $packages["reflect"]; - bigEndian = $pkg.bigEndian = $newType(0, $kindStruct, "binary.bigEndian", true, "encoding/binary", false, function() { - this.$val = this; - if (arguments.length === 0) { - return; - } - }); - sliceType = $sliceType($Uint8); - bigEndian.ptr.prototype.Uint16 = function(b) { - var b; - $unused((1 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 1])); - return ((((1 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 1]) << 16 >>> 16)) | ((((0 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 0]) << 16 >>> 16)) << 8 << 16 >>> 16)) >>> 0; - }; - bigEndian.prototype.Uint16 = function(b) { return this.$val.Uint16(b); }; - bigEndian.ptr.prototype.PutUint16 = function(b, v) { - var b, v; - $unused((1 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 1])); - (0 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 0] = (((v >>> 8 << 16 >>> 16) << 24 >>> 24))); - (1 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 1] = ((v << 24 >>> 24))); - }; - bigEndian.prototype.PutUint16 = function(b, v) { return this.$val.PutUint16(b, v); }; - bigEndian.ptr.prototype.Uint32 = function(b) { - var b; - $unused((3 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 3])); - return ((((((((3 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 3]) >>> 0)) | ((((2 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 2]) >>> 0)) << 8 >>> 0)) >>> 0) | ((((1 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 1]) >>> 0)) << 16 >>> 0)) >>> 0) | ((((0 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 0]) >>> 0)) << 24 >>> 0)) >>> 0; - }; - bigEndian.prototype.Uint32 = function(b) { return this.$val.Uint32(b); }; - bigEndian.ptr.prototype.PutUint32 = function(b, v) { - var b, v; - $unused((3 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 3])); - (0 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 0] = (((v >>> 24 >>> 0) << 24 >>> 24))); - (1 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 1] = (((v >>> 16 >>> 0) << 24 >>> 24))); - (2 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 2] = (((v >>> 8 >>> 0) << 24 >>> 24))); - (3 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 3] = ((v << 24 >>> 24))); - }; - bigEndian.prototype.PutUint32 = function(b, v) { return this.$val.PutUint32(b, v); }; - bigEndian.ptr.prototype.Uint64 = function(b) { - var b, x, x$1, x$10, x$11, x$12, x$13, x$2, x$3, x$4, x$5, x$6, x$7, x$8, x$9; - $unused((7 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 7])); - return (x = (x$1 = (x$2 = (x$3 = (x$4 = (x$5 = (x$6 = (new $Uint64(0, (7 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 7]))), x$7 = $shiftLeft64((new $Uint64(0, (6 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 6]))), 8), new $Uint64(x$6.$high | x$7.$high, (x$6.$low | x$7.$low) >>> 0)), x$8 = $shiftLeft64((new $Uint64(0, (5 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 5]))), 16), new $Uint64(x$5.$high | x$8.$high, (x$5.$low | x$8.$low) >>> 0)), x$9 = $shiftLeft64((new $Uint64(0, (4 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 4]))), 24), new $Uint64(x$4.$high | x$9.$high, (x$4.$low | x$9.$low) >>> 0)), x$10 = $shiftLeft64((new $Uint64(0, (3 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 3]))), 32), new $Uint64(x$3.$high | x$10.$high, (x$3.$low | x$10.$low) >>> 0)), x$11 = $shiftLeft64((new $Uint64(0, (2 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 2]))), 40), new $Uint64(x$2.$high | x$11.$high, (x$2.$low | x$11.$low) >>> 0)), x$12 = $shiftLeft64((new $Uint64(0, (1 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 1]))), 48), new $Uint64(x$1.$high | x$12.$high, (x$1.$low | x$12.$low) >>> 0)), x$13 = $shiftLeft64((new $Uint64(0, (0 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 0]))), 56), new $Uint64(x.$high | x$13.$high, (x.$low | x$13.$low) >>> 0)); - }; - bigEndian.prototype.Uint64 = function(b) { return this.$val.Uint64(b); }; - bigEndian.ptr.prototype.PutUint64 = function(b, v) { - var b, v; - $unused((7 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 7])); - (0 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 0] = (($shiftRightUint64(v, 56).$low << 24 >>> 24))); - (1 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 1] = (($shiftRightUint64(v, 48).$low << 24 >>> 24))); - (2 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 2] = (($shiftRightUint64(v, 40).$low << 24 >>> 24))); - (3 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 3] = (($shiftRightUint64(v, 32).$low << 24 >>> 24))); - (4 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 4] = (($shiftRightUint64(v, 24).$low << 24 >>> 24))); - (5 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 5] = (($shiftRightUint64(v, 16).$low << 24 >>> 24))); - (6 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 6] = (($shiftRightUint64(v, 8).$low << 24 >>> 24))); - (7 >= b.$length ? ($throwRuntimeError("index out of range"), undefined) : b.$array[b.$offset + 7] = ((v.$low << 24 >>> 24))); - }; - bigEndian.prototype.PutUint64 = function(b, v) { return this.$val.PutUint64(b, v); }; - bigEndian.ptr.prototype.String = function() { - return "BigEndian"; - }; - bigEndian.prototype.String = function() { return this.$val.String(); }; - bigEndian.ptr.prototype.GoString = function() { - return "binary.BigEndian"; - }; - bigEndian.prototype.GoString = function() { return this.$val.GoString(); }; - bigEndian.methods = [{prop: "Uint16", name: "Uint16", pkg: "", typ: $funcType([sliceType], [$Uint16], false)}, {prop: "PutUint16", name: "PutUint16", pkg: "", typ: $funcType([sliceType, $Uint16], [], false)}, {prop: "Uint32", name: "Uint32", pkg: "", typ: $funcType([sliceType], [$Uint32], false)}, {prop: "PutUint32", name: "PutUint32", pkg: "", typ: $funcType([sliceType, $Uint32], [], false)}, {prop: "Uint64", name: "Uint64", pkg: "", typ: $funcType([sliceType], [$Uint64], false)}, {prop: "PutUint64", name: "PutUint64", pkg: "", typ: $funcType([sliceType, $Uint64], [], false)}, {prop: "String", name: "String", pkg: "", typ: $funcType([], [$String], false)}, {prop: "GoString", name: "GoString", pkg: "", typ: $funcType([], [$String], false)}]; - bigEndian.init("", []); - $init = function() { - $pkg.$init = function() {}; - /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - $r = errors.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = io.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = math.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = reflect.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $pkg.BigEndian = new bigEndian.ptr(); - overflow = errors.New("binary: varint overflows a 64-bit integer"); - /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f; - }; - $pkg.$init = $init; - return $pkg; -})(); -$packages["encoding"] = (function() { - var $pkg = {}, $init, TextMarshaler, TextUnmarshaler, sliceType; - TextMarshaler = $pkg.TextMarshaler = $newType(8, $kindInterface, "encoding.TextMarshaler", true, "encoding", true, null); - TextUnmarshaler = $pkg.TextUnmarshaler = $newType(8, $kindInterface, "encoding.TextUnmarshaler", true, "encoding", true, null); - sliceType = $sliceType($Uint8); - TextMarshaler.init([{prop: "MarshalText", name: "MarshalText", pkg: "", typ: $funcType([], [sliceType, $error], false)}]); - TextUnmarshaler.init([{prop: "UnmarshalText", name: "UnmarshalText", pkg: "", typ: $funcType([sliceType], [$error], false)}]); - $init = function() { - $pkg.$init = function() {}; - /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f; - }; - $pkg.$init = $init; - return $pkg; -})(); -$packages["encoding/base64"] = (function() { - var $pkg = {}, $init, binary, io, strconv, Encoding, CorruptInputError, arrayType, arrayType$1, sliceType, ptrType, arrayType$4, NewEncoding; - binary = $packages["encoding/binary"]; - io = $packages["io"]; - strconv = $packages["strconv"]; - Encoding = $pkg.Encoding = $newType(0, $kindStruct, "base64.Encoding", true, "encoding/base64", true, function(encode_, decodeMap_, padChar_, strict_) { - this.$val = this; - if (arguments.length === 0) { - this.encode = arrayType.zero(); - this.decodeMap = arrayType$1.zero(); - this.padChar = 0; - this.strict = false; - return; - } - this.encode = encode_; - this.decodeMap = decodeMap_; - this.padChar = padChar_; - this.strict = strict_; - }); - CorruptInputError = $pkg.CorruptInputError = $newType(8, $kindInt64, "base64.CorruptInputError", true, "encoding/base64", true, null); - arrayType = $arrayType($Uint8, 64); - arrayType$1 = $arrayType($Uint8, 256); - sliceType = $sliceType($Uint8); - ptrType = $ptrType(Encoding); - arrayType$4 = $arrayType($Uint8, 4); - NewEncoding = function(encoder$1) { - var e, encoder$1, i, i$1, i$2, x, x$1, x$2; - if (!((encoder$1.length === 64))) { - $panic(new $String("encoding alphabet is not 64-bytes long")); - } - i = 0; - while (true) { - if (!(i < encoder$1.length)) { break; } - if ((encoder$1.charCodeAt(i) === 10) || (encoder$1.charCodeAt(i) === 13)) { - $panic(new $String("encoding alphabet contains newline character")); - } - i = i + (1) >> 0; - } - e = new Encoding.ptr(arrayType.zero(), arrayType$1.zero(), 0, false); - e.padChar = 61; - $copyString(new sliceType(e.encode), encoder$1); - i$1 = 0; - while (true) { - if (!(i$1 < 256)) { break; } - (x = e.decodeMap, ((i$1 < 0 || i$1 >= x.length) ? ($throwRuntimeError("index out of range"), undefined) : x[i$1] = 255)); - i$1 = i$1 + (1) >> 0; - } - i$2 = 0; - while (true) { - if (!(i$2 < encoder$1.length)) { break; } - (x$1 = e.decodeMap, x$2 = encoder$1.charCodeAt(i$2), ((x$2 < 0 || x$2 >= x$1.length) ? ($throwRuntimeError("index out of range"), undefined) : x$1[x$2] = ((i$2 << 24 >>> 24)))); - i$2 = i$2 + (1) >> 0; - } - return e; - }; - $pkg.NewEncoding = NewEncoding; - Encoding.ptr.prototype.WithPadding = function(padding) { - var enc, i, padding, x; - enc = this; - if ((padding === 13) || (padding === 10) || padding > 255) { - $panic(new $String("invalid padding")); - } - i = 0; - while (true) { - if (!(i < 64)) { break; } - if ((((x = enc.encode, ((i < 0 || i >= x.length) ? ($throwRuntimeError("index out of range"), undefined) : x[i])) >> 0)) === padding) { - $panic(new $String("padding contained in alphabet")); - } - i = i + (1) >> 0; - } - enc.padChar = padding; - return enc; - }; - Encoding.prototype.WithPadding = function(padding) { return this.$val.WithPadding(padding); }; - Encoding.ptr.prototype.Strict = function() { - var enc; - enc = this; - enc.strict = true; - return enc; - }; - Encoding.prototype.Strict = function() { return this.$val.Strict(); }; - Encoding.ptr.prototype.Encode = function(dst, src) { - var _1, _q, _tmp, _tmp$1, di, dst, enc, n, remain, si, src, val, val$1, x, x$1, x$10, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$2, x$20, x$21, x$22, x$23, x$24, x$25, x$26, x$27, x$28, x$3, x$4, x$5, x$6, x$7, x$8, x$9; - enc = this; - if (src.$length === 0) { - return; - } - _tmp = 0; - _tmp$1 = 0; - di = _tmp; - si = _tmp$1; - n = $imul(((_q = src.$length / 3, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero"))), 3); - while (true) { - if (!(si < n)) { break; } - val = (((((((x = si + 0 >> 0, ((x < 0 || x >= src.$length) ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + x])) >>> 0)) << 16 >>> 0) | ((((x$1 = si + 1 >> 0, ((x$1 < 0 || x$1 >= src.$length) ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + x$1])) >>> 0)) << 8 >>> 0)) >>> 0) | (((x$2 = si + 2 >> 0, ((x$2 < 0 || x$2 >= src.$length) ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + x$2])) >>> 0))) >>> 0; - (x$5 = di + 0 >> 0, ((x$5 < 0 || x$5 >= dst.$length) ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + x$5] = (x$3 = enc.encode, x$4 = ((val >>> 18 >>> 0) & 63) >>> 0, ((x$4 < 0 || x$4 >= x$3.length) ? ($throwRuntimeError("index out of range"), undefined) : x$3[x$4])))); - (x$8 = di + 1 >> 0, ((x$8 < 0 || x$8 >= dst.$length) ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + x$8] = (x$6 = enc.encode, x$7 = ((val >>> 12 >>> 0) & 63) >>> 0, ((x$7 < 0 || x$7 >= x$6.length) ? ($throwRuntimeError("index out of range"), undefined) : x$6[x$7])))); - (x$11 = di + 2 >> 0, ((x$11 < 0 || x$11 >= dst.$length) ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + x$11] = (x$9 = enc.encode, x$10 = ((val >>> 6 >>> 0) & 63) >>> 0, ((x$10 < 0 || x$10 >= x$9.length) ? ($throwRuntimeError("index out of range"), undefined) : x$9[x$10])))); - (x$14 = di + 3 >> 0, ((x$14 < 0 || x$14 >= dst.$length) ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + x$14] = (x$12 = enc.encode, x$13 = (val & 63) >>> 0, ((x$13 < 0 || x$13 >= x$12.length) ? ($throwRuntimeError("index out of range"), undefined) : x$12[x$13])))); - si = si + (3) >> 0; - di = di + (4) >> 0; - } - remain = src.$length - si >> 0; - if (remain === 0) { - return; - } - val$1 = (((x$15 = si + 0 >> 0, ((x$15 < 0 || x$15 >= src.$length) ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + x$15])) >>> 0)) << 16 >>> 0; - if (remain === 2) { - val$1 = (val$1 | (((((x$16 = si + 1 >> 0, ((x$16 < 0 || x$16 >= src.$length) ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + x$16])) >>> 0)) << 8 >>> 0))) >>> 0; - } - (x$19 = di + 0 >> 0, ((x$19 < 0 || x$19 >= dst.$length) ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + x$19] = (x$17 = enc.encode, x$18 = ((val$1 >>> 18 >>> 0) & 63) >>> 0, ((x$18 < 0 || x$18 >= x$17.length) ? ($throwRuntimeError("index out of range"), undefined) : x$17[x$18])))); - (x$22 = di + 1 >> 0, ((x$22 < 0 || x$22 >= dst.$length) ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + x$22] = (x$20 = enc.encode, x$21 = ((val$1 >>> 12 >>> 0) & 63) >>> 0, ((x$21 < 0 || x$21 >= x$20.length) ? ($throwRuntimeError("index out of range"), undefined) : x$20[x$21])))); - _1 = remain; - if (_1 === (2)) { - (x$25 = di + 2 >> 0, ((x$25 < 0 || x$25 >= dst.$length) ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + x$25] = (x$23 = enc.encode, x$24 = ((val$1 >>> 6 >>> 0) & 63) >>> 0, ((x$24 < 0 || x$24 >= x$23.length) ? ($throwRuntimeError("index out of range"), undefined) : x$23[x$24])))); - if (!((enc.padChar === -1))) { - (x$26 = di + 3 >> 0, ((x$26 < 0 || x$26 >= dst.$length) ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + x$26] = ((enc.padChar << 24 >>> 24)))); - } - } else if (_1 === (1)) { - if (!((enc.padChar === -1))) { - (x$27 = di + 2 >> 0, ((x$27 < 0 || x$27 >= dst.$length) ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + x$27] = ((enc.padChar << 24 >>> 24)))); - (x$28 = di + 3 >> 0, ((x$28 < 0 || x$28 >= dst.$length) ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + x$28] = ((enc.padChar << 24 >>> 24)))); - } - } - }; - Encoding.prototype.Encode = function(dst, src) { return this.$val.Encode(dst, src); }; - Encoding.ptr.prototype.EncodeToString = function(src) { - var buf, enc, src; - enc = this; - buf = $makeSlice(sliceType, enc.EncodedLen(src.$length)); - enc.Encode(buf, src); - return ($bytesToString(buf)); - }; - Encoding.prototype.EncodeToString = function(src) { return this.$val.EncodeToString(src); }; - Encoding.ptr.prototype.EncodedLen = function(n) { - var _q, _q$1, enc, n; - enc = this; - if (enc.padChar === -1) { - return (_q = ((($imul(n, 8)) + 5 >> 0)) / 6, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero")); - } - return $imul((_q$1 = ((n + 2 >> 0)) / 3, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError("integer divide by zero")), 4); - }; - Encoding.prototype.EncodedLen = function(n) { return this.$val.EncodedLen(n); }; - CorruptInputError.prototype.Error = function() { - var e; - e = this; - return "illegal base64 data at input byte " + strconv.FormatInt((new $Int64(e.$high, e.$low)), 10); - }; - $ptrType(CorruptInputError).prototype.Error = function() { return this.$get().Error(); }; - Encoding.ptr.prototype.decodeQuantum = function(dst, src, si) { - var _1, _2, _tmp, _tmp$1, _tmp$10, _tmp$11, _tmp$12, _tmp$13, _tmp$14, _tmp$15, _tmp$16, _tmp$17, _tmp$18, _tmp$19, _tmp$2, _tmp$20, _tmp$21, _tmp$22, _tmp$23, _tmp$24, _tmp$25, _tmp$26, _tmp$27, _tmp$28, _tmp$29, _tmp$3, _tmp$30, _tmp$31, _tmp$32, _tmp$33, _tmp$34, _tmp$35, _tmp$36, _tmp$37, _tmp$38, _tmp$39, _tmp$4, _tmp$40, _tmp$41, _tmp$42, _tmp$43, _tmp$44, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, dbuf, dinc, dlen, dst, enc, err, in$1, j, n, nsi, out, si, src, val, x; - nsi = 0; - n = 0; - err = $ifaceNil; - enc = this; - dbuf = arrayType$4.zero(); - _tmp = 3; - _tmp$1 = 4; - dinc = _tmp; - dlen = _tmp$1; - j = 0; - while (true) { - if (!(j < 4)) { break; } - if (src.$length === si) { - if ((j === 0)) { - _tmp$2 = si; - _tmp$3 = 0; - _tmp$4 = $ifaceNil; - nsi = _tmp$2; - n = _tmp$3; - err = _tmp$4; - return [nsi, n, err]; - } else if (((j === 1)) || (!((enc.padChar === -1)))) { - _tmp$5 = si; - _tmp$6 = 0; - _tmp$7 = (new CorruptInputError(0, (si - j >> 0))); - nsi = _tmp$5; - n = _tmp$6; - err = _tmp$7; - return [nsi, n, err]; - } - _tmp$8 = j - 1 >> 0; - _tmp$9 = j; - dinc = _tmp$8; - dlen = _tmp$9; - break; - } - in$1 = ((si < 0 || si >= src.$length) ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + si]); - si = si + (1) >> 0; - out = (x = enc.decodeMap, ((in$1 < 0 || in$1 >= x.length) ? ($throwRuntimeError("index out of range"), undefined) : x[in$1])); - if (!((out === 255))) { - ((j < 0 || j >= dbuf.length) ? ($throwRuntimeError("index out of range"), undefined) : dbuf[j] = out); - j = j + (1) >> 0; - continue; - } - if ((in$1 === 10) || (in$1 === 13)) { - j = j - (1) >> 0; - j = j + (1) >> 0; - continue; - } - if (!((((in$1 >> 0)) === enc.padChar))) { - _tmp$10 = si; - _tmp$11 = 0; - _tmp$12 = (new CorruptInputError(0, (si - 1 >> 0))); - nsi = _tmp$10; - n = _tmp$11; - err = _tmp$12; - return [nsi, n, err]; - } - _1 = j; - if ((_1 === (0)) || (_1 === (1))) { - _tmp$13 = si; - _tmp$14 = 0; - _tmp$15 = (new CorruptInputError(0, (si - 1 >> 0))); - nsi = _tmp$13; - n = _tmp$14; - err = _tmp$15; - return [nsi, n, err]; - } else if (_1 === (2)) { - while (true) { - if (!(si < src.$length && ((((si < 0 || si >= src.$length) ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + si]) === 10) || (((si < 0 || si >= src.$length) ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + si]) === 13)))) { break; } - si = si + (1) >> 0; - } - if (si === src.$length) { - _tmp$16 = si; - _tmp$17 = 0; - _tmp$18 = (new CorruptInputError(0, src.$length)); - nsi = _tmp$16; - n = _tmp$17; - err = _tmp$18; - return [nsi, n, err]; - } - if (!((((((si < 0 || si >= src.$length) ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + si]) >> 0)) === enc.padChar))) { - _tmp$19 = si; - _tmp$20 = 0; - _tmp$21 = (new CorruptInputError(0, (si - 1 >> 0))); - nsi = _tmp$19; - n = _tmp$20; - err = _tmp$21; - return [nsi, n, err]; - } - si = si + (1) >> 0; - } - while (true) { - if (!(si < src.$length && ((((si < 0 || si >= src.$length) ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + si]) === 10) || (((si < 0 || si >= src.$length) ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + si]) === 13)))) { break; } - si = si + (1) >> 0; - } - if (si < src.$length) { - err = (new CorruptInputError(0, si)); - } - _tmp$22 = 3; - _tmp$23 = j; - dinc = _tmp$22; - dlen = _tmp$23; - break; - } - val = ((((((((dbuf[0] >>> 0)) << 18 >>> 0) | (((dbuf[1] >>> 0)) << 12 >>> 0)) >>> 0) | (((dbuf[2] >>> 0)) << 6 >>> 0)) >>> 0) | ((dbuf[3] >>> 0))) >>> 0; - _tmp$24 = (((val >>> 0 >>> 0) << 24 >>> 24)); - _tmp$25 = (((val >>> 8 >>> 0) << 24 >>> 24)); - _tmp$26 = (((val >>> 16 >>> 0) << 24 >>> 24)); - dbuf[2] = _tmp$24; - dbuf[1] = _tmp$25; - dbuf[0] = _tmp$26; - _2 = dlen; - if (_2 === (4)) { - (2 >= dst.$length ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + 2] = dbuf[2]); - dbuf[2] = 0; - (1 >= dst.$length ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + 1] = dbuf[1]); - if (enc.strict && !((dbuf[2] === 0))) { - _tmp$27 = si; - _tmp$28 = 0; - _tmp$29 = (new CorruptInputError(0, (si - 1 >> 0))); - nsi = _tmp$27; - n = _tmp$28; - err = _tmp$29; - return [nsi, n, err]; - } - dbuf[1] = 0; - (0 >= dst.$length ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + 0] = dbuf[0]); - if (enc.strict && (!((dbuf[1] === 0)) || !((dbuf[2] === 0)))) { - _tmp$30 = si; - _tmp$31 = 0; - _tmp$32 = (new CorruptInputError(0, (si - 2 >> 0))); - nsi = _tmp$30; - n = _tmp$31; - err = _tmp$32; - return [nsi, n, err]; - } - } else if (_2 === (3)) { - (1 >= dst.$length ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + 1] = dbuf[1]); - if (enc.strict && !((dbuf[2] === 0))) { - _tmp$33 = si; - _tmp$34 = 0; - _tmp$35 = (new CorruptInputError(0, (si - 1 >> 0))); - nsi = _tmp$33; - n = _tmp$34; - err = _tmp$35; - return [nsi, n, err]; - } - dbuf[1] = 0; - (0 >= dst.$length ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + 0] = dbuf[0]); - if (enc.strict && (!((dbuf[1] === 0)) || !((dbuf[2] === 0)))) { - _tmp$36 = si; - _tmp$37 = 0; - _tmp$38 = (new CorruptInputError(0, (si - 2 >> 0))); - nsi = _tmp$36; - n = _tmp$37; - err = _tmp$38; - return [nsi, n, err]; - } - } else if (_2 === (2)) { - (0 >= dst.$length ? ($throwRuntimeError("index out of range"), undefined) : dst.$array[dst.$offset + 0] = dbuf[0]); - if (enc.strict && (!((dbuf[1] === 0)) || !((dbuf[2] === 0)))) { - _tmp$39 = si; - _tmp$40 = 0; - _tmp$41 = (new CorruptInputError(0, (si - 2 >> 0))); - nsi = _tmp$39; - n = _tmp$40; - err = _tmp$41; - return [nsi, n, err]; - } - } - dst = $subslice(dst, dinc); - _tmp$42 = si; - _tmp$43 = dlen - 1 >> 0; - _tmp$44 = err; - nsi = _tmp$42; - n = _tmp$43; - err = _tmp$44; - return [nsi, n, err]; - }; - Encoding.prototype.decodeQuantum = function(dst, src, si) { return this.$val.decodeQuantum(dst, src, si); }; - Encoding.ptr.prototype.DecodeString = function(s) { - var _tuple, dbuf, enc, err, n, s; - enc = this; - dbuf = $makeSlice(sliceType, enc.DecodedLen(s.length)); - _tuple = enc.Decode(dbuf, (new sliceType($stringToBytes(s)))); - n = _tuple[0]; - err = _tuple[1]; - return [$subslice(dbuf, 0, n), err]; - }; - Encoding.prototype.DecodeString = function(s) { return this.$val.DecodeString(s); }; - Encoding.ptr.prototype.Decode = function(dst, src) { - var _tmp, _tmp$1, _tmp$2, _tmp$3, _tmp$4, _tmp$5, _tmp$6, _tmp$7, _tmp$8, _tmp$9, _tuple, _tuple$1, _tuple$2, dst, enc, err, ilen, n, ninc, ninc$1, ninc$2, ok, ok$1, olen, si, src; - n = 0; - err = $ifaceNil; - enc = this; - if (src.$length === 0) { - _tmp = 0; - _tmp$1 = $ifaceNil; - n = _tmp; - err = _tmp$1; - return [n, err]; - } - si = 0; - ilen = src.$length; - olen = dst.$length; - while (true) { - if (!(false && (ilen - si >> 0) >= 8 && (olen - n >> 0) >= 8)) { break; } - ok = enc.decode64($subslice(dst, n), $subslice(src, si)); - if (ok) { - n = n + (6) >> 0; - si = si + (8) >> 0; - } else { - ninc = 0; - _tuple = enc.decodeQuantum($subslice(dst, n), src, si); - si = _tuple[0]; - ninc = _tuple[1]; - err = _tuple[2]; - n = n + (ninc) >> 0; - if (!($interfaceIsEqual(err, $ifaceNil))) { - _tmp$2 = n; - _tmp$3 = err; - n = _tmp$2; - err = _tmp$3; - return [n, err]; - } - } - } - while (true) { - if (!((ilen - si >> 0) >= 4 && (olen - n >> 0) >= 4)) { break; } - ok$1 = enc.decode32($subslice(dst, n), $subslice(src, si)); - if (ok$1) { - n = n + (3) >> 0; - si = si + (4) >> 0; - } else { - ninc$1 = 0; - _tuple$1 = enc.decodeQuantum($subslice(dst, n), src, si); - si = _tuple$1[0]; - ninc$1 = _tuple$1[1]; - err = _tuple$1[2]; - n = n + (ninc$1) >> 0; - if (!($interfaceIsEqual(err, $ifaceNil))) { - _tmp$4 = n; - _tmp$5 = err; - n = _tmp$4; - err = _tmp$5; - return [n, err]; - } - } - } - while (true) { - if (!(si < src.$length)) { break; } - ninc$2 = 0; - _tuple$2 = enc.decodeQuantum($subslice(dst, n), src, si); - si = _tuple$2[0]; - ninc$2 = _tuple$2[1]; - err = _tuple$2[2]; - n = n + (ninc$2) >> 0; - if (!($interfaceIsEqual(err, $ifaceNil))) { - _tmp$6 = n; - _tmp$7 = err; - n = _tmp$6; - err = _tmp$7; - return [n, err]; - } - } - _tmp$8 = n; - _tmp$9 = err; - n = _tmp$8; - err = _tmp$9; - return [n, err]; - }; - Encoding.prototype.Decode = function(dst, src) { return this.$val.Decode(dst, src); }; - Encoding.ptr.prototype.decode32 = function(dst, src) { - var _tmp, _tmp$1, dn, dst, enc, n, src, x, x$1, x$2, x$3, x$4, x$5, x$6, x$7; - enc = this; - _tmp = 0; - _tmp$1 = 0; - dn = _tmp; - n = _tmp$1; - n = (((x = enc.decodeMap, x$1 = (0 >= src.$length ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + 0]), ((x$1 < 0 || x$1 >= x.length) ? ($throwRuntimeError("index out of range"), undefined) : x[x$1])) >>> 0)); - if (n === 255) { - return false; - } - dn = (dn | ((n << 26 >>> 0))) >>> 0; - n = (((x$2 = enc.decodeMap, x$3 = (1 >= src.$length ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + 1]), ((x$3 < 0 || x$3 >= x$2.length) ? ($throwRuntimeError("index out of range"), undefined) : x$2[x$3])) >>> 0)); - if (n === 255) { - return false; - } - dn = (dn | ((n << 20 >>> 0))) >>> 0; - n = (((x$4 = enc.decodeMap, x$5 = (2 >= src.$length ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + 2]), ((x$5 < 0 || x$5 >= x$4.length) ? ($throwRuntimeError("index out of range"), undefined) : x$4[x$5])) >>> 0)); - if (n === 255) { - return false; - } - dn = (dn | ((n << 14 >>> 0))) >>> 0; - n = (((x$6 = enc.decodeMap, x$7 = (3 >= src.$length ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + 3]), ((x$7 < 0 || x$7 >= x$6.length) ? ($throwRuntimeError("index out of range"), undefined) : x$6[x$7])) >>> 0)); - if (n === 255) { - return false; - } - dn = (dn | ((n << 8 >>> 0))) >>> 0; - $clone(binary.BigEndian, binary.bigEndian).PutUint32(dst, dn); - return true; - }; - Encoding.prototype.decode32 = function(dst, src) { return this.$val.decode32(dst, src); }; - Encoding.ptr.prototype.decode64 = function(dst, src) { - var _tmp, _tmp$1, dn, dst, enc, n, src, x, x$1, x$10, x$11, x$12, x$13, x$14, x$15, x$16, x$17, x$18, x$19, x$2, x$20, x$21, x$22, x$23, x$3, x$4, x$5, x$6, x$7, x$8, x$9; - enc = this; - _tmp = new $Uint64(0, 0); - _tmp$1 = new $Uint64(0, 0); - dn = _tmp; - n = _tmp$1; - n = (new $Uint64(0, (x = enc.decodeMap, x$1 = (0 >= src.$length ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + 0]), ((x$1 < 0 || x$1 >= x.length) ? ($throwRuntimeError("index out of range"), undefined) : x[x$1])))); - if ((n.$high === 0 && n.$low === 255)) { - return false; - } - dn = (x$2 = $shiftLeft64(n, 58), new $Uint64(dn.$high | x$2.$high, (dn.$low | x$2.$low) >>> 0)); - n = (new $Uint64(0, (x$3 = enc.decodeMap, x$4 = (1 >= src.$length ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + 1]), ((x$4 < 0 || x$4 >= x$3.length) ? ($throwRuntimeError("index out of range"), undefined) : x$3[x$4])))); - if ((n.$high === 0 && n.$low === 255)) { - return false; - } - dn = (x$5 = $shiftLeft64(n, 52), new $Uint64(dn.$high | x$5.$high, (dn.$low | x$5.$low) >>> 0)); - n = (new $Uint64(0, (x$6 = enc.decodeMap, x$7 = (2 >= src.$length ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + 2]), ((x$7 < 0 || x$7 >= x$6.length) ? ($throwRuntimeError("index out of range"), undefined) : x$6[x$7])))); - if ((n.$high === 0 && n.$low === 255)) { - return false; - } - dn = (x$8 = $shiftLeft64(n, 46), new $Uint64(dn.$high | x$8.$high, (dn.$low | x$8.$low) >>> 0)); - n = (new $Uint64(0, (x$9 = enc.decodeMap, x$10 = (3 >= src.$length ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + 3]), ((x$10 < 0 || x$10 >= x$9.length) ? ($throwRuntimeError("index out of range"), undefined) : x$9[x$10])))); - if ((n.$high === 0 && n.$low === 255)) { - return false; - } - dn = (x$11 = $shiftLeft64(n, 40), new $Uint64(dn.$high | x$11.$high, (dn.$low | x$11.$low) >>> 0)); - n = (new $Uint64(0, (x$12 = enc.decodeMap, x$13 = (4 >= src.$length ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + 4]), ((x$13 < 0 || x$13 >= x$12.length) ? ($throwRuntimeError("index out of range"), undefined) : x$12[x$13])))); - if ((n.$high === 0 && n.$low === 255)) { - return false; - } - dn = (x$14 = $shiftLeft64(n, 34), new $Uint64(dn.$high | x$14.$high, (dn.$low | x$14.$low) >>> 0)); - n = (new $Uint64(0, (x$15 = enc.decodeMap, x$16 = (5 >= src.$length ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + 5]), ((x$16 < 0 || x$16 >= x$15.length) ? ($throwRuntimeError("index out of range"), undefined) : x$15[x$16])))); - if ((n.$high === 0 && n.$low === 255)) { - return false; - } - dn = (x$17 = $shiftLeft64(n, 28), new $Uint64(dn.$high | x$17.$high, (dn.$low | x$17.$low) >>> 0)); - n = (new $Uint64(0, (x$18 = enc.decodeMap, x$19 = (6 >= src.$length ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + 6]), ((x$19 < 0 || x$19 >= x$18.length) ? ($throwRuntimeError("index out of range"), undefined) : x$18[x$19])))); - if ((n.$high === 0 && n.$low === 255)) { - return false; - } - dn = (x$20 = $shiftLeft64(n, 22), new $Uint64(dn.$high | x$20.$high, (dn.$low | x$20.$low) >>> 0)); - n = (new $Uint64(0, (x$21 = enc.decodeMap, x$22 = (7 >= src.$length ? ($throwRuntimeError("index out of range"), undefined) : src.$array[src.$offset + 7]), ((x$22 < 0 || x$22 >= x$21.length) ? ($throwRuntimeError("index out of range"), undefined) : x$21[x$22])))); - if ((n.$high === 0 && n.$low === 255)) { - return false; - } - dn = (x$23 = $shiftLeft64(n, 16), new $Uint64(dn.$high | x$23.$high, (dn.$low | x$23.$low) >>> 0)); - $clone(binary.BigEndian, binary.bigEndian).PutUint64(dst, dn); - return true; - }; - Encoding.prototype.decode64 = function(dst, src) { return this.$val.decode64(dst, src); }; - Encoding.ptr.prototype.DecodedLen = function(n) { - var _q, _q$1, enc, n; - enc = this; - if (enc.padChar === -1) { - return (_q = ($imul(n, 6)) / 8, (_q === _q && _q !== 1/0 && _q !== -1/0) ? _q >> 0 : $throwRuntimeError("integer divide by zero")); - } - return $imul((_q$1 = n / 4, (_q$1 === _q$1 && _q$1 !== 1/0 && _q$1 !== -1/0) ? _q$1 >> 0 : $throwRuntimeError("integer divide by zero")), 3); - }; - Encoding.prototype.DecodedLen = function(n) { return this.$val.DecodedLen(n); }; - Encoding.methods = [{prop: "WithPadding", name: "WithPadding", pkg: "", typ: $funcType([$Int32], [ptrType], false)}, {prop: "Strict", name: "Strict", pkg: "", typ: $funcType([], [ptrType], false)}]; - ptrType.methods = [{prop: "Encode", name: "Encode", pkg: "", typ: $funcType([sliceType, sliceType], [], false)}, {prop: "EncodeToString", name: "EncodeToString", pkg: "", typ: $funcType([sliceType], [$String], false)}, {prop: "EncodedLen", name: "EncodedLen", pkg: "", typ: $funcType([$Int], [$Int], false)}, {prop: "decodeQuantum", name: "decodeQuantum", pkg: "encoding/base64", typ: $funcType([sliceType, sliceType, $Int], [$Int, $Int, $error], false)}, {prop: "DecodeString", name: "DecodeString", pkg: "", typ: $funcType([$String], [sliceType, $error], false)}, {prop: "Decode", name: "Decode", pkg: "", typ: $funcType([sliceType, sliceType], [$Int, $error], false)}, {prop: "decode32", name: "decode32", pkg: "encoding/base64", typ: $funcType([sliceType, sliceType], [$Bool], false)}, {prop: "decode64", name: "decode64", pkg: "encoding/base64", typ: $funcType([sliceType, sliceType], [$Bool], false)}, {prop: "DecodedLen", name: "DecodedLen", pkg: "", typ: $funcType([$Int], [$Int], false)}]; - CorruptInputError.methods = [{prop: "Error", name: "Error", pkg: "", typ: $funcType([], [$String], false)}]; - Encoding.init("encoding/base64", [{prop: "encode", name: "encode", embedded: false, exported: false, typ: arrayType, tag: ""}, {prop: "decodeMap", name: "decodeMap", embedded: false, exported: false, typ: arrayType$1, tag: ""}, {prop: "padChar", name: "padChar", embedded: false, exported: false, typ: $Int32, tag: ""}, {prop: "strict", name: "strict", embedded: false, exported: false, typ: $Bool, tag: ""}]); - $init = function() { - $pkg.$init = function() {}; - /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: - $r = binary.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = io.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = strconv.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $pkg.StdEncoding = NewEncoding("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"); - $pkg.URLEncoding = NewEncoding("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"); - $pkg.RawStdEncoding = $clone($pkg.StdEncoding, Encoding).WithPadding(-1); - $pkg.RawURLEncoding = $clone($pkg.URLEncoding, Encoding).WithPadding(-1); - /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f; - }; - $pkg.$init = $init; - return $pkg; -})(); $packages["sort"] = (function() { var $pkg = {}, $init, reflect, lessSwap, funcType, funcType$1, Slice, insertionSort, siftDown, heapSort, medianOfThree, doPivot, quickSort, Sort, maxDepth, insertionSort_func, siftDown_func, heapSort_func, medianOfThree_func, doPivot_func, quickSort_func; reflect = $packages["reflect"]; @@ -31744,7 +31744,7 @@ $packages["github.com/gopherjs/vecty/prop"] = (function() { return $pkg; })(); $packages["github.com/status-im/whispervis/widgets"] = (function() { - var $pkg = {}, $init, fmt, layout, vecty, elem, event, prop, strconv, ForceEditor, ForceInput, Loader, sliceType, sliceType$1, sliceType$2, sliceType$3, ptrType, ptrType$1, ptrType$2, ptrType$3, NewForceEditor, NewForceInput, NewLoader; + var $pkg = {}, $init, fmt, layout, vecty, elem, event, prop, strconv, sync, ForceEditor, ForceInput, Loader, sliceType, sliceType$1, sliceType$2, sliceType$3, ptrType, ptrType$1, ptrType$2, ptrType$3, NewForceEditor, NewForceInput, NewLoader; fmt = $packages["fmt"]; layout = $packages["github.com/divan/graphx/layout"]; vecty = $packages["github.com/gopherjs/vecty"]; @@ -31752,6 +31752,7 @@ $packages["github.com/status-im/whispervis/widgets"] = (function() { event = $packages["github.com/gopherjs/vecty/event"]; prop = $packages["github.com/gopherjs/vecty/prop"]; strconv = $packages["strconv"]; + sync = $packages["sync"]; ForceEditor = $pkg.ForceEditor = $newType(0, $kindStruct, "widgets.ForceEditor", true, "github.com/status-im/whispervis/widgets", true, function(Core_, inputs_, config_) { this.$val = this; if (arguments.length === 0) { @@ -31778,15 +31779,17 @@ $packages["github.com/status-im/whispervis/widgets"] = (function() { this.title = title_; this.value = value_; }); - Loader = $pkg.Loader = $newType(0, $kindStruct, "widgets.Loader", true, "github.com/status-im/whispervis/widgets", true, function(Core_, steps_, current_) { + Loader = $pkg.Loader = $newType(0, $kindStruct, "widgets.Loader", true, "github.com/status-im/whispervis/widgets", true, function(Core_, mx_, steps_, current_) { this.$val = this; if (arguments.length === 0) { this.Core = new vecty.Core.ptr($ifaceNil, $ifaceNil, false, false); + this.mx = new sync.RWMutex.ptr(new sync.Mutex.ptr(0, 0), 0, 0, 0, 0); this.steps = 0; this.current = 0; return; } this.Core = Core_; + this.mx = mx_; this.steps = steps_; this.current = current_; }); @@ -31898,52 +31901,77 @@ $packages["github.com/status-im/whispervis/widgets"] = (function() { Loader.prototype.Render = function() { return this.$val.Render(); }; NewLoader = function(steps) { var steps; - return new Loader.ptr(new vecty.Core.ptr($ifaceNil, $ifaceNil, false, false), steps, 0); + return new Loader.ptr(new vecty.Core.ptr($ifaceNil, $ifaceNil, false, false), new sync.RWMutex.ptr(new sync.Mutex.ptr(0, 0), 0, 0, 0, 0), steps, 0); }; $pkg.NewLoader = NewLoader; Loader.ptr.prototype.Inc = function() { - var l; + var l, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; l = $f.l; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: l = this; + $r = l.mx.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } l.current = l.current + (1) >> 0; + $r = l.mx.Unlock(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $s = -1; return; + /* */ } return; } if ($f === undefined) { $f = { $blk: Loader.ptr.prototype.Inc }; } $f.l = l; $f.$s = $s; $f.$r = $r; return $f; }; Loader.prototype.Inc = function() { return this.$val.Inc(); }; Loader.ptr.prototype.Steps = function() { - var l; + var l, $s, $deferred, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; l = $f.l; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred); l = this; - return l.steps; + $r = l.mx.RLock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $deferred.push([$methodVal(l.mx, "RUnlock"), []]); + $s = -1; return l.steps; + /* */ } return; } } catch(err) { $err = err; $s = -1; return 0; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: Loader.ptr.prototype.Steps }; } $f.l = l; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } } }; Loader.prototype.Steps = function() { return this.$val.Steps(); }; - Loader.ptr.prototype.Progress = function() { - var l; + Loader.ptr.prototype.Reset = function() { + var l, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; l = $f.l; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: l = this; - return 100 * (l.current) / (l.steps); + $r = l.mx.Lock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + l.current = 0; + $r = l.mx.Unlock(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $s = -1; return; + /* */ } return; } if ($f === undefined) { $f = { $blk: Loader.ptr.prototype.Reset }; } $f.l = l; $f.$s = $s; $f.$r = $r; return $f; + }; + Loader.prototype.Reset = function() { return this.$val.Reset(); }; + Loader.ptr.prototype.Progress = function() { + var l, $s, $deferred, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; l = $f.l; $s = $f.$s; $deferred = $f.$deferred; $r = $f.$r; } var $err = null; try { s: while (true) { switch ($s) { case 0: $deferred = []; $deferred.index = $curGoroutine.deferStack.length; $curGoroutine.deferStack.push($deferred); + l = this; + $r = l.mx.RLock(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $deferred.push([$methodVal(l.mx, "RUnlock"), []]); + $s = -1; return 100 * (l.current) / (l.steps); + /* */ } return; } } catch(err) { $err = err; $s = -1; return 0; } finally { $callDeferred($deferred, $err); if($curGoroutine.asleep) { if ($f === undefined) { $f = { $blk: Loader.ptr.prototype.Progress }; } $f.l = l; $f.$s = $s; $f.$deferred = $deferred; $f.$r = $r; return $f; } } }; Loader.prototype.Progress = function() { return this.$val.Progress(); }; Loader.ptr.prototype.text = function() { - var _r, l, progress, text, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; l = $f.l; progress = $f.progress; text = $f.text; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + var _r, _r$1, l, progress, text, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; l = $f.l; progress = $f.progress; text = $f.text; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: l = this; text = ""; - progress = l.Progress(); - /* */ if (progress > 99.9) { $s = 1; continue; } - /* */ $s = 2; continue; - /* if (progress > 99.9) { */ case 1: + _r = l.Progress(); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + progress = _r; + /* */ if (progress > 99.9) { $s = 2; continue; } + /* */ $s = 3; continue; + /* if (progress > 99.9) { */ case 2: text = "Completed"; - $s = 3; continue; - /* } else { */ case 2: - _r = fmt.Sprintf("Loading %.0f%%...", new sliceType$3([new $Float64(progress)])); /* */ $s = 4; case 4: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - text = _r; - /* } */ case 3: + $s = 4; continue; + /* } else { */ case 3: + _r$1 = fmt.Sprintf("Loading %.0f%%...", new sliceType$3([new $Float64(progress)])); /* */ $s = 5; case 5: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + text = _r$1; + /* } */ case 4: $s = -1; return text; - /* */ } return; } if ($f === undefined) { $f = { $blk: Loader.ptr.prototype.text }; } $f._r = _r; $f.l = l; $f.progress = progress; $f.text = text; $f.$s = $s; $f.$r = $r; return $f; + /* */ } return; } if ($f === undefined) { $f = { $blk: Loader.ptr.prototype.text }; } $f._r = _r; $f._r$1 = _r$1; $f.l = l; $f.progress = progress; $f.text = text; $f.$s = $s; $f.$r = $r; return $f; }; Loader.prototype.text = function() { return this.$val.text(); }; ptrType.methods = [{prop: "Render", name: "Render", pkg: "", typ: $funcType([], [vecty.ComponentOrHTML], false)}, {prop: "Config", name: "Config", pkg: "", typ: $funcType([], [layout.Config], false)}]; ptrType$2.methods = [{prop: "Render", name: "Render", pkg: "", typ: $funcType([], [vecty.ComponentOrHTML], false)}, {prop: "onEditInput", name: "onEditInput", pkg: "github.com/status-im/whispervis/widgets", typ: $funcType([ptrType$1], [], false)}, {prop: "Value", name: "Value", pkg: "", typ: $funcType([], [$Float64], false)}, {prop: "Changed", name: "Changed", pkg: "", typ: $funcType([], [$Bool], false)}]; - ptrType$3.methods = [{prop: "Render", name: "Render", pkg: "", typ: $funcType([], [vecty.ComponentOrHTML], false)}, {prop: "Inc", name: "Inc", pkg: "", typ: $funcType([], [], false)}, {prop: "Steps", name: "Steps", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "Progress", name: "Progress", pkg: "", typ: $funcType([], [$Float64], false)}, {prop: "text", name: "text", pkg: "github.com/status-im/whispervis/widgets", typ: $funcType([], [$String], false)}]; + ptrType$3.methods = [{prop: "Render", name: "Render", pkg: "", typ: $funcType([], [vecty.ComponentOrHTML], false)}, {prop: "Inc", name: "Inc", pkg: "", typ: $funcType([], [], false)}, {prop: "Steps", name: "Steps", pkg: "", typ: $funcType([], [$Int], false)}, {prop: "Reset", name: "Reset", pkg: "", typ: $funcType([], [], false)}, {prop: "Progress", name: "Progress", pkg: "", typ: $funcType([], [$Float64], false)}, {prop: "text", name: "text", pkg: "github.com/status-im/whispervis/widgets", typ: $funcType([], [$String], false)}]; ForceEditor.init("github.com/status-im/whispervis/widgets", [{prop: "Core", name: "Core", embedded: true, exported: true, typ: vecty.Core, tag: ""}, {prop: "inputs", name: "inputs", embedded: false, exported: false, typ: vecty.List, tag: ""}, {prop: "config", name: "config", embedded: false, exported: false, typ: layout.Config, tag: ""}]); ForceInput.init("github.com/status-im/whispervis/widgets", [{prop: "Core", name: "Core", embedded: true, exported: true, typ: vecty.Core, tag: ""}, {prop: "changed", name: "changed", embedded: false, exported: false, typ: $Bool, tag: ""}, {prop: "title", name: "title", embedded: false, exported: false, typ: $String, tag: ""}, {prop: "value", name: "value", embedded: false, exported: false, typ: $Float64, tag: ""}]); - Loader.init("github.com/status-im/whispervis/widgets", [{prop: "Core", name: "Core", embedded: true, exported: true, typ: vecty.Core, tag: ""}, {prop: "steps", name: "steps", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "current", name: "current", embedded: false, exported: false, typ: $Int, tag: ""}]); + Loader.init("github.com/status-im/whispervis/widgets", [{prop: "Core", name: "Core", embedded: true, exported: true, typ: vecty.Core, tag: ""}, {prop: "mx", name: "mx", embedded: false, exported: false, typ: sync.RWMutex, tag: ""}, {prop: "steps", name: "steps", embedded: false, exported: false, typ: $Int, tag: ""}, {prop: "current", name: "current", embedded: false, exported: false, typ: $Int, tag: ""}]); $init = function() { $pkg.$init = function() {}; /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: @@ -31954,6 +31982,7 @@ $packages["github.com/status-im/whispervis/widgets"] = (function() { $r = event.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } $r = prop.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } $r = strconv.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = sync.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f; }; $pkg.$init = $init; @@ -32068,9 +32097,8 @@ $packages["github.com/vecty/vthree"] = (function() { return $pkg; })(); $packages["github.com/status-im/whispervis"] = (function() { - var $pkg = {}, $init, bytes, fmt, formats, graph, layout, js, vecty, elem, event, three, widgets, vthree, runtime, TrackBallControl, Page, sliceType, ptrType, funcType, structType, sliceType$1, structType$1, sliceType$2, ptrType$1, ptrType$2, ptrType$3, ptrType$4, ptrType$5, ptrType$6, ptrType$7, ptrType$8, sliceType$3, sliceType$4, sliceType$5, sliceType$6, sliceType$7, ptrType$9, ptrType$10, ptrType$11, ptrType$12, inputJSON, NewTrackBallControl, NewEthereumGeometry, main, NewNodeMaterial, NewEdgeMatherial, NewPage; + var $pkg = {}, $init, bytes, formats, graph, layout, js, vecty, elem, event, three, widgets, vthree, runtime, TrackBallControl, Page, sliceType, ptrType, funcType, structType, sliceType$1, structType$1, sliceType$2, ptrType$1, ptrType$2, ptrType$3, ptrType$4, ptrType$5, ptrType$6, ptrType$7, ptrType$8, sliceType$3, sliceType$4, sliceType$5, sliceType$6, ptrType$9, ptrType$10, ptrType$11, ptrType$12, inputJSON, NewTrackBallControl, NewEthereumGeometry, main, NewNodeMaterial, NewEdgeMatherial, NewPage; bytes = $packages["bytes"]; - fmt = $packages["fmt"]; formats = $packages["github.com/divan/graphx/formats"]; graph = $packages["github.com/divan/graphx/graph"]; layout = $packages["github.com/divan/graphx/layout"]; @@ -32141,7 +32169,6 @@ $packages["github.com/status-im/whispervis"] = (function() { sliceType$4 = $sliceType(vecty.Applyer); sliceType$5 = $sliceType(vecty.MarkupOrChild); sliceType$6 = $sliceType(vecty.ComponentOrHTML); - sliceType$7 = $sliceType($emptyInterface); ptrType$9 = $ptrType(js.Object); ptrType$10 = $ptrType(vecty.Event); ptrType$11 = $ptrType(vecty.HTML); @@ -32404,33 +32431,36 @@ $packages["github.com/status-im/whispervis"] = (function() { }; Page.prototype.updateButton = function() { return this.$val.updateButton(); }; Page.ptr.prototype.onUpdateClick = function(e) { - var _r, e, p, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; e = $f.e; p = $f.p; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + var e, p; p = this; - _r = fmt.Println(new sliceType$7([new $String("Clicked")])); /* */ $s = 1; case 1: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - _r; - $s = -1; return; - /* */ } return; } if ($f === undefined) { $f = { $blk: Page.ptr.prototype.onUpdateClick }; } $f._r = _r; $f.e = e; $f.p = p; $f.$s = $s; $f.$r = $r; return $f; + if (!p.loaded) { + return; + } + $go($methodVal(p, "StartSimulation"), []); }; Page.prototype.onUpdateClick = function(e) { return this.$val.onUpdateClick(e); }; Page.ptr.prototype.StartSimulation = function() { - var _r, i, p, $s, $r; - /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; i = $f.i; p = $f.p; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: + var _r, _r$1, i, p, $s, $r; + /* */ $s = 0; var $f, $c = false; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; _r = $f._r; _r$1 = $f._r$1; i = $f.i; p = $f.p; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: p = this; + $r = p.loader.Reset(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + p.loaded = false; + $r = vecty.Rerender(p); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } i = 0; - /* while (true) { */ case 1: - /* if (!(i < p.loader.Steps())) { break; } */ if(!(i < p.loader.Steps())) { $s = 2; continue; } - _r = p.layout.UpdatePositions(); /* */ $s = 3; case 3: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } - _r; - p.loader.Inc(); - $r = vecty.Rerender(p.loader); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = runtime.Gosched(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + /* while (true) { */ case 3: + _r = p.loader.Steps(); /* */ $s = 5; case 5: if($c) { $c = false; _r = _r.$blk(); } if (_r && _r.$blk !== undefined) { break s; } + /* if (!(i < _r)) { break; } */ if(!(i < _r)) { $s = 4; continue; } + _r$1 = p.layout.UpdatePositions(); /* */ $s = 6; case 6: if($c) { $c = false; _r$1 = _r$1.$blk(); } if (_r$1 && _r$1.$blk !== undefined) { break s; } + _r$1; + $r = p.loader.Inc(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = vecty.Rerender(p.loader); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = runtime.Gosched(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } i = i + (1) >> 0; - /* } */ $s = 1; continue; case 2: + /* } */ $s = 3; continue; case 4: p.loaded = true; - $r = vecty.Rerender(p); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = vecty.Rerender(p); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } $s = -1; return; - /* */ } return; } if ($f === undefined) { $f = { $blk: Page.ptr.prototype.StartSimulation }; } $f._r = _r; $f.i = i; $f.p = p; $f.$s = $s; $f.$r = $r; return $f; + /* */ } return; } if ($f === undefined) { $f = { $blk: Page.ptr.prototype.StartSimulation }; } $f._r = _r; $f._r$1 = _r$1; $f.i = i; $f.p = p; $f.$s = $s; $f.$r = $r; return $f; }; Page.prototype.StartSimulation = function() { return this.$val.StartSimulation(); }; Page.ptr.prototype.InitScene = function(width, height) { @@ -32472,25 +32502,24 @@ $packages["github.com/status-im/whispervis"] = (function() { $pkg.$init = function() {}; /* */ var $f, $c = false, $s = 0, $r; if (this !== undefined && this.$blk !== undefined) { $f = this; $c = true; $s = $f.$s; $r = $f.$r; } s: while (true) { switch ($s) { case 0: $r = bytes.$init(); /* */ $s = 1; case 1: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = fmt.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = formats.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = graph.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = layout.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = js.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = vecty.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = elem.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = event.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = three.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = widgets.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = vthree.$init(); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } - $r = runtime.$init(); /* */ $s = 13; case 13: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = formats.$init(); /* */ $s = 2; case 2: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = graph.$init(); /* */ $s = 3; case 3: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = layout.$init(); /* */ $s = 4; case 4: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = js.$init(); /* */ $s = 5; case 5: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = vecty.$init(); /* */ $s = 6; case 6: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = elem.$init(); /* */ $s = 7; case 7: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = event.$init(); /* */ $s = 8; case 8: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = three.$init(); /* */ $s = 9; case 9: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = widgets.$init(); /* */ $s = 10; case 10: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = vthree.$init(); /* */ $s = 11; case 11: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + $r = runtime.$init(); /* */ $s = 12; case 12: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } inputJSON = (new sliceType($stringToBytes("{\n \"nodes\": [\n {\n \"id\": \"0\"\n },\n {\n \"id\": \"1\"\n },\n {\n \"id\": \"2\"\n },\n {\n \"id\": \"3\"\n },\n {\n \"id\": \"4\"\n },\n {\n \"id\": \"5\"\n },\n {\n \"id\": \"6\"\n },\n {\n \"id\": \"7\"\n },\n {\n \"id\": \"8\"\n },\n {\n \"id\": \"9\"\n },\n {\n \"id\": \"10\"\n },\n {\n \"id\": \"11\"\n },\n {\n \"id\": \"12\"\n },\n {\n \"id\": \"13\"\n },\n {\n \"id\": \"14\"\n },\n {\n \"id\": \"15\"\n },\n {\n \"id\": \"16\"\n },\n {\n \"id\": \"17\"\n },\n {\n \"id\": \"18\"\n },\n {\n \"id\": \"19\"\n },\n {\n \"id\": \"20\"\n },\n {\n \"id\": \"21\"\n },\n {\n \"id\": \"22\"\n },\n {\n \"id\": \"23\"\n },\n {\n \"id\": \"24\"\n },\n {\n \"id\": \"25\"\n },\n {\n \"id\": \"26\"\n },\n {\n \"id\": \"27\"\n },\n {\n \"id\": \"28\"\n },\n {\n \"id\": \"29\"\n },\n {\n \"id\": \"30\"\n },\n {\n \"id\": \"31\"\n },\n {\n \"id\": \"32\"\n },\n {\n \"id\": \"33\"\n },\n {\n \"id\": \"34\"\n },\n {\n \"id\": \"35\"\n },\n {\n \"id\": \"36\"\n },\n {\n \"id\": \"37\"\n },\n {\n \"id\": \"38\"\n },\n {\n \"id\": \"39\"\n },\n {\n \"id\": \"40\"\n },\n {\n \"id\": \"41\"\n },\n {\n \"id\": \"42\"\n },\n {\n \"id\": \"43\"\n },\n {\n \"id\": \"44\"\n },\n {\n \"id\": \"45\"\n },\n {\n \"id\": \"46\"\n },\n {\n \"id\": \"47\"\n },\n {\n \"id\": \"48\"\n },\n {\n \"id\": \"49\"\n },\n {\n \"id\": \"50\"\n },\n {\n \"id\": \"51\"\n },\n {\n \"id\": \"52\"\n },\n {\n \"id\": \"53\"\n },\n {\n \"id\": \"54\"\n },\n {\n \"id\": \"55\"\n },\n {\n \"id\": \"56\"\n },\n {\n \"id\": \"57\"\n },\n {\n \"id\": \"58\"\n },\n {\n \"id\": \"59\"\n },\n {\n \"id\": \"60\"\n },\n {\n \"id\": \"61\"\n },\n {\n \"id\": \"62\"\n },\n {\n \"id\": \"63\"\n },\n {\n \"id\": \"64\"\n },\n {\n \"id\": \"65\"\n },\n {\n \"id\": \"66\"\n },\n {\n \"id\": \"67\"\n },\n {\n \"id\": \"68\"\n },\n {\n \"id\": \"69\"\n },\n {\n \"id\": \"70\"\n },\n {\n \"id\": \"71\"\n },\n {\n \"id\": \"72\"\n },\n {\n \"id\": \"73\"\n },\n {\n \"id\": \"74\"\n },\n {\n \"id\": \"75\"\n },\n {\n \"id\": \"76\"\n },\n {\n \"id\": \"77\"\n },\n {\n \"id\": \"78\"\n },\n {\n \"id\": \"79\"\n },\n {\n \"id\": \"80\"\n },\n {\n \"id\": \"81\"\n },\n {\n \"id\": \"82\"\n },\n {\n \"id\": \"83\"\n },\n {\n \"id\": \"84\"\n },\n {\n \"id\": \"85\"\n },\n {\n \"id\": \"86\"\n },\n {\n \"id\": \"87\"\n },\n {\n \"id\": \"88\"\n },\n {\n \"id\": \"89\"\n },\n {\n \"id\": \"90\"\n },\n {\n \"id\": \"91\"\n },\n {\n \"id\": \"92\"\n },\n {\n \"id\": \"93\"\n },\n {\n \"id\": \"94\"\n },\n {\n \"id\": \"95\"\n },\n {\n \"id\": \"96\"\n },\n {\n \"id\": \"97\"\n },\n {\n \"id\": \"98\"\n },\n {\n \"id\": \"99\"\n }\n ],\n \"links\": [\n {\n \"source\": \"1\",\n \"target\": \"0\"\n },\n {\n \"source\": \"2\",\n \"target\": \"1\"\n },\n {\n \"source\": \"3\",\n \"target\": \"2\"\n },\n {\n \"source\": \"4\",\n \"target\": \"3\"\n },\n {\n \"source\": \"5\",\n \"target\": \"4\"\n },\n {\n \"source\": \"6\",\n \"target\": \"5\"\n },\n {\n \"source\": \"7\",\n \"target\": \"6\"\n },\n {\n \"source\": \"8\",\n \"target\": \"7\"\n },\n {\n \"source\": \"9\",\n \"target\": \"8\"\n },\n {\n \"source\": \"10\",\n \"target\": \"0\"\n },\n {\n \"source\": \"11\",\n \"target\": \"10\"\n },\n {\n \"source\": \"11\",\n \"target\": \"1\"\n },\n {\n \"source\": \"12\",\n \"target\": \"11\"\n },\n {\n \"source\": \"12\",\n \"target\": \"2\"\n },\n {\n \"source\": \"13\",\n \"target\": \"12\"\n },\n {\n \"source\": \"13\",\n \"target\": \"3\"\n },\n {\n \"source\": \"14\",\n \"target\": \"13\"\n },\n {\n \"source\": \"14\",\n \"target\": \"4\"\n },\n {\n \"source\": \"15\",\n \"target\": \"14\"\n },\n {\n \"source\": \"15\",\n \"target\": \"5\"\n },\n {\n \"source\": \"16\",\n \"target\": \"15\"\n },\n {\n \"source\": \"16\",\n \"target\": \"6\"\n },\n {\n \"source\": \"17\",\n \"target\": \"16\"\n },\n {\n \"source\": \"17\",\n \"target\": \"7\"\n },\n {\n \"source\": \"18\",\n \"target\": \"17\"\n },\n {\n \"source\": \"18\",\n \"target\": \"8\"\n },\n {\n \"source\": \"19\",\n \"target\": \"18\"\n },\n {\n \"source\": \"19\",\n \"target\": \"9\"\n },\n {\n \"source\": \"20\",\n \"target\": \"10\"\n },\n {\n \"source\": \"21\",\n \"target\": \"20\"\n },\n {\n \"source\": \"21\",\n \"target\": \"11\"\n },\n {\n \"source\": \"22\",\n \"target\": \"21\"\n },\n {\n \"source\": \"22\",\n \"target\": \"12\"\n },\n {\n \"source\": \"23\",\n \"target\": \"22\"\n },\n {\n \"source\": \"23\",\n \"target\": \"13\"\n },\n {\n \"source\": \"24\",\n \"target\": \"23\"\n },\n {\n \"source\": \"24\",\n \"target\": \"14\"\n },\n {\n \"source\": \"25\",\n \"target\": \"24\"\n },\n {\n \"source\": \"25\",\n \"target\": \"15\"\n },\n {\n \"source\": \"26\",\n \"target\": \"25\"\n },\n {\n \"source\": \"26\",\n \"target\": \"16\"\n },\n {\n \"source\": \"27\",\n \"target\": \"26\"\n },\n {\n \"source\": \"27\",\n \"target\": \"17\"\n },\n {\n \"source\": \"28\",\n \"target\": \"27\"\n },\n {\n \"source\": \"28\",\n \"target\": \"18\"\n },\n {\n \"source\": \"29\",\n \"target\": \"28\"\n },\n {\n \"source\": \"29\",\n \"target\": \"19\"\n },\n {\n \"source\": \"30\",\n \"target\": \"20\"\n },\n {\n \"source\": \"31\",\n \"target\": \"30\"\n },\n {\n \"source\": \"31\",\n \"target\": \"21\"\n },\n {\n \"source\": \"32\",\n \"target\": \"31\"\n },\n {\n \"source\": \"32\",\n \"target\": \"22\"\n },\n {\n \"source\": \"33\",\n \"target\": \"32\"\n },\n {\n \"source\": \"33\",\n \"target\": \"23\"\n },\n {\n \"source\": \"34\",\n \"target\": \"33\"\n },\n {\n \"source\": \"34\",\n \"target\": \"24\"\n },\n {\n \"source\": \"35\",\n \"target\": \"34\"\n },\n {\n \"source\": \"35\",\n \"target\": \"25\"\n },\n {\n \"source\": \"36\",\n \"target\": \"35\"\n },\n {\n \"source\": \"36\",\n \"target\": \"26\"\n },\n {\n \"source\": \"37\",\n \"target\": \"36\"\n },\n {\n \"source\": \"37\",\n \"target\": \"27\"\n },\n {\n \"source\": \"38\",\n \"target\": \"37\"\n },\n {\n \"source\": \"38\",\n \"target\": \"28\"\n },\n {\n \"source\": \"39\",\n \"target\": \"38\"\n },\n {\n \"source\": \"39\",\n \"target\": \"29\"\n },\n {\n \"source\": \"40\",\n \"target\": \"30\"\n },\n {\n \"source\": \"41\",\n \"target\": \"40\"\n },\n {\n \"source\": \"41\",\n \"target\": \"31\"\n },\n {\n \"source\": \"42\",\n \"target\": \"41\"\n },\n {\n \"source\": \"42\",\n \"target\": \"32\"\n },\n {\n \"source\": \"43\",\n \"target\": \"42\"\n },\n {\n \"source\": \"43\",\n \"target\": \"33\"\n },\n {\n \"source\": \"44\",\n \"target\": \"43\"\n },\n {\n \"source\": \"44\",\n \"target\": \"34\"\n },\n {\n \"source\": \"45\",\n \"target\": \"44\"\n },\n {\n \"source\": \"45\",\n \"target\": \"35\"\n },\n {\n \"source\": \"46\",\n \"target\": \"45\"\n },\n {\n \"source\": \"46\",\n \"target\": \"36\"\n },\n {\n \"source\": \"47\",\n \"target\": \"46\"\n },\n {\n \"source\": \"47\",\n \"target\": \"37\"\n },\n {\n \"source\": \"48\",\n \"target\": \"47\"\n },\n {\n \"source\": \"48\",\n \"target\": \"38\"\n },\n {\n \"source\": \"49\",\n \"target\": \"48\"\n },\n {\n \"source\": \"49\",\n \"target\": \"39\"\n },\n {\n \"source\": \"50\",\n \"target\": \"40\"\n },\n {\n \"source\": \"51\",\n \"target\": \"50\"\n },\n {\n \"source\": \"51\",\n \"target\": \"41\"\n },\n {\n \"source\": \"52\",\n \"target\": \"51\"\n },\n {\n \"source\": \"52\",\n \"target\": \"42\"\n },\n {\n \"source\": \"53\",\n \"target\": \"52\"\n },\n {\n \"source\": \"53\",\n \"target\": \"43\"\n },\n {\n \"source\": \"54\",\n \"target\": \"53\"\n },\n {\n \"source\": \"54\",\n \"target\": \"44\"\n },\n {\n \"source\": \"55\",\n \"target\": \"54\"\n },\n {\n \"source\": \"55\",\n \"target\": \"45\"\n },\n {\n \"source\": \"56\",\n \"target\": \"55\"\n },\n {\n \"source\": \"56\",\n \"target\": \"46\"\n },\n {\n \"source\": \"57\",\n \"target\": \"56\"\n },\n {\n \"source\": \"57\",\n \"target\": \"47\"\n },\n {\n \"source\": \"58\",\n \"target\": \"57\"\n },\n {\n \"source\": \"58\",\n \"target\": \"48\"\n },\n {\n \"source\": \"59\",\n \"target\": \"58\"\n },\n {\n \"source\": \"59\",\n \"target\": \"49\"\n },\n {\n \"source\": \"60\",\n \"target\": \"50\"\n },\n {\n \"source\": \"61\",\n \"target\": \"60\"\n },\n {\n \"source\": \"61\",\n \"target\": \"51\"\n },\n {\n \"source\": \"62\",\n \"target\": \"61\"\n },\n {\n \"source\": \"62\",\n \"target\": \"52\"\n },\n {\n \"source\": \"63\",\n \"target\": \"62\"\n },\n {\n \"source\": \"63\",\n \"target\": \"53\"\n },\n {\n \"source\": \"64\",\n \"target\": \"63\"\n },\n {\n \"source\": \"64\",\n \"target\": \"54\"\n },\n {\n \"source\": \"65\",\n \"target\": \"64\"\n },\n {\n \"source\": \"65\",\n \"target\": \"55\"\n },\n {\n \"source\": \"66\",\n \"target\": \"65\"\n },\n {\n \"source\": \"66\",\n \"target\": \"56\"\n },\n {\n \"source\": \"67\",\n \"target\": \"66\"\n },\n {\n \"source\": \"67\",\n \"target\": \"57\"\n },\n {\n \"source\": \"68\",\n \"target\": \"67\"\n },\n {\n \"source\": \"68\",\n \"target\": \"58\"\n },\n {\n \"source\": \"69\",\n \"target\": \"68\"\n },\n {\n \"source\": \"69\",\n \"target\": \"59\"\n },\n {\n \"source\": \"70\",\n \"target\": \"60\"\n },\n {\n \"source\": \"71\",\n \"target\": \"70\"\n },\n {\n \"source\": \"71\",\n \"target\": \"61\"\n },\n {\n \"source\": \"72\",\n \"target\": \"71\"\n },\n {\n \"source\": \"72\",\n \"target\": \"62\"\n },\n {\n \"source\": \"73\",\n \"target\": \"72\"\n },\n {\n \"source\": \"73\",\n \"target\": \"63\"\n },\n {\n \"source\": \"74\",\n \"target\": \"73\"\n },\n {\n \"source\": \"74\",\n \"target\": \"64\"\n },\n {\n \"source\": \"75\",\n \"target\": \"74\"\n },\n {\n \"source\": \"75\",\n \"target\": \"65\"\n },\n {\n \"source\": \"76\",\n \"target\": \"75\"\n },\n {\n \"source\": \"76\",\n \"target\": \"66\"\n },\n {\n \"source\": \"77\",\n \"target\": \"76\"\n },\n {\n \"source\": \"77\",\n \"target\": \"67\"\n },\n {\n \"source\": \"78\",\n \"target\": \"77\"\n },\n {\n \"source\": \"78\",\n \"target\": \"68\"\n },\n {\n \"source\": \"79\",\n \"target\": \"78\"\n },\n {\n \"source\": \"79\",\n \"target\": \"69\"\n },\n {\n \"source\": \"80\",\n \"target\": \"70\"\n },\n {\n \"source\": \"81\",\n \"target\": \"80\"\n },\n {\n \"source\": \"81\",\n \"target\": \"71\"\n },\n {\n \"source\": \"82\",\n \"target\": \"81\"\n },\n {\n \"source\": \"82\",\n \"target\": \"72\"\n },\n {\n \"source\": \"83\",\n \"target\": \"82\"\n },\n {\n \"source\": \"83\",\n \"target\": \"73\"\n },\n {\n \"source\": \"84\",\n \"target\": \"83\"\n },\n {\n \"source\": \"84\",\n \"target\": \"74\"\n },\n {\n \"source\": \"85\",\n \"target\": \"84\"\n },\n {\n \"source\": \"85\",\n \"target\": \"75\"\n },\n {\n \"source\": \"86\",\n \"target\": \"85\"\n },\n {\n \"source\": \"86\",\n \"target\": \"76\"\n },\n {\n \"source\": \"87\",\n \"target\": \"86\"\n },\n {\n \"source\": \"87\",\n \"target\": \"77\"\n },\n {\n \"source\": \"88\",\n \"target\": \"87\"\n },\n {\n \"source\": \"88\",\n \"target\": \"78\"\n },\n {\n \"source\": \"89\",\n \"target\": \"88\"\n },\n {\n \"source\": \"89\",\n \"target\": \"79\"\n },\n {\n \"source\": \"90\",\n \"target\": \"80\"\n },\n {\n \"source\": \"91\",\n \"target\": \"90\"\n },\n {\n \"source\": \"91\",\n \"target\": \"81\"\n },\n {\n \"source\": \"92\",\n \"target\": \"91\"\n },\n {\n \"source\": \"92\",\n \"target\": \"82\"\n },\n {\n \"source\": \"93\",\n \"target\": \"92\"\n },\n {\n \"source\": \"93\",\n \"target\": \"83\"\n },\n {\n \"source\": \"94\",\n \"target\": \"93\"\n },\n {\n \"source\": \"94\",\n \"target\": \"84\"\n },\n {\n \"source\": \"95\",\n \"target\": \"94\"\n },\n {\n \"source\": \"95\",\n \"target\": \"85\"\n },\n {\n \"source\": \"96\",\n \"target\": \"95\"\n },\n {\n \"source\": \"96\",\n \"target\": \"86\"\n },\n {\n \"source\": \"97\",\n \"target\": \"96\"\n },\n {\n \"source\": \"97\",\n \"target\": \"87\"\n },\n {\n \"source\": \"98\",\n \"target\": \"97\"\n },\n {\n \"source\": \"98\",\n \"target\": \"88\"\n },\n {\n \"source\": \"99\",\n \"target\": \"98\"\n },\n {\n \"source\": \"99\",\n \"target\": \"89\"\n }\n ]\n}"))); - /* */ if ($pkg === $mainPkg) { $s = 14; continue; } - /* */ $s = 15; continue; - /* if ($pkg === $mainPkg) { */ case 14: - $r = main(); /* */ $s = 16; case 16: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } + /* */ if ($pkg === $mainPkg) { $s = 13; continue; } + /* */ $s = 14; continue; + /* if ($pkg === $mainPkg) { */ case 13: + $r = main(); /* */ $s = 15; case 15: if($c) { $c = false; $r = $r.$blk(); } if ($r && $r.$blk !== undefined) { break s; } $mainFinished = true; - /* } */ case 15: + /* } */ case 14: /* */ } return; } if ($f === undefined) { $f = { $blk: $init }; } $f.$s = $s; $f.$r = $r; return $f; }; $pkg.$init = $init; diff --git a/whispervis.js.map b/whispervis.js.map index 2d31ba3..c6985ef 100644 --- a/whispervis.js.map +++ b/whispervis.js.map @@ -1 +1 @@ -{"version":3,"file":"whispervis.js","sources":["/github.com/gopherjs/gopherjs/js/js.go","runtime.go","/runtime/error.go","/errors/errors.go","atomic.go","pool.go","sync.go","/sync/mutex.go","/sync/pool.go","/sync/runtime.go","/sync/rwmutex.go","unicode.go","/unicode/digit.go","/unicode/graphic.go","/unicode/letter.go","/unicode/utf8/utf8.go","bytes.go","/bytes/buffer.go","/bytes/bytes.go","/bytes/reader.go","math.go","/math/abs.go","syscall.go","syscall_unix.go","/syscall/dirent.go","/syscall/exec_unix.go","/syscall/route_bsd.go","/syscall/str.go","/syscall/syscall.go","/syscall/syscall_bsd.go","/syscall/syscall_darwin.go","/syscall/syscall_darwin_amd64.go","/syscall/syscall_unix.go","/syscall/zsyscall_darwin_amd64.go","/github.com/gopherjs/gopherjs/nosync/map.go","/github.com/gopherjs/gopherjs/nosync/mutex.go","/github.com/gopherjs/gopherjs/nosync/once.go","time.go","/time/format.go","/time/time.go","/time/zoneinfo.go","fd_poll_js.go","/internal/poll/fd.go","/internal/poll/fd_mutex.go","/internal/poll/fd_posix.go","/internal/poll/fd_unix.go","/internal/poll/sockopt.go","/internal/poll/sockopt_unix.go","/internal/poll/sockoptip.go","/internal/poll/sys_cloexec.go","/internal/poll/writev.go","/internal/testlog/log.go","os.go","/os/dir.go","/os/dir_unix.go","/os/error.go","/os/error_posix.go","/os/error_unix.go","/os/file.go","/os/file_posix.go","/os/file_unix.go","/os/getwd_darwin.go","/os/path_unix.go","/os/proc.go","/os/stat.go","/os/stat_darwin.go","/os/stat_unix.go","/os/types.go","/os/types_unix.go","/os/getwd.go","/math/bits/bits.go","/strconv/atof.go","/strconv/atoi.go","/strconv/decimal.go","/strconv/extfloat.go","/strconv/ftoa.go","/strconv/itoa.go","/strconv/quote.go","reflect.go","swapper.go","/reflect/type.go","/reflect/value.go","/fmt/format.go","/fmt/print.go","/fmt/scan.go","/encoding/binary/binary.go","/encoding/base64/base64.go","/sort/slice.go","/sort/sort.go","/sort/zfuncversion.go","strings.go","/strings/strings.go","/unicode/utf16/utf16.go","/encoding/json/decode.go","/encoding/json/encode.go","/encoding/json/fold.go","/encoding/json/scanner.go","/encoding/json/stream.go","/encoding/json/tags.go","/github.com/divan/graphx/graph/graph.go","/github.com/divan/graphx/graph/helpers.go","/github.com/divan/graphx/graph/link.go","/github.com/divan/graphx/graph/node.go","/log/log.go","/github.com/divan/graphx/layout/config.go","/github.com/divan/graphx/layout/force.go","/github.com/divan/graphx/layout/force_drag.go","/github.com/divan/graphx/layout/force_gravity.go","/github.com/divan/graphx/layout/force_spring.go","/github.com/divan/graphx/layout/integrate.go","/github.com/divan/graphx/layout/layout.go","/github.com/divan/graphx/layout/object.go","/github.com/divan/graphx/layout/octree.go","/github.com/divan/graphx/layout/force_rules.go","/github.com/divan/graphx/formats/d3json.go","/github.com/gopherjs/vecty/dom.go","/github.com/gopherjs/vecty/domutil.go","/github.com/gopherjs/vecty/markup.go","/github.com/gopherjs/vecty/elem/elem.gen.go","/github.com/gopherjs/vecty/event/event.gen.go","/github.com/bep/gr/support/support.go","/github.com/fatih/structs/field.go","/github.com/fatih/structs/structs.go","/github.com/fatih/structs/tags.go","/github.com/lngramos/three/cameras_perspective_camera.go","/github.com/lngramos/three/core_face3.go","/github.com/lngramos/three/gen_geometry_basic_geometry.go","/github.com/lngramos/three/gen_material_line_basic_material.go","/github.com/lngramos/three/gen_material_mesh_phong_material.go","/github.com/lngramos/three/gen_object3d_ambient_light.go","/github.com/lngramos/three/gen_object3d_directional_light.go","/github.com/lngramos/three/gen_object3d_group.go","/github.com/lngramos/three/gen_object3d_line.go","/github.com/lngramos/three/gen_object3d_mesh.go","/github.com/lngramos/three/gen_object3d_scene.go","/github.com/lngramos/three/geometries_basic_geometry.go","/github.com/lngramos/three/lights_ambient_light.go","/github.com/lngramos/three/lights_directional_light.go","/github.com/lngramos/three/main.go","/github.com/lngramos/three/materials_line_basic_material.go","/github.com/lngramos/three/materials_material.go","/github.com/lngramos/three/materials_mesh_phong_material.go","/github.com/lngramos/three/math_color.go","/github.com/lngramos/three/math_vector3.go","/github.com/lngramos/three/objects_group.go","/github.com/lngramos/three/objects_line.go","/github.com/lngramos/three/objects_mesh.go","/github.com/lngramos/three/renderers_webgl_renderer.go","/github.com/lngramos/three/scenes_scene.go","/github.com/gopherjs/vecty/prop/prop.go","/github.com/status-im/whispervis/widgets/force_editor.go","/github.com/status-im/whispervis/widgets/force_input.go","/github.com/status-im/whispervis/widgets/loader.go","/github.com/vecty/vthree/renderer.go","/github.com/status-im/whispervis/animate.go","/github.com/status-im/whispervis/controls.go","/github.com/status-im/whispervis/geom_ethereum.go","/github.com/status-im/whispervis/keys.go","/github.com/status-im/whispervis/main.go","/github.com/status-im/whispervis/material.go","/github.com/status-im/whispervis/objects.go","/github.com/status-im/whispervis/page.go","/github.com/status-im/whispervis/scene.go"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+B4C;A;;;;;AAGW;A;;;;;AAGhB;A;;;;;AAGN;A;;;;;AAGQ;A;;;;;AAGc;A;;;;;AAGY;A;;;;;AAGX;A;;;;;AAGH;A;;;;;AAGrB;A;;;;;AAGI;A;;;;;AAGN;A;;;;;AAGI;A;;;;;AAGE;A;;;;;AAGA;A;;;;;AAGQ;A;;;;;AAGP;A;;;;;AASnC;A;;;;;AAKA;A;;;;AAsBA;A;;;;AAkDA;AACA;A;;;;;;;;A;;;;;;;;;;;;;;;;;;;;;;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/IA;A;;;;;AAGA;A;;;;AAIA;AACA;AACA;AACA;AAEI;AACJ;AACA;A;;;AAIA;A;AAEC;A;AAED;A;AAEC;A;AAID;A;;;;;;;;AAQA;A;A;;;;;;;;;A;AAIA;A;;;;;;;;;A;;;AA6BA;AACA;A;;;;;;AAQA;AACA;AAAyD;A;AACzD;;A;;;;;;A;;;;A;;;;AAyHA;A;;A;;;;;AClMA;A;AAEC;A;AAED;A;AAEC;A;AAED;A;AAEC;A;A;AAIE;A;AAEA;A;A;AAGF;A;AAED;A;;;;;A;;;;;AAUA;A;;;;;;;;;;A;A;A;A;;;;;;;;;;;;;;;;;;;ACpDA;A;;;;;AASA;A;;;;;;;;;;;;;;;;A;;;;A;;;;A;;;A;;;A;;;;A;;;;A;;;;;;;;;;;;;;;;;;;;;;;;A;AC8BC;AACA;A;AAED;A;;;;A;AAqBC;AACA;A;AAED;A;;;;AAoBA;AACA;AACA;A;;;;AA4BA;A;;;;AAYA;A;;;;AAYA;A;;;;AAQA;A;;;;;;A;;A;;;;;A;AAqBC;A;A;AAGA;A;AAED;A;;;;;;;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxKA;;A;AACC;;A;AACC;;A;AAED;A;AAED;AACA;AACA;A;;;;;;A;AAKC;A;AAED;A;;;;A;;;;ACHA;;A;AACC;A;AAEC;A;AAEA;A;AAED;;AACA;A;AAEC;A;A;A;A;;;;;;A;AAUF;A;AAEC;A;AAGD;AACA;AACA;A;AAEC;A;AAGD;A;A;;;;;A;;;AAQA;A;;AAMA;A;;;AAKA;A;;;;;A;A;ACHE;A;AAED;A;AAGG;AACJ;AACA;AACA;AACA;AACA;AAGC;;A;A;AAME;A;AAED;AACA;AACA;AACA;A;AAED;A;AAGC;A;A;AAGA;A;A;AAOA;A;A;A;AAMC;A;AAED;A;AAED;;A;A;AAEE;A;AAGD;A;AAEC;A;AAED;AACA;AACA;A;A;AAOE;A;AAED;A;AAOC;A;AAED;AACA;A;AAED;AACA;A;;AAEA;A;A;A;AAKD;A;A;;;;;;;;A;AAYA;AACA;A;AAID;A;AAEC;A;AAED;;A;AACC;AACA;A;AAQE;A;AAGD;AACA;;A;AACC;AACA;A;AAED;A;A;;AAOD;A;A;;;;;;ACcD;;;;;;AACC;AACI;;;AACH;AACA;AACA;;;;;AACC;A;;AAED;AANiC;A;AAQlC;AACA;A;;AAED;A;;AASA;A;;;AAIA;AACA;A;;;ACxMI;AACJ;A;;;;;;;;A;ACRC;AACA;A;AAED;;A;AAEC;A;A;AAGA;AACA;A;A;;;;;;;;A;AAUA;AACA;AACA;A;AAEE;AAAH;;A;A;AAEE;AACA;A;AAGD;;A;AAEC;A;A;A;AAID;A;A;;;;;;;;A;AASA;AACA;A;AAGD;AAEA;AAEA;;A;AACC;A;A;AAGA;AACA;AACA;A;A;;;;;;;;A;AAYA;AACA;AACA;A;AAID;A;AAEC;AACA;A;AAGG;;;AACH;AADuB;A;AAIxB;A;AAEC;A;A;;;;;;;AAOD;A;;;;;;AAK4B;A;;;;;;;;AACA;A;;;;;;;;;;;;;;;;;;;A;A;A;A;;A;A;A;A;A;;;;;;;;;;;;;;;;;;;;;A;A;A;A;A;A;A;A;A;A;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;A;A;;;;;A;ACzI5B;AACA;AACA;;AACC;AACA;A;AAEC;A;A;;;;;A;A;;;;;A;A;AAOA;A;AAEA;A;A;A;;;;;A;;;A;ACdD;A;AAED;A;;;;A;ACgFC;A;AAED;A;;;;A;ACAC;;;;;AACC;A;AAEC;A;A;AAGA;A;A;;AAGF;A;AAID;AACA;AACA;;AACC;AACA;A;AAEC;A;A;AAGA;A;AAEA;A;A;AAGF;A;;;A;AAMC;;;;;AACC;A;AAEC;A;A;AAGA;A;A;;AAGF;A;AAID;AACA;AACA;;AACC;AACA;A;AAEC;A;A;AAGA;A;AAEA;A;A;AAGF;A;;;AAiBA;AACG;A;AACF;A;AAED;A;AAEC;A;AAED;A;;;AAqEA;;AACA;A;;;;A;A;AAOE;A;AAED;A;AAED;A;;;;A;A;AAOE;A;AAED;A;AAED;A;;;;A;AAsEC;A;A;AAIA;A;AAID;AACA;AACA;;AACC;A;AAEC;A;AAEA;A;A;A;AAID;A;AAME;A;AACF;A;AAED;A;;;;;;;;;;;A;A;A;A;A;A;A;A;A;;;;;;;;;;;;;;;;;;;;;;AC3NA;A;A;;;;;A;AAIA;AACA;A;AAKC;A;;;;;A;AAGD;AACA;A;A;;;;;A;AAIA;A;A;;;;;A;A;A;;;;;A;AAOA;A;A;;;;;A;A;A;;;;;A;AAOA;A;A;;;;;A;A;;;;;A;;;;;;AAgBA;A;A;;;;;A;AAIA;AACA;A;AAKC;A;;;;;A;AAGD;AACA;A;A;;;;;A;AAIA;A;A;;;;;A;A;A;;;;;A;AAOA;A;A;;;;;A;A;A;;;;;A;AAOA;A;A;;;;;A;A;;;;;A;;;;A;AA4FC;A;AAEA;A;AAEA;A;AAEA;A;AAEA;A;AAEA;A;AAED;A;;;;AAOO;A;AAEN;AACA;A;AAEA;AACA;AACA;AACA;A;AAEA;AAGA;AACA;AACA;AACA;AACA;A;AAJA;AACA;AACA;AACA;AACA;A;AAEA;AACA;AACA;AACA;AACA;AACA;A;A;;;;AAOD;AACI;AACA;;;AACH;AACA;A;AAGC;AACA;A;AAED;A;AAEC;AACA;A;AAED;A;AAEC;AACA;A;AAED;AACG;A;AACF;A;A;AAES;A;AACT;A;A;AAES;A;AACT;A;A;A;AAED;A;AAED;A;;;;;AAKA;AACI;;;AACH;A;AAGC;AAJkB;A;A;AAOnB;A;AAEC;AATkB;A;A;AAYnB;A;AAEC;AAdkB;A;A;AAiBnB;AACG;A;AACF;A;A;AAES;A;AACT;A;A;AAES;A;AACT;A;A;A;AAED;AA3BmB;A;A;;A;;;;AAuEpB;AACI;;;AACH;A;AAEC;AACA;A;AAED;A;AAEC;A;AAED;A;AAEC;A;AAED;AACG;A;AACF;A;A;AAES;A;AACT;A;A;AAES;A;AACT;A;A;A;AAED;A;AAED;A;;;;A;AAQC;A;AAEA;A;AAED;A;;;;;;A;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClgBA;;;;;;A;AAEE;A;A;;AAGF;A;;;;A;AAKC;A;AAED;;;;;;A;AAEE;A;A;;AAGF;A;;;;;ACgCiC;A;;;;;A;AAShC;A;AAED;A;;;;;AAI+B;A;;;;;AAIH;A;;;;;AAIA;A;;;;;A;AAO3B;AACA;A;AAED;A;AAEC;A;AAED;A;;;;;AAOA;AACA;AACA;A;;;;;AAOG;A;AACF;AACA;A;AAED;A;;;;;AAOA;A;AAGC;A;AAGE;;;A;AACF;A;A;AAIA;AACA;A;AAED;A;AAMC;A;AAEA;A;AAGA;AACA;AACA;A;AAGD;AACA;AACA;A;;;;;A;AAUC;A;AAED;AACA;A;;;;;;;AAOA;AACA;;;A;AAEC;A;A;;;;;A;;;;;;;AASD;AACA;;;A;AAEC;A;A;;;;;A;;;;;;;;AAgBD;AACA;AACC;AACA;AACA;;;;A;AAEC;A;AAGD;AACA;A;A;;;;;A;A;A;;;;;A;A;A;;;;;;;AAcD;A;AAEE;A;A;AAGF;A;;;;;;;;AAQA;AACG;AAAH;;A;AACC;;;;A;AAEC;A;AAED;AACA;A;A;;;;;A;A;A;;;;;A;A;AAWD;A;;;;;A;;;;;;AASA;AACA;;;A;AAEC;A;AAED;AACA;A;;;;;;;A;AASC;A;;;;;A;AAGD;AACA;;;A;AAEC;A;AAED;AACA;A;;;;;A;;;;;;;AASA;A;AAGC;A;A;;;;;A;A;;;;;A;AAMD;AACA;A;AAEC;A;A;;;;;A;;;;;AAUD;AACA;A;AAEC;A;AAED;AACA;A;AAEC;A;AAED;A;;;;;A;AAQC;AACA;A;AAED;AACA;AACA;AACA;A;;;;;;;;A;AAWC;A;;;;;;;A;AAGD;A;AAEC;AACA;A;;;;;;;A;AAGD;;;AACA;AACA;A;;;;;;;A;;;;;A;AAWC;A;A;AAGA;A;AAED;AACA;A;;;;;A;AASC;A;AAED;A;AAEC;A;AAED;A;;;;;;;AAUA;;;AAGA;A;;;;;A;;;;;;;AAMA;AACA;A;AAEC;AACA;A;AAED;AACA;AACA;A;;;;;A;;;;;;;AAWA;;;A;;;;;A;;;;AAaoC;A;;;;AC0UpC;;AAEK;;;;A;AAEH;;;;A;AAEA;;;AACA;;;;A;A;AAGA;;;;A;AAEA;;;AACA;;;;A;A;AAOA;A;A;AAKA;;;;A;A;A;AAMC;A;AAED;A;AAKD;AACA;;AACC;A;A;AAGA;A;AAED;A;AAID;A;;;;;A;AClyBC;A;AAED;A;;;;;AAO+B;A;;;;;;;A;A;;;;;A;AAO/B;AACA;AACA;AACA;A;;;;;;;A;A;;;;;A;A;A;;;;;A;AAYA;A;AAEC;A;AAED;A;;;;;AAKA;A;AAEC;A;AAED;AACA;AACA;A;;;;;AAKA;A;AAEC;A;AAED;AACA;A;;;;;;;;A;AAMC;A;;;;;;;A;AAGD;AACG;A;AACF;A;;;;;;;A;AAGD;;;AACA;AACA;A;;;;;A;AAMC;A;AAED;AACA;AACA;A;;;;;AAKA;AACI;A;A;AAGH;A;AAEA;A;AAEA;A;AAEA;A;A;AAGA;A;AAED;AACA;A;;;;;;;;AAKA;A;A;;;;;A;AAIA;AACA;;;;A;AAEC;A;AAED;AACA;A;AAEC;A;AAED;A;;;;;;AAIkC;A;;;;AAGA;A;;;;;;;;;A;A;A;A;A;A;A;;;;;;;;;;;;;;;AChHlC;A;;;;AAeA;A;;;;A;AA0CC;A;AAEA;A;A;;;AAuED;A;;;;AAmBA;A;;;;AAYA;A;;;;AAyBA;AACA;AACA;AACA;A;;;AAIA;AACA;A;;;;AAIA;AACA;A;;;;AAIA;AACA;A;;;;AAIA;AACA;AACA;A;;;;ACjPA;A;;;;;A;;A;A;A;A;A;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACEA;A;AAEE;AACA;A;A;A;;A;AAOD;A;AAED;A;;;AAIA;A;AAEC;AACA;A;AAGD;AACA;AACC;A;AAEC;A;AAED;AACA;A;A;;;AASD;A;;;;AAKA;;;;;;A;AAEE;A;A;;AAGF;A;;;AClDA;A;AAEC;A;AAED;AACA;AACA;AACI;;;AACH;AACA;AAFiC;A;AAIlC;A;;;;AAwBA;AACC;A;A;A;AAKC;A;AAED;AACA;A;AAEC;A;AAED;A;AAED;A;;;;;;;AAIG;A;AACF;A;;;;;;;A;A;AAIA;AACA;AACA;AACA;A;;;;;;;A;A;AAIA;A;AAED;A;;;;;;;A;;;;;;;AAKG;A;AACF;A;;;;;;;A;A;AAIA;A;A;;;;;;;A;;;;AAiCD;AACA;;;;;;A;AAEE;A;AAED;A;;AAED;AACA;A;;;;;;A;A;;;;;A;A;A;;;;;A;A;;;;;A;;;A;A;AC3GC;A;AAEA;AACA;A;AAEA;AACA;A;AAEA;AACA;A;AAGA;A;A;;;A;A;AAOA;A;AAEA;AACA;A;AAEA;AACA;A;AAEA;AACA;A;AAGA;A;A;;;;;;AASD;AACA;AACA;;AACC;;;A;A;;;;;;;A;AAIA;AACA;AACA;;;A;AAEC;A;A;AAGA;A;AAGD;;;A;AAEC;A;AAED;AACA;;;;;;A;AAEE;AACA;A;A;;A;AAKD;A;AAED;AACA;AACA;A;A;;;;;;;A;;;;ACHyB;A;;;;;AAG1B;;;A;A;;A;A;AAKC;A;AAEA;A;AAED;;A;;A;;;;A;;;A;;;ACvFA;A;AAIC;A;AAIA;A;A;AAOC;A;A;A;AAID;A;AAED;A;;;A;ACjCC;A;AAED;A;;;AAII;AACJ;AACA;;AACC;AACA;AACA;A;AAED;AACA;A;;;;;;A;;;;;A;;;;;ACuEA;A;;;;;;ACxBI;A;;;;A;;;;;A;AA8EH;A;AAED;AACA;AACA;AACA;AACA;AACI;;;AACH;AAD6B;A;AAG9B;;A;;;;;A;AAKC;A;AAED;AACA;AACA;AACA;AACA;AACA;AACI;;;AACH;AAD6B;A;AAG9B;;A;;;;;AAIA;AACA;A;AAEC;A;AAED;AACA;AACI;;;AACH;AADkB;A;AAGnB;;A;;;;;A;AAKC;A;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACI;;;AACH;AADiC;A;AAGlC;;A;;;;A;A;AAMC;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI;;;AACH;AAD6B;A;AAG9B;A;AAGA;;;A;AAEC;A;AAED;AAMA;AACI;;;A;AAIF;AACA;A;AALiB;A;AAQnB;AACA;AACA;A;AAGA;;;AACA;AACA;AACA;AACI;;;AACH;AAD6B;A;AAG9B;A;AAGA;;;AACA;AACA;AACA;AACA;AACI;;;AACH;AAD6B;A;AAG9B;A;AAED;A;;;;;;AAII;AACA;AACJ;;;A;AAEC;A;A;AAOA;A;;;;;;;A;AAGD;;;A;AAEC;AACA;A;AAED;A;;;;;;;;;AAkEI;AACA;AACJ;;;AACA;AACI;A;AAEH;AACA;A;AAEG;A;A;AAIF;AACA;A;AAED;AACA;A;AAED;AACA;AACG;;;A;AACF;A;AAED;AACA;A;AAGC;;;A;AAED;A;;;;;;;;;;AAWI;AACA;AACJ;;A;AACC;;;;;A;A;;;;;A;A;AAKG;AACJ;AACA;AACI;A;AAEH;AACA;A;AAEG;A;A;AAIF;AACA;A;AAED;AACA;A;AAED;AACA;AACG;;;A;A;;;;;A;A;AAIF;A;A;;;;;A;;;;;ACjWD;A;;;AAIA;A;;;AAIA;A;;;;AC7CA;A;;;;;AAIA;A;;;;;;;;;A;A;;;;;A;ACaA;;;;A;A;;;;;A;AAMI;AAOJ;AAGA;AACA;AACA;AACA;A;;;;;A;;;;;;;;A;A;;A;AAUA;AACA;AACA;AACA;A;A;;A;AAMG;;A;A;;A;AAGH;A;;A;;;;;;A;AAeC;A;AAEC;A;A;AAGF;A;;;;;AAIA;A;;;;;AAIA;A;;;;A;A;AAgBC;A;AAEA;A;AAEA;A;AAEA;A;AAED;A;;;;;AAoBA;;;A;A;AAGE;A;A;AAGA;A;A;A;AAID;A;AAED;A;;;;;;A;AAKC;A;AAED;;;A;AAEC;A;A;AAGA;A;AAED;A;;;;;;;AA8DI;AACA;AACD;;;A;AACF;A;A;AAGA;;;A;AAED;A;;;;;;AAIA;;;;;A;A;;A;A;;A;;;;;;A;;A;;;;;AAYI;A;;A;;;;;A;;A;;;;;A;;;;A;;;;;A;;;;A;;;;;A;;;;A;;;;;;AC/OJ;;;;;AACA;A;AAEC;A;AAED;A;;;;AA+CA;;A;AAEC;A;AAED;A;;;;AA0BA;;A;AAEC;A;AAED;A;;;;;;AAgBI;A;AAEH;A;AAEA;A;AAED;;;;;AACA;A;AAEC;A;AAED;A;;;;AAMI;A;AAEH;A;AAEA;A;AAED;;A;AAEC;A;AAED;A;;;;;AAMA;;;;;AACA;A;AAEC;A;AAED;A;;;;;AAMA;;;;;AACA;A;AAEC;A;AAED;A;;;;;AA0DA;;;AACA;A;AAEC;A;AAED;A;;;;AA0IA;;A;AAEC;A;AAED;A;;;;;;AAMA;;;AACA;A;AAEC;A;AAED;A;;;;;AAoCA;;A;AAEC;A;AAED;A;;;;;AAgBA;;A;AAEC;A;AAED;A;;;;;AAMA;;A;AAEC;A;AAED;A;;;;;AA2BA;;;;A;AAEC;A;AAED;A;;;;;AAgBA;;A;AAEC;A;AAED;A;;;;;AAMA;;A;AAEC;A;AAED;A;;;;;;AAMI;A;AAEH;A;AAEA;A;AAED;;;AACA;A;AAEC;A;AAED;A;;;;;AA2LI;AACJ;;;A;AAEC;A;AAED;;;;A;AAEC;A;AAED;A;;;;;;AAuJI;A;AAEH;A;AAEA;A;AAED;;;AACA;A;AAEC;A;AAED;A;;;;;;AAMI;A;AAEH;A;AAEA;A;AAED;;;AACA;A;AAEC;A;AAED;A;;;;;;AAMI;A;AAEH;A;AAEA;A;AAED;;;AACA;A;AAEC;A;AAED;A;;;;;AA8EA;;;AACA;A;AAEC;A;AAED;A;;;;;;AAwRI;A;AAEH;A;AAEA;A;AAED;;;AACA;A;AAEC;A;AAED;A;;;;;AAMA;;;AACA;A;AAEC;A;AAED;A;;;;AAMA;;A;AAEC;A;AAED;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;A;A;A;A;A;;;;;;A;A;A;A;A;A;A;A;A;A;A;A;A;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClzCA;;;A;;;;;A;;;;;A;AAOC;A;AAED;A;;;;;;;AAOG;;;A;A;;;;;A;A;AAIF;A;AAED;A;;;;;A;;;;;A;AAOC;A;AAED;A;;;;;;AAcA;;;;;;A;A;;A;;;AACC;;;A;AACC;A;A;;A;;;;;;;A;ACrDD;A;AAED;A;;;;;A;AAMC;A;AAED;A;;;;;;;A;ACOC;A;A;AAGA;A;AAED;AACA;AACC;AACA;A;AAED;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvBI;A;;;AAcJ;AACA;AACA;AACA;A;AAEC;AACA;A;AAED;AACA;A;;AAIA;A;;;;;;AAIA;A;;;;;;;A;;;AA6CA;A;;;A;AC8CC;A;AAED;AACA;A;;;;;;AAMI;;;AACI;A;A;A;A;A;;;;;;;A;A;A;;;;;;;A;A;A;A;A;A;A;;;;;;;A;A;A;;;;;;;A;A;A;A;;;;;;;A;A;A;A;A;;;;;;;A;A;A;A;;;;;;;A;A;;;;;;;A;A;A;;;;;;;A;A;;;;;;;A;A;A;A;;;;;;;A;A;;;;;;;A;A;A;;;;;;;A;A;;;;;;;A;A;;;;;;;A;A;A;;;;;;;A;A;A;A;;;;;;;A;A;A;A;;;;;;;A;A;A;;;;;;;A;A;A;;;;;;;A;A;A;;;;;;;A;A;A;;;;;;;A;A;A;A;;;;;;;A;A;A;;;;;;;A;A;A;;;;;;;A;A;A;;;;;;;A;A;A;;;;;;;A;A;A;AA2GL;AACA;AACA;;AACC;A;A;AAIA;A;AAEC;A;AAED;A;;;;;;;A;A;A;AAvHyB;A;A;;;;;;;A;;;AAqLzB;;;AACH;AACA;A;AAGC;AACA;A;AAEC;A;A;AARsB;A;AAYzB;A;;;AAIA;;;;;;A;AAEE;A;A;;AAGF;A;;;AAOA;A;AAEC;AACA;A;AAIG;AACJ;AACA;;AACC;AACA;AACA;AACA;A;AAED;AACA;AAGI;;;AACH;AADiC;A;AAIlC;A;;;;;AAQA;A;AAEC;AACA;A;AAED;;;;AACA;A;A;;;;;A;A;AAKC;A;A;;;;;A;;;AAQD;AACI;AACA;;;AACH;AACA;AACA;A;A;AAIA;A;A;AAGA;;AACC;A;A;AAGA;A;A;AAGF;AACA;A;;;;;AAcA;;A;AAIC;AACA;A;AAEC;AACA;A;AAED;;;;AACA;;;;AACI;AACJ;AACA;AACA;A;AAEC;AACA;A;AAED;AACA;AACA;AACA;A;AAED;A;;;;;;;AAqBI;AACJ;A;AAEK;AACJ;A;AAEA;A;AAED;;AACA;A;;;;;;;AAOC;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AAGD;;AACC;;;;A;AAEC;A;A;AAGA;A;AAED;A;AAIC;;;;A;A;AAKA;;;;A;AAGD;A;A;AAEC;A;AAEC;A;AAED;A;AAEA;A;AAEA;A;AAEA;AACA;A;AAEA;A;AAEA;A;AAEA;A;AAEA;AACA;A;AAEA;A;A;AAGC;A;AAED;A;AAEA;A;AAEA;A;AAGA;A;AAEC;A;AAED;A;AAGA;A;AAEC;A;AAED;A;AAEA;A;AAEA;A;AAEA;A;AAEA;A;A;AAGC;A;AAEA;A;A;A;AAIA;A;AAEA;A;A;A;AAMA;AACA;A;AAED;AACA;A;AAEC;AACA;AACA;A;AAEA;A;AAED;A;AAEC;A;A;AAGA;A;A;A;AAMC;A;AAED;A;A;A;AAKA;AACA;A;AAID;A;AAEC;AACA;A;AAEA;A;AAED;AACA;A;AAEA;A;A;A;AAGF;A;;;;;AAeA;A;;;;A;AAMC;A;AAMD;A;;;;A;AAOC;A;AAED;AACA;A;;;A;AAQC;A;A;A;AAIC;A;AAED;A;AAED;A;;;AAIA;;AACC;A;AAED;A;;;AAMA;;A;A;AAGG;A;AAED;AACA;AACA;A;A;AAGA;A;AAED;AACA;A;AAED;A;;;;AA0CA;;A;;;;;;AAaA;;;;AACA;AACA;AACA;AAIC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAID;AACK;AACJ;;;;AACA;AACA;;;A;AAEC;A;A;A;AAIC;A;AAED;A;AAED;AACI;AACJ;A;A;A;AAGE;AACA;A;AAED;;;;AACA;;;A;AAEC;A;AAEA;A;A;A;AAIA;AACA;A;AAED;;;;AACA;;;A;AAEA;;;;AACA;A;AAEA;;;;AACA;A;AAEA;;;;A;AAEC;A;A;AAID;;;A;AAEA;;;A;A;AAGC;A;AAED;;;;A;AAGC;A;A;AAGD;;;;A;AAEC;A;A;AAGD;;;;A;AAEC;A;A;AAGD;;;;A;AAEC;A;A;AAGD;;;;A;AAEC;AACA;A;A;AAKA;;AACA;A;AAGC;A;AAGD;AACA;;AAA2C;A;AAE3C;;;;AACA;A;A;A;AAIA;AACA;A;AAED;;;;A;A;AAGC;A;AAEA;A;AAEA;A;A;A;AAIA;AACA;A;AAED;;;;A;A;AAGC;A;AAEA;A;AAEA;A;A;A;AAIA;AACA;AACA;A;AAEG;;;;;;;;A;A;AAGF;AACA;A;A;AAGA;AACA;A;AAED;;;;;;;;;;A;A;AAGC;AACA;A;AAED;;;;;;;;;;A;A;AAGC;AACA;A;A;AAGA;AACA;A;AAED;;;;;;;;;;A;A;AAGC;AACA;A;AAED;;;;;;;;;;A;A;AAGC;AACA;A;AAED;;;;;;;;;;A;AAEG;;;;;;AACJ;;;A;AAEC;;;A;A;AAGA;;;A;AAED;A;A;A;AAIC;A;AAEA;A;A;A;AAKA;AACA;AACA;A;AAED;;;A;AAEC;AACA;A;AAED;;;;A;AAKA;A;AAEC;AACA;A;AAED;;;;AACA;A;A;AAKC;A;AAID;AACA;;AACC;A;AAED;;;;AACA;A;A;A;AAGA;A;A;AAGA;A;A;A;AAID;A;AAEA;A;A;AAKA;A;AAGD;;A;AACC;;A;AAGD;;A;AACC;;AACA;AAIA;;;;A;AAEC;AACA;A;AAID;AACA;A;AAGD;;A;AACC;;AAGA;;;;A;AAEC;AACA;AACA;A;A;AAKA;;AACA;A;AAED;AACA;A;AAID;;A;;;;;;A;A;;;;;A;A;A;;;;;A;A;AAuBC;A;;;;;A;A;AAKA;A;;;;;A;AAIG;AACA;;;A;AAEF;A;AAEE;A;AACF;A;AAL0B;A;A;A;A;;;;;A;A;A;;;;;A;A;A;A;;;;;A;A;A;;;;;A;A;;;;;A;;;AA8B5B;A;AAEC;A;AAGD;A;;;AAOA;A;AAEC;A;AAED;;;;A;AAEC;A;A;AAGA;A;A;AAGA;A;AAED;A;;;;;;A;AAKC;AACA;A;AAEE;;;A;AACF;A;A;AAGA;AACA;A;AAKD;AACI;;;AACH;AAD4B;A;AAG7B;A;;;;;;AAOA;AACA;;AACC;A;AAEC;A;A;A;;;;;;;A;AAMD;A;A;;;;;;;A;AATiB;A;A;;;;;;;A;;;;AChiClB;A;;;;;A;AAMC;A;AAED;A;;;;;AAIgC;A;;;;;A;AAK/B;AACA;A;AAEC;AACA;A;AAID;A;AAID;A;;;;;A;AAMC;A;AAED;AACA;A;;;;;A;AAMC;AACA;A;A;;;;;A;AAkCA;A;AAED;AACA;AACA;A;;;;;A;AAMC;A;AAED;A;;;;;A;AAUC;A;AAED;A;;;;;A;AAuCC;A;AAED;AACA;AACA;A;;;;;A;AA6BC;A;AAED;AACA;AACA;A;;;;;AA2GA;A;;;;;;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A;A;;;;;AAYA;A;AAEC;A;AAED;;A;AAEC;A;AAED;A;;;;;;AAOA;AACA;AACA;A;AAGC;AACA;AACA;A;AAEC;AACA;A;A;A;AAOD;AACA;A;AAIA;AACA;AACA;A;AAQA;AACA;AACA;AACA;AACA;AACA;;;;A;AAEC;A;AAED;;;;A;AAEC;A;AAKD;AACA;;AACC;A;AAED;AACA;AACC;A;AAGC;AACA;;;;A;AAEC;A;AAED;A;A;AAGA;A;AAED;AACA;AACA;A;AAED;A;A;AAUA;AACA;A;AAED;A;;;;;A;ACx6CC;A;AAED;;A;AACC;A;AAED;A;;;;;;;AAMA;;A;;;;;AAMA;AAOA;AACA;A;;;;;;;;;;AAWA;;A;AAGC;AACA;AACA;AACA;AACA;A;AAGE;A;AACF;AACA;AACA;AACA;AACA;A;A;AAIA;AACA;AACA;AACA;A;AAEC;A;AAEA;A;AAED;A;AAKD;AACA;AACA;AACA;AACA;;AACC;AACA;A;AAEC;AACA;A;AAEA;A;A;AAGF;AACA;AACA;AACA;AAEA;A;;;;;;A;AAqBC;A;A;AAKI;;;A;AAEF;A;AAFyC;A;A;AAQ5C;;;;;A;AAEE;A;A;;AAKF;A;;;;;AAMA;;;;;A;AAEE;A;A;;AAGF;A;;;;;;;;AAOA;;AAQA;;;;;AACC;AACA;;A;AACC;;;;A;A;;;;;A;A;A;;AAQF;;;;;AACC;A;A;;;;;A;A;;AAOD;A;;;;;;;;;;;;;;;;;;A;A;A;A;A;;;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3OwC;A;;;;;A;;;;;AAIX;A;;;;;A;AAI5B;A;AAED;A;;;;;AAGoD;A;;;;;AAEC;A;;;;;A;AAIpD;A;AAED;A;;;;;AAGiD;A;;;;;AAEC;A;;;AAIhB;A;;;;AAES;A;;;;AAEI;A;;;;AAEC;A;;;;;AAUhD;;A;AACC;AACA;AACA;;A;A;A;;;;;;A;AASD;A;AAEC;A;AAGD;AACA;AACA;A;AAEC;A;A;A;;;;;A;ACnDA;A;AAED;A;;;;AAUyC;A;;;;;AACA;A;;;;;AACA;A;;;;AAIzC;;AACC;A;AAEC;AACA;A;AAED;AACA;A;A;;;;ACFD;AACC;A;AAEC;A;AAED;A;AAEC;A;A;AAGA;A;A;A;;;;;;AAQF;AACC;A;AAEC;A;AAGD;A;AAEC;A;AAGD;AACA;;A;AAGC;;AACC;AACA;A;AAED;;AACC;AACA;A;AAED;A;A;A;;;;;;;AAQF;AACC;A;AAEC;A;AAED;A;AAEC;A;A;A;;;;;;AAQE;;;;;;AACA;A;AAEH;AACA;AACA;AACA;A;AAEA;AACA;AACA;AACA;A;AAED;AACC;A;AAEC;A;AAEG;A;AAGH;A;AAEC;A;A;AAID;A;AAEC;A;A;AAGF;;A;A;AAEE;A;AAED;A;A;A;;;;;;;;AASE;;;;;;AACA;A;AAEH;AACA;AACA;AACA;A;AAEA;AACA;AACA;AACA;A;AAED;AACC;A;AAEC;A;AAGD;A;AAEC;A;AAED;;A;AACC;;A;AACC;A;AAED;A;A;A;;;;;;;A;AAaD;A;AAED;A;;;;;;AAOA;;A;AACC;;A;AAED;A;;;;;;;AAMA;;;A;AACC;A;AAED;A;;;;;;;AAOA;;;A;AACC;;A;A;;;;;;;;AAOD;;;A;AACC;A;AAED;A;;;;;;;AAOA;;;A;AACC;;A;A;;;;;;;A;ACxOA;A;AAED;A;;;;;;AAKG;A;AACF;A;AAED;AACA;A;;;;;;;AAKG;A;AACF;A;AAED;AACA;A;;;;;;;AAKG;A;AACF;A;AAED;AACA;A;;;;;;;AAKG;A;AACF;A;AAED;AACA;A;;;;;;A;ACCC;A;A;AAGA;AACA;A;AAED;A;AAIC;A;AAED;A;;;;;;AAQA;AACA;;AACA;AACA;AACA;A;;;;;;;AAMA;;;A;AACC;A;AAQD;AAIA;;AAQA;;A;AACC;A;AAGD;A;;;;;;;AAKG;A;AACF;A;AAED;AACA;A;;;;;;;AAKG;A;AACF;A;AAED;AAIA;AACA;A;;;;;;;AAYG;;A;AACF;A;AAED;A;AAOC;A;AAEE;A;AACF;A;A;AAGA;A;AAED;AACC;;;A;AAEC;A;AAEI;A;AACF;A;A;A;AAOD;A;A;AAGF;AACA;A;A;;;;;;;;AASE;A;AACF;A;A;AAGA;A;AAED;;;A;AAEC;A;AAED;;AACA;AACA;A;;;;;;;AAKG;;A;AACF;A;AAED;AACG;A;AACF;A;AAED;AACC;;;;A;AAEC;A;AAEI;A;AACF;A;A;A;AAIH;AACA;A;A;;;;;;;;AAME;;A;AACF;A;AAED;AACG;A;AACF;A;AAED;AACC;;;;;;A;A;AAIK;A;AACF;A;A;A;AAIH;AACA;A;A;;;;;;;;AAME;;A;AACF;A;AAED;AACG;A;AACF;A;AAEG;AACJ;AACC;A;AAEC;A;AAED;;;A;AAEC;A;A;AAGA;A;A;AAGG;A;AACF;A;A;A;AAID;A;A;AAGA;A;A;A;;;;;;;;AAUC;A;AACF;A;AAED;AACI;AACJ;AACC;A;AAEC;A;AAED;;;A;AAEC;A;A;AAGA;A;A;AAGA;A;A;AAGA;A;A;A;;;;;;;;AAOC;;A;AACF;A;AAED;AACG;A;AACF;A;AAED;AACC;;A;AAEI;A;AACF;A;A;A;AAID;A;AAED;A;A;;;;;;;;AAME;;A;AACF;A;AAED;AACG;A;AACF;A;AAED;AACC;;;;A;AAEI;A;AACF;A;A;A;AAID;A;AAED;A;A;;;;;;;;AAME;;A;AACF;A;AAED;AAEG;A;AACF;A;AAED;AACC;;;;;;A;AAEC;A;A;A;A;AAKI;A;AACF;A;A;A;AAOF;A;AAED;A;A;;;;;;;;AAME;A;AACF;A;AAED;AACA;A;;;;;;;AAOG;A;AACF;A;AAED;AACA;AACC;;;A;AAEC;A;AAEI;A;AACF;A;A;A;AAKH;A;A;;;;;;;;AAME;A;AACF;A;AAED;AACA;A;;;;;;;AAKG;A;AACF;A;AAED;AACA;A;;;;;;A;AAUC;;;A;A;AAGC;A;AAKA;A;AAEA;A;A;AAGF;;A;;;;;;AAMA;AACA;AACA;;;A;AAEC;A;AAED;AACA;A;;;;;;AAKG;A;AACF;A;AAED;AACA;;A;;;;;;AAOA;A;;;;;;AAKG;;A;AACF;A;AAED;AACA;A;;;;;;;AAMG;A;AACF;A;AAED;AACA;AACA;A;;;;;;;AAKG;;A;AACF;A;AAED;AACG;A;AACF;A;AAED;AACC;;;A;AACC;A;AAEE;A;AACF;A;A;A;;;;;;;;AAOC;;A;AACF;A;AAED;AACG;A;AACF;A;AAED;AACC;;;A;AACC;A;AAEE;A;AACF;A;A;A;;;;;;;;AC5hBC;A;AACF;A;AAED;AACA;A;;;;;;;AAKG;A;AACF;A;AAED;AACA;A;;;;;;;AAKG;A;AACF;A;AAED;AACA;A;;;;;;;ACtBG;A;AACF;A;AAED;AACA;A;;;;;;;ACJG;A;AACF;A;AAED;AACA;A;;;;;;;AAKG;A;AACF;A;AAED;AACA;A;;;;;;ACFA;;;;;A;AAEC;A;A;AAGA;A;AAEE;AAAH;;A;AACC;;AACA;A;AAED;A;;;;;;;AClBG;;A;AACF;A;AAED;AACG;A;AACF;A;AAGG;A;AAEH;A;AAKD;AAEI;AACA;AACJ;;AACC;AACA;;;;;A;AAEE;;A;AAED;A;AAEC;AACA;A;AAED;A;AAEC;A;A;;A;AAID;A;AAED;AAEA;;;A;AAKC;A;AAED;AACA;AACA;A;AAEI;A;AACF;A;A;AAGD;A;A;AAGA;A;A;AAGA;AACA;A;A;AAGF;A;;;;;;;;;;;;;;A;A;A;A;A;A;A;A;A;A;A;A;;A;A;A;A;;;;;;;;;;;;;A;;;;;A;;;;;A;;;;;;;;;;;;;ACvCA;A;AAEC;A;AAED;A;;;;;AAmBG;AAAH;;A;AACC;A;A;;;;;;;;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvDD;A;;;AAIG;A;AACF;AACA;AACI;;;AACH;AADgC;A;A;A;AAKjC;A;A;;A;;;;;A;ACAA;A;AAED;;A;;;;;;;;;A;A;;;;;A;A;;;;;A;;;;;;;;;ACLA;A;AAEC;A;AAED;;;;AACA;AACA;;;;;AACC;;;;A;AAIC;;A;A;A;;;;;A;AAKD;A;;A;AAKA;A;A;;;;;A;;;;;;;;;A;AAQA;AAEA;A;AAED;AAEA;A;AAEC;AACA;A;AAGD;AACA;;AAEC;;A;AACC;AACI;AACJ;;;;AACA;A;A;;;;;A;A;AAKC;A;A;AAKE;;;;AACJ;;;;AACA;AACA;A;A;A;;;;;A;A;;;;;A;;;;;;;ACjDmC;;A;;;;;;;AAIpC;;;AACA;;;;A;;;;;;;AASuC;;A;;;;;;;AAIvC;;;AACA;;;;A;;;;;A;AAQC;A;AAED;A;;;;AAcA;A;;;;AAmBA;A;A;AAEC;A;A;AAEA;A;A;AAEA;A;AAED;A;;;ACzFG;;A;AACF;A;AAED;A;;;ACAA;AACA;A;;;;ACgC8B;A;;;;;;AAgD9B;;A;;;;;;;;;AAOG;A;A;;;;;A;AAGH;;;;A;;;;;A;;;;;;;;;AASG;A;A;;;;;A;A;A;;;;;A;AAQH;;AACC;;;;A;AAEC;AACA;A;AAED;AACA;AACA;A;AAED;A;;;;;;;;;AAOG;A;A;;;;;A;AAGH;;;;A;AAEC;A;A;AAGA;A;AAGD;A;AAGC;A;A;;;;;A;;;;;;;;;AAUE;A;A;;;;;A;A;A;;;;;A;AAQH;;AACC;;;;A;AAEC;AACA;A;AAED;AACA;AACA;A;AAED;A;;;;;;;;;AASG;A;A;;;;;A;AAGH;;;;A;AAEC;A;A;A;;;;;A;A;;;;;A;;;;;;;;;A;;;;;A;;;;;;A;AAkHA;A;A;AAGA;A;AAED;A;;;;;;AAyF2C;;A;;;;;;AAyB3C;A;;;;;AAQA;A;;;;;AAUA;A;;;;;;;;AChaA;A;AAEC;A;A;AAGA;A;A;AAGA;A;AAGD;A;;;;;AAaG;A;AACF;A;AAEE;;A;AACF;A;AAED;A;;;;;;;AAoCG;A;AACF;A;AAEE;;A;AACF;A;AAED;A;;;;;;;AAOG;A;AACF;A;AAEE;;A;AACF;A;AAED;A;;;;;;;AAOG;A;AACF;A;AAEE;;A;AACF;A;AAED;A;;;;;;;AAuBG;A;AACF;A;AAEE;;A;AACF;A;AAED;A;;;;;;AAKG;A;AACF;A;AAED;A;;;;;AAKG;A;AACF;A;AAED;A;;;;;AAKG;A;AACF;A;AAED;A;;;;;A;AAOC;A;AAED;A;;;;;;A;ACpIC;A;AAQD;;A;AACC;;A;AAGD;A;;;;;AASA;AACG;;;A;AACF;A;AAED;A;;;;AAiBA;A;AAEC;A;AAED;AAUA;A;AASC;A;A;AAOI;AACD;A;AACF;A;A;AAIC;A;A;AAUC;A;AACF;A;A;AAIF;AACA;A;;;A;AAeC;A;A;;;;;A;AAsDA;A;AAED;;A;;;;;;;A;AAKC;A;AAEG;AACD;;A;A;AAED;A;AAED;A;AAID;AACA;A;;;;;;;;;AAMA;;;;AACA;A;;;;;A;;;;;;;;;AAQA;;;;AACA;A;;;;;A;;;;;;;;;AAOA;;;;AACA;A;;;;;A;;;;;;;;;AAOA;;;;AACA;A;;;;;A;;;;;;;;;AASA;;;;AACA;A;;;;;A;;;;ACnRA;A;;;AAIA;A;;;ACOA;AAEA;;AACC;AAD8B;A;AAI3B;A;;A;AAEF;AACA;A;AAHe;A;AAOjB;A;;A;ACdC;A;AAED;A;;;A;AAyCC;A;AAED;A;;;;;AC5CA;AACA;A;;;;;ACTA;AACA;AACA;AACA;A;A;AAGC;A;AAEA;A;AAEA;A;AAEA;A;AAEA;A;A;AAIA;A;A;AAGA;A;A;AAGA;A;A;AAGA;A;A;;;AAKD;A;;;;;;A;AC5BC;A;AAEG;AACJ;;A;AAEC;A;AAED;AACA;A;;;;;AAgBI;AACJ;A;AAEC;A;AAED;AACA;A;;;;ACoBI;AACJ;AACA;;;;;;;A;AAEE;AACA;A;A;;A;AAID;AACA;A;AAGD;;;;;;;A;AAEE;A;AAEA;A;AAED;A;;AAED;A;;;;;AAMA;A;;;;;AAMA;A;;;;;AAKA;A;;;;;AAGmC;A;;;;;AACA;A;;;;;ACrFM;A;;;;;AACA;A;;;;;AACA;A;;;;;AACA;A;;;;;;;;;;;;;;;;;;;;;A;A;A;A;A;A;A;A;A;A;A;;A;A;A;A;A;A;A;A;A;A;;ACPJ;A;A;A;A;A;;;;;;;;;;ACWF;A;;;;A;AAwBlC;A;AAED;A;;;;A;AAoBC;A;AAGD;A;;;;A;AAMC;A;AAaD;A;;;;;A;AA2NC;AACA;A;A;AAGA;AACA;A;A;AAGA;AACA;A;A;;A;;;;;A;A;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;A;ACpTA;A;AAEG;;;AACH;A;AAEC;A;AAED;A;AAEC;A;A;AAGA;A;AAVuB;A;AAazB;A;;;;;A;AAKC;A;A;A;A;A;;;;;A;A;A;A;;;;;A;A;A;A;;;;;A;A;A;A;;;;;A;A;AAIA;A;AAkBD;A;;;;;AAIA;AACA;AACA;A;AAIC;A;A;AAIA;A;AAEA;AACA;A;AAID;AACA;AACA;;A;A;AAIG;A;AAED;AACA;AAPgB;A;A;AAWhB;A;AAEC;AAbe;A;A;A;AAiBf;AACA;A;AAEA;A;AApBe;A;A;AAwBjB;A;A;AAGA;A;A;AAGA;A;A;AASA;A;AAEC;A;AAED;A;AAEC;A;AAEA;AACA;A;A;AAGA;A;AAED;AACA;;A;AAEE;A;AAF8C;A;AAKhD;A;A;AAIA;A;AAGD;AACA;A;;;;;;;;;AAQA;A;AAIC;A;A;AAIA;A;AAEA;AACA;A;AAID;AACA;AACA;AACA;AACA;AACA;;AACQ;A;A;A;AAGL;A;AAED;AACA;AAPgB;A;A;AAWhB;A;AAEC;AAbe;A;A;AAgBhB;A;AAEC;AACA;AACA;A;AAEA;A;AAtBe;A;A;AA0BjB;A;A;AAGA;A;A;AAGA;A;A;AASA;A;AAEC;A;AAED;A;AAEC;A;AAEA;AACA;A;A;AAGA;A;AAED;AACA;;A;AAEE;A;AAF8C;A;AAKhD;A;A;AAIA;A;A;AAIA;A;AAED;AACA;A;;;;;;;AAQI;AACA;AAGJ;;A;AACC;AACA;AACA;A;AAMD;;A;AACC;A;AAED;;A;AAEC;AACA;AACA;A;AAID;AACA;;AACK;A;AAEH;A;AAEA;A;AAED;AACA;A;AAED;;AACK;A;AAEH;A;AAEA;A;AAED;AACA;A;AAID;A;AAMC;AACA;AACA;A;AAGD;;A;AACC;A;AAID;AACA;AAGA;;A;AACC;AACA;AACA;;A;AACC;A;A;A;AAMD;A;AAED;AAED;AAEC;AACA;AACA;AAED;AAEC;AACA;A;AAEC;A;A;;;;;A;;;;;;;A;AAsBA;A;AAED;A;AAEC;A;A;A;;;;;A;A;AAYC;AACA;A;A;AAIA;A;A;;;;;A;A;;;;;A;AAMF;A;;;;;A;AAOC;A;AAED;A;AAEC;A;A;A;;;;;A;A;AAWC;AACA;A;A;AAIA;A;A;;;;;A;A;;;;;A;AAMF;A;;;;;AAMG;;;A;A;;;;;A;A;AAMF;;;;;;A;A;AAIK;;;A;A;;;;;A;A;AAKJ;AACG;A;AACF;;;AACA;A;AAEC;A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AADrB;AACI;;;AACH;AADoB;A;A;AAIrB;AACI;;;AACH;AADoB;A;A;A;AAKvB;A;;;AAQA;A;;;;AAMA;A;;;;AAaA;A;;;;AA0BA;A;;;;AAcA;A;;;;AAqBA;;AACC;;;AACA;A;A;AAGE;A;AAED;A;A;AAGA;A;A;AAGA;A;A;AAGF;A;;;;;;AAIA;A;A;;;;;A;A;;;;;A;A;;;;;A;AASA;A;;;;;;;A;AAoBC;AACA;A;AAEM;A;AAEN;AACA;A;AAEA;;;A;;;;;;;;;A;A;;;;;;;;;A;A;AAQA;AACA;A;AAED;AACA;AAEA;A;A;AAEC;A;AAEA;A;AAEA;A;AAEA;A;AAEA;A;AAEA;A;AAEA;A;AAEA;A;A;AAGC;A;AAEA;A;AAEA;A;AAEG;A;AAEH;AACA;A;AAEG;;;AACH;;;A;AAEC;AACA;A;AAED;AANkB;A;AAQnB;A;AAGC;AACA;A;A;AAGA;AACA;A;AAED;AACA;A;AAEA;A;AAEC;AACA;A;AAEG;;;AACH;A;AAEC;AACA;A;AAED;AANkB;A;AAQnB;A;AAEC;AACA;A;AAED;A;AAEA;A;A;AAGC;AACA;A;AAED;A;AAEA;AACA;A;A;AAED;AACA;A;;;;AASA;A;AAEC;A;AAED;A;AAEC;A;AAED;A;A;AAIE;A;A;AAIA;AACI;;;A;AAEF;A;AAFsB;A;AAKxB;A;AAED;A;A;AAGA;A;A;AAGA;A;A;A;A;A;AAQE;A;A;AAGD;;;A;AAEC;A;A;A;AAKC;AACJ;AACA;;AACC;;;;;A;AAEC;A;AAED;A;AAEC;A;AAEA;AACA;A;A;AAIA;A;A;AAGF;A;;;;AAKI;;;A;AAEF;A;AAFsB;A;AAKxB;A;;;AAMA;;;;AACA;;AACC;A;AAEC;A;AAEA;A;A;AAGF;A;;;AAMA;;;;AACA;;AACC;A;AAEC;A;AAEA;A;A;AAGF;A;;;A;A;AAiBE;A;A;AAIA;A;AAED;A;A;AAUA;;;;;;AACA;A;AAEC;A;AAED;AACA;A;AAGD;;;;;;AACA;A;AAEC;A;A;AAGA;A;AAED;AACA;AACA;A;;;;A;AAmBC;A;AAED;AACA;AACA;A;;;;;;;;;;;;;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A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KC;A;A;AAGA;A;A;AAGA;A;A;A;AAKA;;;;;A;AAEE;A;A;;AAGF;A;A;AAID;;;;;;;;A;A;A;AAGG;A;A;AAGA;A;A;AAGE;A;AAEH;A;AAEG;;;AACH;;;;;;;;A;AACC;A;AAFiB;A;AAKnB;A;A;AAGC;A;AAED;;;;;;;A;AAEA;;;;;;;A;AAEI;AACA;;;AACH;;;;;;;;A;AACC;A;AAFiB;A;AAKnB;A;A;AAGC;A;A;AAGA;A;AAEG;;A;AAEH;A;AAED;;;;;AACC;;AACA;;AACA;;;;;A;AACC;A;A;;AAGF;A;AAEA;A;AAEA;A;A;AAGD;;;A;;;;;;;;ACt9CA;;A;AAEC;A;AAGD;A;A;AAGC;;AAAwB;A;A;AAExB;;A;AAEE;A;A;A;AAIH;AACA;AACA;;A;AAEE;A;AAED;AACA;AACA;AACA;AACA;A;A;;;;;;AC2YD;A;;;;;AAIA;A;;;;;A;AAqKC;A;AAED;A;;;;;AAiKA;A;AAEC;A;AAED;A;;;;;AAGgC;A;;;;;A;AAI/B;A;AAED;A;AAEC;A;AAED;A;;;;;AAG6B;A;;;;;AAEK;A;;;;;AAEL;A;;;;;AAII;A;;;;;AAGjC;A;AAEC;A;AAED;A;;;;;A;AAKC;AACA;A;AAED;A;;;;;;;;A;AAuCC;A;;;;A;AAGD;A;A;;;;;A;AAKA;;;;;;AACC;;A;A;;;;;;A;A;;A;;;;;A;;;;;;A;AASA;A;AAED;A;AAEC;A;AAED;A;;;;;A;AASC;A;AAED;AACA;AACA;;A;AAEE;A;AAED;A;AAED;A;;;;;A;AAKC;A;AAED;AACA;A;;;;;A;AAKC;A;AAED;AACA;A;;;;;A;A;AAMC;AACA;A;AAEA;AACA;A;AAEA;AACA;A;AAEA;AACA;A;AAEA;AACA;A;AAED;A;;;;;A;AAKC;A;AAED;AACA;A;;;;;;A;AAKC;A;AAED;AACA;;A;;;;;;;A;AAKC;A;AAED;AACA;;A;;;;;;;A;AAKC;A;AAED;AACA;;A;;;;;;A;AAKC;A;AAED;AACA;A;;;;;A;AAKC;A;AAED;AACA;A;;;;;A;AAKC;A;AAED;AACA;A;;;;;A;AAKC;A;AAED;AACA;A;;;;;A;AAKC;A;AAED;AACA;A;;;;;A;AAKC;A;AAED;AACA;A;;;;;A;AAKC;A;AAED;AACA;A;;;;;A;A;AAwCC;A;AAEA;A;AAEA;A;AAED;A;;;;;;A;AAMC;A;AAED;AACA;AACA;A;AAEC;A;AAEC;A;A;AAGF;AACA;AACA;A;;;;;AAIyC;A;;;;;;;A;AAKxC;A;AAEG;AACJ;;;;;AACC;A;A;;;;;A;A;;AAKD;A;;;;;AAmCA;;AACA;A;;;;;;;AAaA;;AAEC;AACA;;AACC;A;AAED;A;AAEC;A;AAOD;AACA;;AACC;A;A;AAGA;A;AAED;AACA;AAGA;AACA;;A;AAEE;A;AAED;A;A;AAGA;A;AAED;AACA;A;AAGC;;;A;AAEC;A;A;;;;;A;A;A;;;;;A;;;;;;A;AAWF;A;AAED;AACA;AACA;AACA;A;AAEC;A;AAEE;A;AACF;A;AAED;AASA;AACA;A;;;;;;;AAQA;AACA;;;;;;AACC;;A;AACC;AACA;;;;;;;A;AACC;;A;AAED;A;AAED;;A;;AAED;A;;;;;;;;;AAoBA;AACA;AAQI;AAOJ;AAEA;;AACC;;;;AACA;AACA;AAMA;;;;;AACC;AACA;;A;AAIC;;A;AAED;AACA;;;;;AACC;AAEA;AACI;AACJ;;A;AAEC;AACA;;A;AACC;;A;A;AAKF;;;A;A;A;;;;;A;AAMC;AACA;AACA;AACA;AACA;AACA;;A;A;AAOA;;A;AAED;A;AAEC;AACA;;A;A;AAGA;A;AAED;A;AAEC;A;AAEG;AACJ;AACA;AACA;A;;A;;A;AAID;A;A;AAGF;A;;;;;;;;;;AAOA;A;AAEC;;;;;AACC;A;A;;;;;A;A;AAKC;A;A;;A;A;AAKF;A;A;;AAE8C;A;;;;;A;;;;;AAgB/C;A;;;;;;A;AAwDC;A;AAED;;;A;AACC;A;AAED;A;;;;;;;A;AAKC;A;AAED;AACA;;A;;;;;;;A;AAKC;A;AAED;AACA;;A;;;;;A;AAUC;A;AAED;A;AAEC;A;A;AAgBA;AACA;AACI;;;AACH;AACA;AACA;AACA;A;A;AAGE;A;AAEC;A;AAED;A;AAEC;A;A;AAb4B;A;A;A;AAmB3B;A;AACF;A;A;AApB6B;A;AAwBhC;A;AAGD;A;AAEC;A;AAED;AACA;AACI;;;AACH;AACA;AACA;AACA;A;A;AAGE;A;AAEC;A;AAED;A;AAEC;A;A;AAb2B;A;A;A;AAmB1B;A;AACF;A;A;AApB4B;A;AAwB/B;A;;;;A;AAWC;A;A;AAMA;A;AAID;;A;;;;;A;AAKC;A;AAGD;;;;;;;;A;AACC;A;AAGD;;;;;;A;;;;;A;AAKC;A;AAGD;A;AAEC;A;A;AAMA;A;A;AAKD;;;;;;;;A;AACC;;;;A;AAMA;;;;;A;AACC;A;AAID;;;;A;AAGA;AACA;A;AAEC;A;AAEG;;;AACH;;;A;AACC;A;AAFyB;A;AAKvB;;;AACH;;;A;AACC;A;AAF0B;A;AAK5B;A;AAGA;AACA;A;AAEC;A;AAID;A;AAGA;;;;;A;AAGA;;A;AAGA;AACA;A;AAEC;A;A;AAGA;A;AAED;;;;;AACC;AACA;A;AAEC;A;AAED;;;A;AACC;A;A;AAGA;A;A;AAGA;A;A;;AAGF;A;A;AAGD;A;;;;A;AAwzCC;A;AAED;A;;;AA+GA;A;;;;AC5+FA;A;;;;;A;AAKC;A;AAED;A;;;;;A;AAOC;A;A;AAGA;A;AAED;A;;;;;A;AAiEC;A;AAED;A;;;;;A;AAyCC;A;A;;;;;A;AAQA;A;A;AAGA;A;A;;;;;A;AASA;A;A;AAIA;A;A;AAGA;A;A;;;;;A;AAWA;A;AAED;A;;;;;AAMA;AACA;A;;;;;;AAMA;AACA;;;A;AACC;A;AAGD;A;;;;;;;AAMA;AACA;;;A;AACC;A;AAGD;A;;;;;;AASA;A;;;;;AASA;A;;;;;;AAYA;AACA;AACA;;A;;;;;;;AAWA;AACA;AACA;;A;;;;;;AAwZA;A;A;AAGC;A;AAEA;A;AAED;A;;;;;;AA6EA;;A;AACC;;A;AAED;AACA;;;;;;AACC;;A;AACC;;;;;A;A;AAEE;A;AAED;;A;A;AAGF;;A;;AAED;A;;;;;;;AAOA;AACG;;;;AAAH;;A;AACC;;A;AAED;A;;;;;;;AAQG;;;;AAAH;;A;AACC;;A;AAED;A;;;;;;AAMA;A;A;AAGC;A;AAEA;A;AAED;A;;;;;AAsDA;AACA;A;A;AAGC;A;AAEA;A;AAEA;A;AAEA;A;AAEA;A;AAED;A;;;;;A;AAMC;A;AAED;A;;;;;;;A;;;A;;;;;;AAwFA;A;;;;;AAMA;A;;;;;;AA8BA;AACA;AASA;;AAEI;A;AAEH;A;AAEA;A;AAED;A;AAEC;A;AAED;AACA;AACA;A;AAEC;A;AAID;AACA;AACA;A;;;;;;;AAQA;AACA;AACA;AAEA;AAEA;AACA;A;AAEC;A;AAED;AACA;AACI;AACA;;;AACH;;A;AAKC;A;A;AAKA;AACA;AACA;A;AAEA;A;AAED;AAjBsB;A;AAmBvB;A;;;;;;A;AASC;A;A;AAGA;A;A;AAGA;A;AAED;AACA;AACA;AACA;A;;;;;A;AAMC;A;A;AAGA;A;AAED;A;;;;;;A;AAUC;A;A;AAGA;A;AAED;;;;A;AAEC;A;AAED;A;;;;;;AAMA;AACA;AACA;A;;;;;AAMA;A;A;AAGC;A;AAEA;A;AAED;A;;;;;AAMA;A;A;AAGC;A;AAEA;A;AAED;A;;;;A;AAKC;A;AAED;A;;;;AAMA;A;A;AAGC;AACA;AACA;A;AAED;A;;;;;AAMA;A;A;AAGC;AACA;AACA;A;AAED;A;;;;;;;;AAsDA;AACA;A;;;;;A;;;;;;;;;AAOA;A;AAEC;A;AAED;AACA;AACI;A;AAEH;AACA;AACA;A;AAEA;A;AAED;;;;A;AAEC;A;AAED;A;;;;;;;AAOA;AACA;AACA;;A;;;;;;;;;AAMA;A;AAEC;A;AAED;AACA;;AACI;A;AAEH;A;AAEA;A;A;;;A;;;;;;AA0BD;AACA;AACA;A;;;;;;AAiBA;AACA;AACA;;;A;AACC;A;AAED;A;;;;;;;AAMA;AACO;A;A;AAIN;A;AAEA;A;AAJA;A;A;;;;;AAWD;AACO;A;A;AAIN;A;AAEA;A;AAJA;A;A;;;;;AAWD;AACO;A;A;AAIN;A;AAEA;A;AAEA;A;AAEA;A;AAEA;A;AAVA;A;A;;;;;;AA+CD;AACA;AACA;AACA;AACA;;AACI;A;AAEH;A;AAEA;A;A;AAGA;AACA;A;AAED;AACA;;AACI;A;AAEH;A;AAEA;A;AAED;A;;;;;;;AAMA;AACO;A;A;AAIN;A;AAEA;A;AAEA;A;AAEA;A;AAEA;A;AAEA;A;AAZA;A;A;;;;;AAmBD;AACA;AACA;A;;;;;AAMA;AACA;AACA;A;;;;;;AA4HO;A;A;AAEN;A;AAEA;A;AAID;;A;;;;;;;;;AASA;AACA;A;;;;;A;;;;;;;AASA;AACA;AACA;;A;;;;;;AAKA;A;AAEC;A;A;AAIA;A;AAKD;A;AAGC;A;AAEC;A;AAED;AACA;A;AAGD;A;AAEC;A;AAED;AACA;A;;;;;AAMA;AACA;A;A;AAGC;A;AAEA;A;AAEA;A;AAEA;A;AAEA;A;AAEA;A;AAED;A;;;;;A;AASC;A;A;AAGA;A;AAED;A;;;;;AAwCA;;A;AACC;;;A;A;;;;;;AAuTD;;A;;;;;;AAMA;;;A;AACC;A;AAED;AACA;AACA;A;;;;;A;AAkDC;A;AAED;AACA;AACA;AACA;A;;;;;;AAsDA;;A;AACC;;A;AAED;;;AACA;;A;AACC;;A;AAED;;A;;;;;;A;AAOA;;;;;;;A;A;A;AAGE;A;AAEA;A;AAEA;A;A;A;A;A;AAMA;A;AAEA;A;AAEA;A;A;A;A;A;AAMA;A;AAEA;A;AAEA;A;A;A;A;A;AAMA;A;A;A;AAID;;;;;A;A;;A;AAGE;A;AAEA;A;A;A;A;A;AAKF;;;;;A;A;;A;AAGE;A;AAEA;A;A;A;A;A;AAMH;;;A;AACC;A;AAID;;;;;;;;;A;AAGC;A;A;A;AAKC;A;AAED;A;AAGD;A;;;;;AAwBA;;AACA;A;A;AAGC;A;AAEA;A;AAED;A;;;;;AAMA;;AACA;A;A;AAGC;A;AAEA;A;AAED;A;;;;;AAIA;;AACA;AACA;AACA;A;;;;;AAIA;;AACA;AACA;AACA;A;;;;;AAIA;;AACA;AACA;AACA;A;;;;;AAUA;;A;;;;;AAKA;;A;;;;;AAKA;;A;;;;;AAKA;;A;;;;;AAKA;;A;;;;;AAKA;;A;;;;;AAKA;;A;;;;;AAKA;;A;;;;;AAKA;;A;;;;;AAKA;;A;;;;;AAKA;;;;;;A;;;;;AAKA;;;;;;A;;;;;AAKA;;;;;;A;;;;;AAKA;;;;;;A;;;;;AAoBA;;;AACA;;AACA;;;A;AACC;A;;AAEA;A;AAED;;A;;;;;AAKA;;A;AACC;;AACA;AACA;A;AAED;;;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;A;A;A;A;A;A;A;A;;;A;A;A;A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;A;A;AAEA;A;A;AAEA;A;A;AAEA;A;A;AAEA;A;A;AAEA;;A;AACC;A;;AAEA;A;A;A;AAGD;A;;AAEA;A;A;A;;;;;;;;A;AAQD;;;;;A;AACC;A;A;AAEA;A;A;AAEA;A;A;AAEA;A;;AAEA;A;A;A;;;;;;;;A;AAWD;;A;AACC;AACA;AACA;AAEA;AACA;AACA;AACA;A;;AAEA;A;A;A;;;;;;;;A;AAMD;;;;;;A;A;AAEE;A;AAEA;A;A;A;AAGD;A;A;AAEA;A;A;AAEA;A;A;AAEA;A;;AAEA;A;A;A;;;;;;;;A;AAMD;;;;;;A;A;AAEE;A;AAEC;AACA;A;AAED;AACA;;;;;;A;AAEE;A;AAED;A;;AAED;A;AAEA;AACA;;;;;;A;AAEE;A;AAED;A;;AAED;A;A;A;AAGD;A;A;AAEA;A;A;AAEA;A;A;AAEA;A;;AAEA;;A;A;A;;;;;;;;AAKG;A;AAEJ;;A;AACC;A;;AAEA;AACA;A;A;A;AAID;;;;A;AACC;;A;AACC;AACA;;AACA;A;AAEC;A;AAEA;A;AAED;A;;A;AAGC;A;AAEA;A;A;A;A;AAIF;A;A;AAEA;A;;AAEA;A;A;A;;;;;;;;AAKE;AAAH;;A;AAII;;A;AACF;AACA;A;A;AAMA;A;AAGD;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;A;A;;;;;;;;;A;AAMA;A;AAGE;;;AAAH;;A;AACC;AACA;AACA;AACA;A;AAID;;A;AACI;;;AAAH;;A;AACC;AACA;AAEA;;AACA;A;A;;A;AAOD;;A;AAKC;;;;A;A;AAEC;AACA;AACA;;AACA;A;A;AAGA;AACA;AACA;;AACA;A;A;A;A;A;;A;;;;;;;AAQH;AACA;AAEA;;A;A;AAEC;;A;AACC;A;;AAEA;A;A;AAED;A;A;AAMD;;;A;AACC;;AACA;A;AAEA;;AACA;A;A;AAID;;;;;;;;;;;;;;;;;;;;;A;A;AAEC;A;A;A;AAEA;A;A;A;AAEA;A;A;A;AAEA;A;A;A;AAEA;A;A;A;AAEA;A;A;A;AAEA;A;A;A;AAEA;A;A;A;AAEA;A;A;A;AAEA;A;A;A;AAEA;A;A;A;AAEA;A;A;A;AAEA;A;A;A;AAEA;A;A;A;AAEA;A;A;A;AAEA;A;A;A;AAEA;A;A;A;AAEA;A;A;A;AAIA;;A;AACC;;AACA;;;A;AACC;A;A;AAGF;A;;A;AAGA;;;A;AAGC;;A;A;A;;;;;;;;AASF;;A;AACC;;AACA;;;A;AACC;A;A;AAGF;AACA;AAEO;A;AACP;;;;;;;;;;;;;;;;A;AACC;;A;AACC;A;;A;AAGA;;A;AACC;A;;AAEA;A;A;A;A;A;AAIF;A;A;AAEA;A;A;AAEA;A;A;AAEA;A;A;AAEA;A;A;AAEA;A;A;AAEA;A;A;AAEA;;A;A;AAEA;;A;AACC;;A;AAEC;AACA;A;AAED;A;;AAEA;A;AAED;;AACA;;;;;;A;A;AAGG;A;AAEA;A;A;AAGF;AACA;AACA;;A;;A;AAGA;A;AAEA;A;A;A;AAGD;;A;AACC;;A;AAED;AACI;;;A;A;AAGD;A;AAEA;A;A;AAGF;;A;AACI;;A;AACF;AACA;A;A;AAGF;;AAd6B;A;AAgB9B;A;A;AAEA;;AACA;;A;AACC;;A;AACC;;AACA;A;;AAEA;A;A;;AAGD;A;A;A;A;AAID;;A;AAEC;AACA;;;;A;AACK;AACJ;;;A;AACC;;A;A;AAEA;;;A;;AAKA;AACA;;;;;AACC;;;A;;A;AAGF;;;;;AACA;A;A;A;AAGF;;A;AACC;;A;AAEC;AACA;A;AAED;AACI;;;A;AAEF;A;AAED;;AAJwB;A;AAMzB;A;;AAEA;AACI;;;A;AAEF;A;AAED;;AAJwB;A;AAMzB;A;A;A;AAKD;;A;AACQ;;A;AACP;;A;AACC;AACA;AACA;A;A;A;AAKF;A;A;AAAA;A;;AAEA;A;A;A;;;;;;;;;;AAMD;AACA;;A;AACC;;;AACA;;A;AAEQ;;A;A;AAEN;A;AAEC;AACA;A;A;AAGD;A;AAEC;AACA;A;A;A;A;AAMH;A;AAEC;AACA;A;A;AAGF;A;;;;;;;A;A;;;;;;;A;AAgBI;;;A;AAEF;;;;A;A;;;;;;;A;A;;;;;;;A;AAF2B;A;A;;;;;;;A;;;;;;;A;A;;;;;;;A;AAmB7B;AACA;;;;A;A;;;;;;;A;AAIA;A;;;;;;;A;;;;;AAKA;AACA;AACA;A;;;;;AAIA;AACA;AACA;A;;;;;;AAIA;AACA;AACA;AACA;AAEI;;;AACH;AACA;AACA;;AACC;A;A;AAGA;A;A;AAIA;A;AAID;AAGA;AAEA;;AACC;A;AAEA;;;;;;A;AACC;A;A;AAEA;A;A;AAEA;A;A;AAEA;AACA;A;A;AAEA;A;;AAIA;;A;A;AAGE;AACA;AAEA;AACA;A;AAED;AACA;AACA;AACA;A;AAGD;A;A;AAhCa;A;AAqCf;;;;AAGA;;A;AACC;AACA;;;;;A;AAGC;A;A;AAMA;AACA;AACA;A;AAED;A;;AAEA;;;;A;AAEC;A;A;AAKF;;A;AACC;A;AAEC;A;AAED;;;;AACA;;A;AACC;AACA;;;;;A;AAGC;AACA;A;A;AAGA;A;AAED;A;;AAEA;;;;A;AAEC;AACA;A;A;A;A;AAMF;;;;A;A;AAIA;AACA;A;AAGD;;;;A;AAEC;;;A;AAED;AAGA;;;;;A;AACC;A;A;AAEA;A;A;AAEA;A;A;AAGA;AACA;AAEA;AACA;AAGA;AACA;A;;AADA;AACA;A;A;A;AAOF;;A;AACC;AACA;AACA;;;;;;A;AAEE;A;AAED;;A;AACC;A;;AAEA;;AACA;AACA;A;A;;AAGF;A;A;;;;;;;;AAKD;AACA;;;;;;AACC;;;;A;AAGC;A;AAED;AACA;A;;A;;;;;;;;AAOD;;;;;;A;AAEE;A;AAED;A;;AAED;A;;;;;;;;;A;;;;;A;;;;;;;;;A;ACn8BC;AACA;A;AAGD;;;;;A;AAEC;A;AAEC;A;A;AAGD;A;AAED;A;;;;;;;;A;A;;;;;A;A;;;;;A;;;;;;;AAaA;;;;A;A;A;;A;AAKC;A;AAED;A;;;;;;;AAeA;;AACA;AACA;AACA;A;;;;;;AAIA;A;;;;;AAIA;A;;;;;;;;;AAIA;;AACI;A;AACC;;;A;AACF;A;AAEA;A;A;A;A;AAKF;A;AAED;AACA;;AACA;A;;;;;A;AAoBC;A;AAED;AACA;;;;;A;AAEE;A;A;AAGA;A;A;;AAGF;A;;;AAKA;A;;;;A;AA2GC;AACA;A;A;AAIA;A;AAED;AACA;AACA;A;;;;;;AAOA;AACC;;A;AAEC;A;AAED;;;;;A;AACC;A;AAED;;A;A;AAEE;A;AAED;AACA;A;AAED;;A;AACC;;AACA;A;A;A;;;;;;;;AASF;;A;AACC;A;AAGD;AACC;;A;AAEC;A;AAED;;;A;AACC;;AACA;A;AAED;A;AAED;A;;;;;AAOA;;;;;;;A;AAEE;A;A;;AAGF;A;;;;;AAwBA;;AACA;;A;AACC;;A;AAED;A;;;;;;;;;;;;;;;;;;;;;A;A;A;A;A;A;A;A;A;ADtX0B;A;A;A;AC2PA;A;A;A;;;;;;;;;;;;;;;;;;;;;ACvR1B;AACA;A;;;;AAIA;AACA;AACA;A;;;;AAIA;AACA;A;;;;AAIA;AACA;AACA;AACA;AACA;A;;;;AAIA;AACA;A;;;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;AAGkC;A;;;AAEE;A;;;;;;;A;A;A;A;;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;A;AClGnC;A;AAEG;;;A;AAEF;A;AAF4B;A;AAM9B;AACA;AACA;AAEI;;;AACH;AADiC;A;AAG9B;;;AACH;AAD6B;A;AAG9B;A;;;;;A;AAUC;A;AAGG;;;A;AAEF;A;AAF+B;A;AAMjC;AACA;A;;;;;AAOA;AACA;A;;;;;A;AAiCC;A;AAGD;;;;AACA;AACA;;AAEC;AAEA;AACA;AACA;AACA;AAEA;AACA;A;AAGD;A;AAEC;A;AAGD;A;AAEC;A;AAGD;AACA;A;A;AAIC;A;AAEC;A;A;A;AAIA;AACA;A;A;A;;;;;AAOF;AACA;AACA;A;;;;;A;AAqFC;A;AAED;A;;;;;AAUA;A;;;;;;;;AAUI;AACJ;;;;AAEI;;;A;A;A;;;;;;;A;A;;;;;;;A;AAQF;;;;AACA;A;AAED;AACA;AAEA;A;AAEC;AAhByB;A;A;A;AAqBzB;AArByB;A;A;A;A;;;;;;;A;A;A;A;;;;;;;A;AAqCzB;;AACC;A;A;A;;;;;;;A;A;A;;;;;;;A;AAWD;A;AAID;;AACC;A;A;AAIA;A;AAED;;;;AACA;A;AAID;AACA;;;;;;A;A;AAGC;AACA;AAGA;A;A;;;;;;;A;AAIA;AAGA;A;A;;;;;;;A;A;AAPA;A;A;;;;;;;A;AAIA;AAGA;A;A;;;;;;;A;A;AAAA;A;A;;;;;;;A;A;AAKD;A;;;;;;;A;;;;;AAOA;AACA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;AAED;AACA;A;;;AAuCoC;A;;;;;A;A;A;A;A;A;;;;;;;;;;AChRpC;A;;;;A;AAQC;A;AAED;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC4FA;;A;AACC;;A;AAED;;A;;;;;;;A;AAyBC;A;AAGD;;;A;AACC;;A;AAED;;A;;;;;;;AAIA;;A;AAEC;A;AAGD;AACA;AAGA;;A;AAEC;A;AAED;A;;;;;;AAOiC;A;;;;;AAIjC;A;;;;;AAKA;A;;;;A;AAUC;A;A;AAKA;A;AAEC;A;A;A;AAUD;A;AAGA;AACA;;AACC;A;A;AARD;A;A;AAcA;AACA;;AACC;A;A;A;AAOD;A;AAEC;A;AAEC;A;A;AAGF;;AACC;A;A;AAKF;A;;;;AAoBA;A;;;;;AASA;AACA;AACA;AACA;AACA;AACA;A;;;;;A;AAOC;A;A;;;;;A;AAOA;A;A;AAEC;AACA;AACA;A;A;AAGF;A;;;;;;AAKA;;;;;;AACA;AACA;AACC;;AACA;A;AAEC;AACA;AACA;A;A;A;;;;;;;;AAOF;;;;;;AACA;;A;AACC;;AACA;A;;AAEA;;AACA;A;A;;;;;;;;AAOD;;;;;;AACA;;AACC;;AACA;A;AAEC;AACA;AACA;A;A;AAIF;AACA;;A;;;;;;;;A;AAWA;;;;A;AACC;;A;AACI;;A;AACF;A;A;;AAGD;A;AAED;A;A;AAGA;;A;AACI;;A;AACF;A;A;;AAGD;A;AAED;A;A;AAIA;AACA;AAEA;;A;AACI;;A;AACF;A;A;A;;AA7BF;A;A;AAiCD;A;;;;;;;A;AAcA;;;;A;AACC;AACA;A;A;AAGA;AACA;A;A;AAGA;;;;A;AAEC;A;AAED;A;AAEC;A;A;;AAjBD;A;A;AAoBD;A;;;;;;AAmBA;AACA;AAKA;;;;;A;AACC;AACA;A;AAED;AAGC;;A;AACC;;AACA;;;;;;;;A;AACC;AACA;AACA;A;A;A;AAKD;A;AAGD;;;;A;AACC;A;AAED;;A;AACC;;;A;AAED;;;A;AACI;;;;A;AACF;A;AAED;;A;AACI;;;;A;AACF;A;A;A;AAKH;;A;AACC;AACA;A;;AAEA;;A;A;AAGF;A;;;;;;AAOA;;;;;AACA;;A;AACC;AACA;AACA;;A;AAED;;A;AACC;AACA;AACA;A;AAED;A;AAIA;;;;A;AACC;;A;AAEC;;;;A;AAEC;A;AAED;;AACA;A;AAKD;AACA;AACA;A;A;A;AAGA;A;;AALA;AACA;AACA;A;A;AAMD;AACA;AAEC;A;AAEC;A;AAID;;A;AAEC;;A;AACC;A;AAEC;A;AAED;;AACA;;AACA;A;A;AAGA;A;A;AAIF;;A;AAEI;;;A;AACF;A;A;;AAIE;;A;AACF;A;A;AAGF;AAGA;;A;AACC;A;A;AAGA;A;A;AAGA;A;A;AAIF;;A;AACC;;A;AAEC;;;AACA;;AACC;;AADkB;A;A;;AAInB;A;A;AAGF;;A;AACC;;A;AAED;A;;;;;;;AAUA;;;;;AACA;;A;AACC;AACA;AACA;;A;AAED;;A;AACC;AACA;AACA;A;AAED;AAGA;;A;AACC;;;;A;AAEC;A;AAED;;AACA;A;A;AAQD;;;A;AAGC;A;;;AAEA;;;;;;A;A;A;AAKE;AACA;AACA;A;A;AAGF;;A;AACC;;A;A;A;A;;AAKD;AACA;AACA;A;A;AAGG;AAEJ;AAEC;A;AAGC;A;A;AAGA;A;AAID;AACA;AACA;AACA;;;A;AAEC;A;AAIG;AACJ;AAEA;;A;AACC;;AACA;;A;AACC;;A;;AAEA;;A;AAED;A;;AAEI;AACJ;;AACA;;;;;AACC;A;AAEC;AACA;A;AAED;;;;;A;AACC;A;A;;AAGF;;;A;AACC;AACA;AACA;;;;;AACC;;A;AACC;;A;AAMC;;A;AACC;;;;AAGA;AACA;AACA;A;AAED;;;A;AAED;;A;AAED;;A;;AAED;AACA;;A;A;AAEA;;A;A;AAKF;;A;AACC;A;A;AAGA;A;AAED;AAEA;;A;AACC;;;;A;AAEC;A;AAED;;;;A;A;AAEI;;A;AACF;A;A;A;A;AAGE;;A;AACF;A;A;;A;AAGD;;A;A;;AAGE;;A;AACF;A;A;AAMF;;A;AACC;;AACI;AAEJ;;;;;A;AACC;;;A;A;AAEA;;;AACG;;A;AACF;A;AAED;;A;;A;;AAGA;;;A;AACC;AACA;;;AACA;;;;;;A;AACC;AACA;A;AAED;;;A;A;AAEA;AACA;;;AACA;;;;;;A;AACC;AACA;A;AAED;;;A;;AAEA;A;A;A;A;AAGF;A;AAID;;A;AACC;A;A;AAGA;A;A;AAGA;A;AAGD;AACA;A;AAED;A;;;;;;A;AAOC;A;AAED;;;A;AAEC;A;AAED;A;;;;;;AAYA;;A;AAEC;;AACA;A;AAED;AACA;;;;;AACA;;A;AACC;;A;AAED;;A;AACC;;A;AACC;;A;AACC;;A;;AAEI;A;A;AAGH;A;AAEA;A;AAEA;A;AAED;A;AAED;A;AAED;;;AACA;;A;AACC;;A;AACC;;A;AAED;A;AAED;;A;AAGD;AAEO;A;AACP;;;;A;AAGC;;A;AACC;;AACA;A;A;AAGD;;A;AACC;;A;A;A;A;AAID;AAGA;;A;AACC;;AACA;A;A;AASD;;;;A;AACC;A;A;AAEA;;A;AACC;;A;;AAEA;A;A;A;AAVA;;A;;AAEA;A;A;A;A;AAaF;;;AACA;;A;AACC;;A;AACC;;A;AAED;A;A;AAKD;;;;A;AACC;;;;A;AACC;AACA;A;AAED;AACA;;;A;AAEC;AACA;A;AAED;A;A;AAEA;A;A;AAEA;;A;AACC;;A;;AAEA;A;A;;AAnBD;A;A;A;;AAwBD;;A;AACC;;A;AACC;;A;AAED;A;AAED;A;AAcA;;;;;A;AACC;;;A;AAEC;AACA;A;A;AAGA;AACA;A;AAED;;A;A;AAGA;;;A;AAEC;AACA;A;AAED;A;A;AAGA;;;A;AAEC;AACA;A;AAED;A;A;AAGA;;;;;;;A;AAEC;AACA;A;AAED;A;;AA7CA;;A;AACC;AACA;;A;AACC;;A;AAED;A;AAED;;A;AACC;;A;AAED;A;A;A;A;AAsCF;A;;;;;;;;;A;AAYA;;;;A;AACC;;;;AACA;A;A;AAEA;;;;AACA;A;A;AAEA;;;;A;;AARA;A;A;AAUD;A;;;;;;;AAKI;AACJ;AAEC;A;AAEC;A;AAGD;;;;A;AAEC;A;AAED;AAGA;;A;AACC;A;A;AAGA;A;A;AAGA;A;A;AAGF;A;;;;;;;AAKA;AACA;AAEC;A;AAGC;A;A;AAGA;A;AAID;AACA;AACA;AACA;;;A;AAEC;A;AAID;;A;AACC;A;A;AAGA;A;AAED;AAGA;;;;A;AAEC;A;AAED;AAGA;;A;AACC;A;A;AAGA;A;A;AAGA;A;A;AAGF;A;;;;;;;AAQA;AACA;AAEA;AAEO;A;A;AAEN;A;AAGA;A;AAGA;;;A;AAEC;A;AAED;A;A;AAIC;A;AAED;;;A;AAEC;A;AAED;A;A;;;;;;A;AAQA;A;AAEG;AACJ;;;;;A;AAGE;A;AAEA;A;AAEA;A;AAEA;A;AAED;A;;AAED;A;;;;;AAMA;;;AACA;AACA;A;;;;;A;AAKC;A;AAED;AAKA;AACA;;AACC;A;AAEC;A;A;AAGA;AACA;A;AAED;;;A;AAEC;A;AAED;A;A;A;;;;;A;AAMD;AACA;AACA;;A;AAKE;AACA;AACA;A;AAEM;A;AAEN;A;AAEC;A;AAED;A;A;AAIC;AACA;AACA;A;AAEA;AACA;AACA;A;AAEA;AACA;AACA;A;AAEA;AACA;AACA;A;AAEA;AACA;AACA;A;AAEA;AACA;AACA;A;AAEA;AACA;A;AAEC;A;AAED;A;AAEC;AACG;A;AAEF;AACA;AACA;A;AAGD;A;AAED;A;AA3CA;A;A;A;AAgDD;A;AAIA;AACA;AACA;A;AAIA;;;AACA;AACA;A;A;A;;;;;A;;;A;ACjfD;A;AAED;;;;;;A;A;AAQG;A;A;;AAIH;A;;;AAwNA;AACA;AACA;A;;;;AAM4B;A;;;;;AAEK;;;;A;;;;;AAGjC;;;;;;A;AAEE;A;A;AAGA;A;A;;AAGF;A;;;;;;AAQA;AACA;AAGA;AACA;AAGA;AAGI;AAEJ;;AACC;;;;AACA;;;;AAEA;;;;;AACC;;A;AACC;;A;AAED;AAGI;;;;AACH;;AACA;AACA;;;A;AACC;AACA;;;A;AACC;;A;AAED;;;;;A;AARgC;A;A;A;A;AAAA;A;A;AAkBjC;AACA;;A;AAnBiC;A;A;AAsBjC;;;A;AAEC;A;AAED;AACA;AACA;AAEA;AACA;;;;;;A;AAEC;;A;AAID;AACA;;A;A;;A;AAOE;A;A;A;AAKF;;;;;A;AACC;A;AAEC;A;AAED;A;AAaC;A;AApE+B;A;A;AA0EjC;AACA;;A;AACC;;;A;AA5EgC;A;A;;A;AAkFpC;;AACC;A;AAKC;A;A;AAGA;A;A;AAGA;A;AAED;A;AASD;AACI;;;;;;AAGH;AACA;AACI;;;AACH;A;AAEC;A;AAHwC;A;A;AAOzC;AAZuC;A;A;AAexC;;;A;AAEC;A;AAjBuC;A;AAqBzC;AACA;AAEA;A;;;;A;AAcC;A;AAED;A;;;;AAOG;;;A;AACF;A;AAED;;;;;;AACA;A;;;;ACvsCA;AACA;AACA;;;;;A;AAEE;A;AAED;A;AAEC;A;AAGA;A;A;;A;AAID;A;A;AAGA;A;AAED;A;;;AAQA;;;;;A;AAEE;A;AAED;A;A;AAGE;A;A;AAGE;A;A;AAGD;A;A;AAGF;AACA;;A;AAID;;;A;A;A;AAIE;A;A;A;AAIA;A;A;AAGD;A;AAED;A;;A;AAIA;A;AAED;A;;;A;AASC;A;AAED;;;;;;AACC;A;AAEC;;A;A;A;AAIC;A;A;AAGD;A;A;;AAGF;A;;;A;AASC;A;AAED;;;;;;A;AAEE;A;A;;AAGF;A;;;;ACjGsC;A;;;;;AAwEtC;AACA;AACA;AACA;A;;;;;;A;AAOC;A;A;AAGA;A;AAED;;A;AAEC;A;A;AAGA;A;AAED;A;;;;;;AAKA;A;;;;;AAMA;AACA;A;AAEC;AACA;A;AAEA;A;A;;;;AAKD;A;;;A;AAMC;A;A;AAGA;A;AAED;A;;;A;AAMC;A;A;A;AAIA;AACA;AACA;A;AAEA;AACA;AACA;A;AAEA;AACA;A;AAEA;AACA;A;AAEA;AACA;A;AAEA;AACA;A;AAEA;AACA;A;AAEA;AACA;A;A;AAGA;AACA;A;AAED;A;;;A;AAMC;A;A;AAGA;AACA;AACA;A;AAED;A;;;A;AAMC;A;A;AAGA;AACA;A;AAED;A;;;AAMA;A;AAGC;AACA;AACA;A;A;AAGA;AACA;A;AAED;A;A;A;AAIE;AACA;AACA;A;AAED;A;A;AAGC;AACA;AACA;A;A;AAGA;AACA;A;AAED;A;A;AAGC;AACA;A;A;AAGA;AACA;A;AAED;A;AAED;A;;;A;AASC;A;AAED;A;;;A;AAMC;AACA;A;A;AAGA;AACA;A;A;AAGA;A;AAED;A;;;A;A;AAOC;AACA;A;AAEA;AACA;A;AAED;A;;;A;AAMC;AACA;A;AAGD;A;;;A;AAMC;AACA;A;AAGD;A;;;A;AAMC;AACA;A;AAGD;A;;;A;AAMC;AACA;A;AAGD;A;;;A;AAMC;AACA;A;A;AAGA;AACA;A;AAED;A;;;A;AAOC;AACA;A;AAED;A;;;A;AAMC;AACA;A;A;AAGA;AACA;A;AAED;A;;;A;AAOC;AACA;A;AAED;A;;;A;AAOC;A;A;AAGA;AACA;A;AAED;A;;;A;AAOC;AACA;A;AAED;A;;;A;AAOC;AACA;A;AAED;A;;;A;AAQC;A;AAED;A;;;A;AAMC;AACA;A;AAED;A;;;A;AAMC;AACA;A;AAED;A;;;A;AAMC;AACA;A;AAED;A;;;A;AAMC;AACA;A;AAED;A;;;A;AAMC;AACA;A;AAED;A;;;A;AAMC;AACA;A;AAED;A;;;A;AAMC;AACA;A;AAED;A;;;A;AAMC;AACA;A;AAED;A;;;A;AAMC;AACA;A;AAED;A;;;A;AAMC;AACA;A;AAED;A;;;AAMA;A;;;;AAKA;AACA;AACA;A;;;;A;AAOC;A;A;AAGA;A;AAID;AACA;A;;;AC5hBA;A;;;;;AAKiC;A;;;;;AAKY;A;;;;;;A;AAS5C;A;AAGE;;A;AACF;A;A;AAIA;A;AAID;;;;A;AAEC;A;AAED;AACA;AAKA;;AAGA;AAEA;A;;;;;;AAMA;A;;;;;;AAMA;AAEA;AACI;AAEJ;AAEC;;;;;;AACC;AACA;;A;AAEC;AACA;A;AAKD;;;;;A;AACC;AACA;A;A;AAGA;AACA;A;A;;AAGF;AAIA;;A;AACC;;A;AACC;;;A;AACC;A;A;AAGA;A;A;AAGF;AACA;A;AAGD;AACA;;AACA;A;AAED;A;;;;;;;A;AAOC;AACA;AACA;AACA;A;A;AAMA;AACA;AACA;A;AAID;;;;AACA;AAEA;A;;;;;AAIA;;;;;A;AAEE;A;A;;AAGF;A;;;;;A;AAsIA;;;A;AACC;;;;A;AAEC;A;A;AAGA;A;AAED;AACA;A;A;AAEA;;;;A;AAEC;A;A;AAGA;A;AAED;AACA;A;A;AAED;A;;;;;;A;A;AAMC;A;AAED;A;;;;;A;A;AAMC;A;AAEA;A;A;;;;;AAQD;A;;;;;;AAeA;;;AACC;;;;A;AAEC;A;A;AAGD;;;;;;;;A;A;AAEE;A;AAED;AACA;AACA;AACA;A;A;AAIC;A;AAED;AACA;AACA;AACA;AACA;A;A;AAIC;A;AAED;AACA;AACA;AACA;A;A;AAIC;A;AAED;AACA;AACA;AACA;AACA;A;A;AAIC;A;AAED;AACA;AACA;A;A;AAGA;;A;AACC;AACA;AACA;A;A;AAGA;AACA;AACA;A;AAED;A;AAGA;;A;AACK;AACJ;AACA;AACA;;AACA;A;AAEC;A;AAED;AACA;A;A;AAMA;A;AAEG;AACD;;A;AACF;A;AAED;A;A;AANC;A;AAEG;AACD;;A;AACF;A;AAED;A;A;A;A;;;;;;;AAME;A;A;AAGH;A;AAEA;A;AAEA;A;AAEA;A;AAEA;A;AAEA;A;AAED;A;;;;;;AAMA;;;;AACA;A;;;;;;;AAII;AACJ;AACK;;;AACH;A;AADqC;A;A;AAKrC;AACA;A;A;AAIA;A;AAED;;A;A;;;;;;;AAKD;A;;;;ACteG;A;AACF;A;AAED;A;;;;A;AAQC;A;AAED;AACA;;AACK;AACJ;A;AAEC;;;;A;A;AAGA;A;AAED;A;AAED;A;;;;;;;;;;;;;;;;;;;;;;;;;;;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;;A;A;A;;A;A;;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtBA;A;;;;;AASA;A;;;;;AAKA;A;;;;;AAMA;AACA;;;;;AACC;AACA;A;;A;;;;;ACrCD;A;;;;;AAKA;A;;;;;AAKA;A;;;;;AAKA;;;;;A;AAGE;A;A;;AAGF;A;;;;;;AAKA;;;;;;AACC;;;A;AACC;A;A;;AAGF;;A;;;;;;;AAKA;;A;AACC;;A;AAGD;;A;;;;;AClCA;A;;;;;AAWA;AACA;AACA;A;;;;;AAI8B;A;;;;;AAGF;A;;;;;AAI5B;AACA;A;;;;;ACjBA;A;;;;;AAKA;A;;;;;AAWiC;A;;;;;AAGA;A;;;;;AAGC;A;;;;;;;;;;;;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACoBlC;A;;;;;;AAKA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;A;AAKC;A;AAED;AACA;;A;;;;;;;AAKA;;;;A;AAEC;A;AAED;;A;;;;;;;A;AAKC;A;AAED;AACG;;;AAAH;;A;A;AAEE;A;AAED;;A;AACS;;;AAAH;;A;AAEN;;AAEA;;;;;AAEA;;A;AACC;;;;;A;AAGD;;;;;AACC;;AACA;A;;A;A;AAGF;A;;;;;;AAKG;;;AAAH;;A;A;AAEE;A;A;AAGA;A;A;;AAEQ;;;AAAH;;A;AACF;;;AACH;;;;A;AAEC;A;AAHiB;A;A;A;AAOpB;;A;;;;;;AAMI;;;AACH;;;;;A;AACK;;;AACH;;;;;A;AACC;;;;;;AAEA;A;AAEC;A;AAED;A;AAEC;A;AAED;A;AAEC;A;A;AAdgB;A;A;AAFF;A;AAsBnB;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;A;A;A;A;A;A;A;A;;;ACrRA;;;;;AACC;AACA;AAEA;AACA;AACA;;AAGA;AACA;A;;A;;;A;;;AA6BD;;;;;;A;A;;A;;;AACC;;AAEA;A;;A;;;A;;;AAUG;AACJ;;;;;;A;A;;A;;;AACC;AACA;AACA;AACA;A;;AAGD;;;;;;A;A;;A;;AACC;;;;;;A;A;;A;;AACC;;A;AACC;;A;AAGD;;AAGA;AACA;A;;A;;AAIF;;;;;;A;A;;A;;;AACC;AACA;AACA;A;;A;;;A;;;AAxDD;;AAEA;;;;;;A;A;;A;;;AACC;;;;AACA;;A;AACC;;AACA;A;AAGD;A;;A;;;;;;;;;;;;;;;;;;;A;A;A;A;A;A;A;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACyCG;AAOJ;;A;AAEC;A;A;AAIA;A;AAID;AAEA;;;;;AACC;A;;AAGD;;;;;AACC;A;AAEC;A;A;;AAIF;AAEA;A;;;;;;A;A;A;A;A;A;A;A;A;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxGgC;A;;;;;A;AAyI/B;A;AAED;A;;;;;AAKA;A;;;;;;AAYA;;;;;A;AACC;A;A;AAEA;A;A;AAEA;;;A;A;AAEA;;;A;;AAEA;;;A;A;A;;;;;;;;AAMD;AAGA;;A;AACC;A;A;;;;;;;;AAOD;;;A;AAEC;AACA;A;AAGA;A;;A;AAIC;A;AAED;A;A;AAGD;;A;AAEC;A;;AAEA;A;AAGD;;A;;;;;;;AAOA;;A;AACC;A;AAID;;;;;;AACC;AACA;;;A;AAEE;A;A;AAGA;A;AAED;A;;;A;;AAKF;;;;;;A;A;;A;;;AACK;A;AAEJ;;;A;AACC;;;A;A;AAEA;;;A;;AAEA;A;A;AAED;;A;AACC;A;A;;AAKF;;;;;;A;A;;A;;;AACC;;A;AACC;;A;A;;AAKF;;AACA;;;;;;A;A;;A;;AACI;;AAAH;;A;AACC;;A;A;;AAKF;;AACA;;;;;;A;A;;A;;;AACC;;A;AACC;A;A;;AAKF;;AACA;;;;;;A;A;;A;;;AACC;AACA;;A;AACC;;A;A;;AAKF;;;;;AACC;;A;;AAID;;A;AACC;A;A;;;;;;;;AAQD;;;;;;A;A;;A;;AACI;;AAAH;;A;AACC;A;A;;AAKF;;;;;;A;A;;A;;AACI;;AAAH;;A;AACC;;A;A;;AAKF;;AACA;;;;;;A;A;;A;;AACI;;AAAH;;A;AACC;;A;A;;AAKF;;AACA;;;;;;A;A;;A;;AACI;;AAAH;;A;AACC;A;A;;AAKF;;AACA;;;;;;A;A;;A;;AACI;;AAAH;;A;AACC;;A;A;;AAKF;;;;;AACC;;A;;A;;;;;;;;;AAOD;AACA;AACA;;;;;;AAEC;A;A;A;AAME;AACA;A;A;A;AAKD;AACA;A;AAQA;AACA;AAED;;;A;AAEC;A;AAED;;A;AACC;;A;AAEC;A;A;A;AAIC;A;AAEE;;A;AACF;A;AAGD;AACA;A;A;AAOF;;A;AACI;;;AAAH;;A;AACC;;;;AACA;;A;AAED;;;;;AACA;;A;AACC;;A;AAED;AACG;;;A;AACF;A;AAED;AAKA;AACA;;A;AAGG;A;AAEH;A;A;AAIG;;;A;AACF;AAGA;A;AAEA;A;A;AAIE;AAGD;;AAAH;;A;AACC;;A;AAMD;;A;AAIC;;A;AACC;;A;;AAEA;;A;A;AAKF;;A;AACC;;A;AAKE;;;AAAH;;A;AACC;;;;AACA;;A;AAKE;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CA;AACA;;;;A;;;;;;A;AAqBC;A;A;AAGA;A;AAED;A;;;;AAQG;;;A;AACF;A;AAED;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;;;;;;AACI;;;A;AACF;A;A;;AAGF;A;;;;;AAIA;A;;;;;AAGA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;A;AAOC;A;A;AAGA;A;AAED;;;A;AACC;A;A;;;;;;A;AC1vCA;A;AAED;;;A;;;;;;ACgBA;AACA;A;;;;;AAQA;AACA;A;;;;;AAKA;A;;;;;AAyBA;;;;;A;A;AAEC;A;A;A;AAEA;A;A;A;AAEA;A;;A;AAEA;;A;A;;;;;;;AAamC;A;;;;;;AAMpC;;A;AAEE;A;AAED;A;A;;;;A;AAoBA;A;AAED;;A;AAEE;A;AAED;A;A;;;;AAiCD;AACA;;A;AAEE;A;AAED;;;;;AACC;A;;A;A;;;;AAQF;;;;;A;AAEE;A;A;;A;;;AAOF;;;;;;A;AAEE;A;A;;AAGF;A;;;;;AA+BA;;;;;AACC;;A;AACC;;A;AAED;A;;A;;;;;;AAcD;A;;;;A;AAMC;A;AAED;A;;;;A;AAMC;A;AAED;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;A;A;;A;A;A;A;;;;;;;;;;;;AC9HA;;A;;;;;;AAgBA;;A;;;;;;AAQA;;A;;;;;;AAwGA;;A;;;;;;AA6EA;;A;;;;;;AAQA;;A;;;;;;AAgBA;;A;;;;;;AAmDA;;A;;;;;;AAiCA;;A;;;;;;AAsBA;;A;;;;;;AAiJA;;A;;;;;;A;;;;;;;;;;;ACpaA;A;;;;AA2TA;A;;;;AAeA;A;;;;;A;;;;;;;;;;;;;;;ACheA;A;AAGC;A;AAGG;AAEJ;;;;;A;AAEE;A;AAEA;A;A;;AAIF;;A;AACC;;A;AAGD;A;;;;;;A;A;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzBA;A;;;;;;AAMA;;A;;;;;;AAKA;A;;;;;AAKA;A;;;;;;AAMA;;;AACA;;AAEA;;A;;;;;;AAKA;A;;;;;AAKA;A;;;;;;A;AASC;A;A;AAKA;A;AAGD;;AAEA;;A;AACC;;A;AAGD;AACA;A;;;;;;;AAMA;;;AACA;;A;;;;;;;AAYA;;A;;;;;;;AAMA;;;;A;AAEC;A;AAGD;A;;;;;;;;AAMA;A;AAMC;AACA;A;AAED;;;AACA;AAEA;;;;A;AAEC;A;AAGD;;A;;;;;;AC7GA;;A;;;;;;;AAsDA;AACA;AACA;A;;;;;;;A;AAOC;A;AAGD;;AAEA;;;;;AACC;AACA;;AACA;AACI;AAEJ;;;A;AAEC;A;AAKD;;A;AACC;;;AACA;;AAEA;;;A;AACC;;A;A;AAIF;;A;AACC;;AAEA;;;AACA;;A;AACC;;A;A;A;AAKA;A;A;;AAGD;;A;AAGD;;A;AACC;;;;AACA;;A;AACC;;A;AAED;;A;A;AAIA;;;;;;A;A;;A;;AACC;A;;A;AAGD;A;A;;A;;;;;;;;AA4BF;;AAEI;AAEJ;;;;;AACC;;AAEA;;AAIA;;A;AACC;;;AACA;;AAEA;;;A;AACC;;A;A;AAIF;;A;AACC;;;;AACA;;A;AACC;;A;AAED;;A;AAGD;;;;A;AAGC;;;;;A;;AAEA;;A;A;;AAIF;A;;;;;;;AAWA;;A;;;;;;;AAWA;;AAEA;AAEA;;;;;;AACC;A;;AAGD;A;;;;;;AAIA;;A;AACC;;A;AAGD;AAEI;AAEA;;;;AACH;;AAEG;A;AAH0B;A;A;AAO7B;;AAKA;AAZ6B;A;AAgB9B;A;;;;;;AAMA;;;;A;AAEC;A;AAGD;A;;;;;;;AAOA;AAEA;;;;A;AAEC;A;AAGD;;A;;;;;;;AAwBA;;AAEA;;;;;AACC;;AAEA;;AAEA;;;;A;AACC;;;A;AAEC;A;AAGD;;A;AAID;;;AAGA;;AAEA;;;A;AACC;A;A;;AAIF;A;;;;;;;AAoBA;;AAEA;;;;;AACC;;AAEA;;AAEA;;;;A;AACC;;;A;AAEC;A;AAGD;;A;AAID;;;AAGA;;AAEA;;;A;AACC;A;A;;AAIF;A;;;;;;;AAMA;;A;;;;;;;AAOA;AAEI;AAEA;;;;AACH;;A;AAD6B;A;A;AAQ1B;A;AAR0B;A;A;AAY7B;AAZ6B;A;AAe9B;A;;;;;;AAIA;;AAGA;;AACC;;A;A;AAIA;A;AAGD;A;;;;;AAMA;;;A;;;;;;AAYA;;;A;;;;;;AAkBA;;;A;;;;;;AAMA;;;A;;;;;;AAMA;;AACA;;A;AACC;;A;A;AAKA;A;AAGD;A;;;;;;;AAYI;AAEJ;;;AACA;;A;AACC;;A;A;AAID;;;;A;AACC;;;AACA;AACA;;AAIA;;A;AACC;;A;;AAEA;A;A;A;AAID;A;;AAEA;;A;AAEC;;AACA;;;A;AACC;;A;A;A;AAMF;;;;;;;;;;A;AAGC;AACA;;;;;;AACC;;;;A;;AAED;AACA;A;AAID;;A;A;AAEA;;;A;AACC;;AACA;A;AAOD;;;;;;;;;;;;;A;AAGC;;AACA;A;AAGD;AACI;;;AACH;;;AAD0B;A;AAG3B;A;;AAEA;;A;A;AAGD;A;;;;;;AC7jBA;;;;;A;AAEE;A;A;;AAIF;A;;;;AAcA;AACA;A;;;;;;;;;;A;A;A;A;A;A;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;AC7CA;A;;;;;ACCA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;AACA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;;AAQA;;A;;;;;;AAIA;A;;;;;AAIA;A;;;;;AClGA;A;;;;;;AAIA;;A;;;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;ACxBA;A;;;;;;AAIA;;A;;;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AC3BA;A;;;;;;AAIA;;A;;;;;;;AAQA;A;;;;;AAIA;A;;;;;AChBA;A;;;;;;AAIA;;A;;;;;;;AAQA;A;;;;;AAIA;A;;;;;AChBA;A;;;;;;AAIA;;A;;;;;;;AAQA;A;;;;;AAIA;A;;;;;AChBA;A;;;;;;AAIA;;A;;;;;;;AAQA;A;;;;;AAIA;A;;;;;AChBA;A;;;;;;AAIA;;A;;;;;;;AAQA;A;;;;;AAIA;A;;;;;AChBA;A;;;;;;AAIA;;A;;;;;;;AAQA;A;;;;;AAIA;A;;;;ACXA;A;;;;;AAMA;AACA;A;;;;;AAIA;AACA;A;;;;ACdA;A;;;;ACAA;A;;;;;ACAA;;A;AAEI;;;AAAH;;A;AACC;;A;A;A;;;;;ACJF;A;;;ACqBA;A;;;;ACrBA;A;;;;ACHA;A;;;;ACAA;A;;;;;AAMA;AACA;A;;;;;AAIA;AACA;A;;;ACLA;A;;;;ACFA;A;;;;;ACCA;;;A;;;;;;AAMA;A;;;;;AAIA;A;;;;;ACNA;A;;;;;AAIA;A;;;;;AAIA;A;;;ACbA;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;A;A;A;A;A;A;;;;;;;;;;;ACsDA;A;;;;;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrDA;;;;;;;;;A;;;;;AAeA;AACA;AAKA;A;;;;;AAOA;A;;;;ACvBA;A;;;;;;AAOA;;AACA;;;;;;;;;;A;;;;;;AAwBA;AACA;;;A;AAEC;A;AAGD;AACA;A;;;;;AAKA;A;;;;;A;AAMC;AACA;A;AAGD;A;;;;;;AC1DA;;AACA;;;;;;A;;;;;AAaA;A;;;;;AAMA;A;;;;;AAIA;A;;;;;AAKA;A;;;;;;AAKI;AACJ;AACA;;A;AACC;A;;AAEA;;A;AAED;A;;;;;;;;;;;;A;A;A;A;A;A;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtCA;AACA;A;;;;;;;;AAKA;;A;AACC;A;A;;;;;;;;AAMD;;AACA;A;;;;;A;AA2BC;A;AAED;A;;;;AAaA;A;;;;;;;;A;A;A;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;A;ACtEC;A;AAGD;AAEA;A;AAGC;AACA;A;AAGD;A;;;;;AAIA;A;;;;ACVA;AACA;A;;;;;AAMA;A;;;;ACZI;AACJ;AAWA;;;;;AACC;A;;AAGD;AAaA;;;;;AACC;A;;AAGD;AACA;AAEA;A;;;;;ACrCA;A;A;AAGC;A;A;;;;;ACCD;AACA;;;;A;AAEC;A;AAGD;;AAEA;AACA;AACA;AACA;AAEA;A;;;;;ACjBA;AACA;AACA;A;;;;AAKA;AACA;AACA;A;;;;;;ACRA;AACA;AAEA;AACA;AAEA;AACA;AAEA;AACA;A;;;;;;;;AAIA;AACA;AACA;AACA;;;;;;A;A;;A;;AACC;;AACA;AACA;A;;A;;;;;;;;AAKD;AACA;;;;;AACC;AACA;AACA;AACA;AAEI;AACJ;AACA;AAEA;AACA;A;;A;;;;;;;ACJD;AACA;AACA;;AACA;AAKA;A;;;;;;;AAKA;;;;;;;;;;;;;;;;;;;;;A;;;;;;;AA2CA;AACA;AAEA;AACA;AAEA;AACA;AAEA;AAEA;AAEA;A;;;;;;;AAIA;AACA;AACA;AACA;;;;;;A;;;;;;AAIA;;;;;;A;;;;;;;AAeA;;A;;;;;;;;AAII;;;AACH;;AACA;AACA;AACA;AAJiC;A;AAMlC;AACA;A;;;;;;;;AC5IA;AACA;AAEA;AAEA;AACA;A;;;;;;;;AAKA;AACA;AAEA;AAEA;A;;;;;;;AAKA;A;;;;;;;;;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;;A;A;A;A"} +{"version":3,"file":"whispervis.js","sources":["/github.com/gopherjs/gopherjs/js/js.go","runtime.go","/runtime/error.go","/errors/errors.go","atomic.go","pool.go","sync.go","/sync/mutex.go","/sync/pool.go","/sync/runtime.go","/sync/rwmutex.go","unicode.go","/unicode/digit.go","/unicode/graphic.go","/unicode/letter.go","/unicode/utf8/utf8.go","bytes.go","/bytes/buffer.go","/bytes/bytes.go","/bytes/reader.go","math.go","/math/abs.go","/math/bits/bits.go","/strconv/atof.go","/strconv/atoi.go","/strconv/decimal.go","/strconv/extfloat.go","/strconv/ftoa.go","/strconv/itoa.go","/strconv/quote.go","reflect.go","swapper.go","/reflect/type.go","/reflect/value.go","/encoding/binary/binary.go","/encoding/base64/base64.go","syscall.go","syscall_unix.go","/syscall/dirent.go","/syscall/exec_unix.go","/syscall/route_bsd.go","/syscall/str.go","/syscall/syscall.go","/syscall/syscall_bsd.go","/syscall/syscall_darwin.go","/syscall/syscall_darwin_amd64.go","/syscall/syscall_unix.go","/syscall/zsyscall_darwin_amd64.go","/github.com/gopherjs/gopherjs/nosync/map.go","/github.com/gopherjs/gopherjs/nosync/mutex.go","/github.com/gopherjs/gopherjs/nosync/once.go","time.go","/time/format.go","/time/time.go","/time/zoneinfo.go","fd_poll_js.go","/internal/poll/fd.go","/internal/poll/fd_mutex.go","/internal/poll/fd_posix.go","/internal/poll/fd_unix.go","/internal/poll/sockopt.go","/internal/poll/sockopt_unix.go","/internal/poll/sockoptip.go","/internal/poll/sys_cloexec.go","/internal/poll/writev.go","/internal/testlog/log.go","os.go","/os/dir.go","/os/dir_unix.go","/os/error.go","/os/error_posix.go","/os/error_unix.go","/os/file.go","/os/file_posix.go","/os/file_unix.go","/os/getwd_darwin.go","/os/path_unix.go","/os/proc.go","/os/stat.go","/os/stat_darwin.go","/os/stat_unix.go","/os/types.go","/os/types_unix.go","/os/getwd.go","/fmt/format.go","/fmt/print.go","/fmt/scan.go","/sort/slice.go","/sort/sort.go","/sort/zfuncversion.go","strings.go","/strings/strings.go","/unicode/utf16/utf16.go","/encoding/json/decode.go","/encoding/json/encode.go","/encoding/json/fold.go","/encoding/json/scanner.go","/encoding/json/stream.go","/encoding/json/tags.go","/github.com/divan/graphx/graph/graph.go","/github.com/divan/graphx/graph/helpers.go","/github.com/divan/graphx/graph/link.go","/github.com/divan/graphx/graph/node.go","/log/log.go","/github.com/divan/graphx/layout/config.go","/github.com/divan/graphx/layout/force.go","/github.com/divan/graphx/layout/force_drag.go","/github.com/divan/graphx/layout/force_gravity.go","/github.com/divan/graphx/layout/force_spring.go","/github.com/divan/graphx/layout/integrate.go","/github.com/divan/graphx/layout/layout.go","/github.com/divan/graphx/layout/object.go","/github.com/divan/graphx/layout/octree.go","/github.com/divan/graphx/layout/force_rules.go","/github.com/divan/graphx/formats/d3json.go","/github.com/gopherjs/vecty/dom.go","/github.com/gopherjs/vecty/domutil.go","/github.com/gopherjs/vecty/markup.go","/github.com/gopherjs/vecty/elem/elem.gen.go","/github.com/gopherjs/vecty/event/event.gen.go","/github.com/bep/gr/support/support.go","/github.com/fatih/structs/field.go","/github.com/fatih/structs/structs.go","/github.com/fatih/structs/tags.go","/github.com/lngramos/three/cameras_perspective_camera.go","/github.com/lngramos/three/core_face3.go","/github.com/lngramos/three/gen_geometry_basic_geometry.go","/github.com/lngramos/three/gen_material_line_basic_material.go","/github.com/lngramos/three/gen_material_mesh_phong_material.go","/github.com/lngramos/three/gen_object3d_ambient_light.go","/github.com/lngramos/three/gen_object3d_directional_light.go","/github.com/lngramos/three/gen_object3d_group.go","/github.com/lngramos/three/gen_object3d_line.go","/github.com/lngramos/three/gen_object3d_mesh.go","/github.com/lngramos/three/gen_object3d_scene.go","/github.com/lngramos/three/geometries_basic_geometry.go","/github.com/lngramos/three/lights_ambient_light.go","/github.com/lngramos/three/lights_directional_light.go","/github.com/lngramos/three/main.go","/github.com/lngramos/three/materials_line_basic_material.go","/github.com/lngramos/three/materials_material.go","/github.com/lngramos/three/materials_mesh_phong_material.go","/github.com/lngramos/three/math_color.go","/github.com/lngramos/three/math_vector3.go","/github.com/lngramos/three/objects_group.go","/github.com/lngramos/three/objects_line.go","/github.com/lngramos/three/objects_mesh.go","/github.com/lngramos/three/renderers_webgl_renderer.go","/github.com/lngramos/three/scenes_scene.go","/github.com/gopherjs/vecty/prop/prop.go","/github.com/status-im/whispervis/widgets/force_editor.go","/github.com/status-im/whispervis/widgets/force_input.go","/github.com/status-im/whispervis/widgets/loader.go","/github.com/vecty/vthree/renderer.go","/github.com/status-im/whispervis/animate.go","/github.com/status-im/whispervis/controls.go","/github.com/status-im/whispervis/geom_ethereum.go","/github.com/status-im/whispervis/keys.go","/github.com/status-im/whispervis/main.go","/github.com/status-im/whispervis/material.go","/github.com/status-im/whispervis/objects.go","/github.com/status-im/whispervis/page.go","/github.com/status-im/whispervis/scene.go"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+B4C;A;;;;;AAGW;A;;;;;AAGhB;A;;;;;AAGN;A;;;;;AAGQ;A;;;;;AAGc;A;;;;;AAGY;A;;;;;AAGX;A;;;;;AAGH;A;;;;;AAGrB;A;;;;;AAGI;A;;;;;AAGN;A;;;;;AAGI;A;;;;;AAGE;A;;;;;AAGA;A;;;;;AAGQ;A;;;;;AAGP;A;;;;;AASnC;A;;;;;AAKA;A;;;;AAsBA;A;;;;AAkDA;AACA;A;;;;;;;;A;;;;;;;;;;;;;;;;;;;;;;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/IA;A;;;;;AAGA;A;;;;AAIA;AACA;AACA;AACA;AAEI;AACJ;AACA;A;;;AAIA;A;AAEC;A;AAED;A;AAEC;A;AAID;A;;;;;;;;AAQA;A;A;;;;;;;;;A;AAIA;A;;;;;;;;;A;;;AA6BA;AACA;A;;;;;;AAQA;AACA;AAAyD;A;AACzD;;A;;;;;;A;;;;A;;;;AAyHA;A;;A;;;;;AClMA;A;AAEC;A;AAED;A;AAEC;A;AAED;A;AAEC;A;A;AAIE;A;AAEA;A;A;AAGF;A;AAED;A;;;;;A;;;;;AAUA;A;;;;;;;;;;A;A;A;A;;;;;;;;;;;;;;;;;;;ACpDA;A;;;;;AASA;A;;;;;;;;;;;;;;;;A;;;;A;;;;A;;;A;;;A;;;;A;;;;A;;;;;;;;;;;;;;;;;;;;;;;;A;AC8BC;AACA;A;AAED;A;;;;A;AAqBC;AACA;A;AAED;A;;;;AAoBA;AACA;AACA;A;;;;AA4BA;A;;;;AAYA;A;;;;AAYA;A;;;;AAQA;A;;;;;;A;;A;;;;;A;AAqBC;A;A;AAGA;A;AAED;A;;;;;;;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxKA;;A;AACC;;A;AACC;;A;AAED;A;AAED;AACA;AACA;A;;;;;;A;AAKC;A;AAED;A;;;;A;;;;ACHA;;A;AACC;A;AAEC;A;AAEA;A;AAED;;AACA;A;AAEC;A;A;A;A;;;;;;A;AAUF;A;AAEC;A;AAGD;AACA;AACA;A;AAEC;A;AAGD;A;A;;;;;A;;;AAQA;A;;AAMA;A;;;AAKA;A;;;;;A;A;ACHE;A;AAED;A;AAGG;AACJ;AACA;AACA;AACA;AACA;AAGC;;A;A;AAME;A;AAED;AACA;AACA;AACA;A;AAED;A;AAGC;A;A;AAGA;A;A;AAOA;A;A;A;AAMC;A;AAED;A;AAED;;A;A;AAEE;A;AAGD;A;AAEC;A;AAED;AACA;AACA;A;A;AAOE;A;AAED;A;AAOC;A;AAED;AACA;A;AAED;AACA;A;;AAEA;A;A;A;AAKD;A;A;;;;;;;;A;AAYA;AACA;A;AAID;A;AAEC;A;AAED;;A;AACC;AACA;A;AAQE;A;AAGD;AACA;;A;AACC;AACA;A;AAED;A;A;;AAOD;A;A;;;;;;ACcD;;;;;;AACC;AACI;;;AACH;AACA;AACA;;;;;AACC;A;;AAED;AANiC;A;AAQlC;AACA;A;;AAED;A;;AASA;A;;;AAIA;AACA;A;;;ACxMI;AACJ;A;;;;;;;;A;ACRC;AACA;A;AAED;;A;AAEC;A;A;AAGA;AACA;A;A;;;;;;;;A;AAUA;AACA;AACA;A;AAEE;AAAH;;A;A;AAEE;AACA;A;AAGD;;A;AAEC;A;A;A;AAID;A;A;;;;;;;;A;AASA;AACA;A;AAGD;AAEA;AAEA;;A;AACC;A;A;AAGA;AACA;AACA;A;A;;;;;;;;A;AAYA;AACA;AACA;A;AAID;A;AAEC;AACA;A;AAGG;;;AACH;AADuB;A;AAIxB;A;AAEC;A;A;;;;;;;AAOD;A;;;;;;AAK4B;A;;;;;;;;AACA;A;;;;;;;;;;;;;;;;;;;A;A;A;A;;A;A;A;A;A;;;;;;;;;;;;;;;;;;;;;A;A;A;A;A;A;A;A;A;A;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;A;A;;;;;A;ACzI5B;AACA;AACA;;AACC;AACA;A;AAEC;A;A;;;;;A;A;;;;;A;A;AAOA;A;AAEA;A;A;A;;;;;A;;;A;ACdD;A;AAED;A;;;;A;ACgFC;A;AAED;A;;;;A;ACAC;;;;;AACC;A;AAEC;A;A;AAGA;A;A;;AAGF;A;AAID;AACA;AACA;;AACC;AACA;A;AAEC;A;A;AAGA;A;AAEA;A;A;AAGF;A;;;A;AAMC;;;;;AACC;A;AAEC;A;A;AAGA;A;A;;AAGF;A;AAID;AACA;AACA;;AACC;AACA;A;AAEC;A;A;AAGA;A;AAEA;A;A;AAGF;A;;;AAiBA;AACG;A;AACF;A;AAED;A;AAEC;A;AAED;A;;;AAqEA;;AACA;A;;;;A;A;AAOE;A;AAED;A;AAED;A;;;;A;A;AAOE;A;AAED;A;AAED;A;;;;A;AAsEC;A;A;AAIA;A;AAID;AACA;AACA;;AACC;A;AAEC;A;AAEA;A;A;A;AAID;A;AAME;A;AACF;A;AAED;A;;;;;;;;;;;A;A;A;A;A;A;A;A;A;;;;;;;;;;;;;;;;;;;;;;AC3NA;A;A;;;;;A;AAIA;AACA;A;AAKC;A;;;;;A;AAGD;AACA;A;A;;;;;A;AAIA;A;A;;;;;A;A;A;;;;;A;AAOA;A;A;;;;;A;A;A;;;;;A;AAOA;A;A;;;;;A;A;;;;;A;;;;;;AAgBA;A;A;;;;;A;AAIA;AACA;A;AAKC;A;;;;;A;AAGD;AACA;A;A;;;;;A;AAIA;A;A;;;;;A;A;A;;;;;A;AAOA;A;A;;;;;A;A;A;;;;;A;AAOA;A;A;;;;;A;A;;;;;A;;;;A;AA4FC;A;AAEA;A;AAEA;A;AAEA;A;AAEA;A;AAEA;A;AAED;A;;;;AAOO;A;AAEN;AACA;A;AAEA;AACA;AACA;AACA;A;AAEA;AAGA;AACA;AACA;AACA;AACA;A;AAJA;AACA;AACA;AACA;AACA;A;AAEA;AACA;AACA;AACA;AACA;AACA;A;A;;;;AAOD;AACI;AACA;;;AACH;AACA;A;AAGC;AACA;A;AAED;A;AAEC;AACA;A;AAED;A;AAEC;AACA;A;AAED;AACG;A;AACF;A;A;AAES;A;AACT;A;A;AAES;A;AACT;A;A;A;AAED;A;AAED;A;;;;;AAKA;AACI;;;AACH;A;AAGC;AAJkB;A;A;AAOnB;A;AAEC;AATkB;A;A;AAYnB;A;AAEC;AAdkB;A;A;AAiBnB;AACG;A;AACF;A;A;AAES;A;AACT;A;A;AAES;A;AACT;A;A;A;AAED;AA3BmB;A;A;;A;;;;AAuEpB;AACI;;;AACH;A;AAEC;AACA;A;AAED;A;AAEC;A;AAED;A;AAEC;A;AAED;AACG;A;AACF;A;A;AAES;A;AACT;A;A;AAES;A;AACT;A;A;A;AAED;A;AAED;A;;;;A;AAQC;A;AAEA;A;AAED;A;;;;;;A;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClgBA;;;;;;A;AAEE;A;A;;AAGF;A;;;;A;AAKC;A;AAED;;;;;;A;AAEE;A;A;;AAGF;A;;;;;ACgCiC;A;;;;;A;AAShC;A;AAED;A;;;;;AAI+B;A;;;;;AAIH;A;;;;;AAIA;A;;;;;A;AAO3B;AACA;A;AAED;A;AAEC;A;AAED;A;;;;;AAOA;AACA;AACA;A;;;;;AAOG;A;AACF;AACA;A;AAED;A;;;;;AAOA;A;AAGC;A;AAGE;;;A;AACF;A;A;AAIA;AACA;A;AAED;A;AAMC;A;AAEA;A;AAGA;AACA;AACA;A;AAGD;AACA;AACA;A;;;;;A;AAUC;A;AAED;AACA;A;;;;;;;AAOA;AACA;;;A;AAEC;A;A;;;;;A;;;;;;;AASD;AACA;;;A;AAEC;A;A;;;;;A;;;;;;;;AAgBD;AACA;AACC;AACA;AACA;;;;A;AAEC;A;AAGD;AACA;A;A;;;;;A;A;A;;;;;A;A;A;;;;;;;AAcD;A;AAEE;A;A;AAGF;A;;;;;;;;AAQA;AACG;AAAH;;A;AACC;;;;A;AAEC;A;AAED;AACA;A;A;;;;;A;A;A;;;;;A;A;AAWD;A;;;;;A;;;;;;AASA;AACA;;;A;AAEC;A;AAED;AACA;A;;;;;;;A;AASC;A;;;;;A;AAGD;AACA;;;A;AAEC;A;AAED;AACA;A;;;;;A;;;;;;;AASA;A;AAGC;A;A;;;;;A;A;;;;;A;AAMD;AACA;A;AAEC;A;A;;;;;A;;;;;AAUD;AACA;A;AAEC;A;AAED;AACA;A;AAEC;A;AAED;A;;;;;A;AAQC;AACA;A;AAED;AACA;AACA;AACA;A;;;;;;;;A;AAWC;A;;;;;;;A;AAGD;A;AAEC;AACA;A;;;;;;;A;AAGD;;;AACA;AACA;A;;;;;;;A;;;;;A;AAWC;A;A;AAGA;A;AAED;AACA;A;;;;;A;AASC;A;AAED;A;AAEC;A;AAED;A;;;;;;;AAUA;;;AAGA;A;;;;;A;;;;;;;AAMA;AACA;A;AAEC;AACA;A;AAED;AACA;AACA;A;;;;;A;;;;;;;AAWA;;;A;;;;;A;;;;AAaoC;A;;;;AC0UpC;;AAEK;;;;A;AAEH;;;;A;AAEA;;;AACA;;;;A;A;AAGA;;;;A;AAEA;;;AACA;;;;A;A;AAOA;A;A;AAKA;;;;A;A;A;AAMC;A;AAED;A;AAKD;AACA;;AACC;A;A;AAGA;A;AAED;A;AAID;A;;;;;A;AClyBC;A;AAED;A;;;;;AAO+B;A;;;;;;;A;A;;;;;A;AAO/B;AACA;AACA;AACA;A;;;;;;;A;A;;;;;A;A;A;;;;;A;AAYA;A;AAEC;A;AAED;A;;;;;AAKA;A;AAEC;A;AAED;AACA;AACA;A;;;;;AAKA;A;AAEC;A;AAED;AACA;A;;;;;;;;A;AAMC;A;;;;;;;A;AAGD;AACG;A;AACF;A;;;;;;;A;AAGD;;;AACA;AACA;A;;;;;A;AAMC;A;AAED;AACA;AACA;A;;;;;AAKA;AACI;A;A;AAGH;A;AAEA;A;AAEA;A;AAEA;A;A;AAGA;A;AAED;AACA;A;;;;;;;;AAKA;A;A;;;;;A;AAIA;AACA;;;;A;AAEC;A;AAED;AACA;A;AAEC;A;AAED;A;;;;;;AAIkC;A;;;;AAGA;A;;;;;;;;;A;A;A;A;A;A;A;;;;;;;;;;;;;;;AChHlC;A;;;;AAeA;A;;;;A;AA0CC;A;AAEA;A;A;;;AAuED;A;;;;AAmBA;A;;;;AAYA;A;;;;AAyBA;AACA;AACA;AACA;A;;;AAIA;AACA;A;;;;AAIA;AACA;A;;;;AAIA;AACA;A;;;;AAIA;AACA;AACA;A;;;;ACjPA;A;;;;;A;;A;A;A;A;A;A;;;;;;;;;;ACkBmC;A;;;;A;AAwBlC;A;AAED;A;;;;A;AAoBC;A;AAGD;A;;;;A;AAMC;A;AAaD;A;;;;;A;AA2NC;AACA;A;A;AAGA;AACA;A;A;AAGA;AACA;A;A;;A;;;;;A;A;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;A;ACpTA;A;AAEG;;;AACH;A;AAEC;A;AAED;A;AAEC;A;A;AAGA;A;AAVuB;A;AAazB;A;;;;;A;AAKC;A;A;A;A;A;;;;;A;A;A;A;;;;;A;A;A;A;;;;;A;A;A;A;;;;;A;A;AAIA;A;AAkBD;A;;;;;AAIA;AACA;AACA;A;AAIC;A;A;AAIA;A;AAEA;AACA;A;AAID;AACA;AACA;;A;A;AAIG;A;AAED;AACA;AAPgB;A;A;AAWhB;A;AAEC;AAbe;A;A;A;AAiBf;AACA;A;AAEA;A;AApBe;A;A;AAwBjB;A;A;AAGA;A;A;AAGA;A;A;AASA;A;AAEC;A;AAED;A;AAEC;A;AAEA;AACA;A;A;AAGA;A;AAED;AACA;;A;AAEE;A;AAF8C;A;AAKhD;A;A;AAIA;A;AAGD;AACA;A;;;;;;;;;AAQA;A;AAIC;A;A;AAIA;A;AAEA;AACA;A;AAID;AACA;AACA;AACA;AACA;AACA;;AACQ;A;A;A;AAGL;A;AAED;AACA;AAPgB;A;A;AAWhB;A;AAEC;AAbe;A;A;AAgBhB;A;AAEC;AACA;AACA;A;AAEA;A;AAtBe;A;A;AA0BjB;A;A;AAGA;A;A;AAGA;A;A;AASA;A;AAEC;A;AAED;A;AAEC;A;AAEA;AACA;A;A;AAGA;A;AAED;AACA;;A;AAEE;A;AAF8C;A;AAKhD;A;A;AAIA;A;A;AAIA;A;AAED;AACA;A;;;;;;;AAQI;AACA;AAGJ;;A;AACC;AACA;AACA;A;AAMD;;A;AACC;A;AAED;;A;AAEC;AACA;AACA;A;AAID;AACA;;AACK;A;AAEH;A;AAEA;A;AAED;AACA;A;AAED;;AACK;A;AAEH;A;AAEA;A;AAED;AACA;A;AAID;A;AAMC;AACA;AACA;A;AAGD;;A;AACC;A;AAID;AACA;AAGA;;A;AACC;AACA;AACA;;A;AACC;A;A;A;AAMD;A;AAED;AAED;AAEC;AACA;AACA;AAED;AAEC;AACA;A;AAEC;A;A;;;;;A;;;;;;;A;AAsBA;A;AAED;A;AAEC;A;A;A;;;;;A;A;AAYC;AACA;A;A;AAIA;A;A;;;;;A;A;;;;;A;AAMF;A;;;;;A;AAOC;A;AAED;A;AAEC;A;A;A;;;;;A;A;AAWC;AACA;A;A;AAIA;A;A;;;;;A;A;;;;;A;AAMF;A;;;;;AAMG;;;A;A;;;;;A;A;AAMF;;;;;;A;A;AAIK;;;A;A;;;;;A;A;AAKJ;AACG;A;AACF;;;AACA;A;AAEC;A;A;;;;;A;A;A;AAMA;A;A;;;;;A;AAIJ;;;AACA;A;AAEC;A;A;;;;;A;;;;;AAME;;;A;A;;;;;A;A;AAMF;;;;;;A;A;AAIK;;;A;A;;;;;A;A;AAKJ;AACG;A;AACF;;;AACA;A;AAEC;A;A;;;;;A;A;A;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AAGA;A;A;AAGA;A;A;AAGF;A;;;;;;AAIA;A;A;;;;;A;A;;;;;A;A;;;;;A;AASA;A;;;;;;;A;AAoBC;AACA;A;AAEM;A;AAEN;AACA;A;AAEA;;;A;;;;;;;;;A;A;;;;;;;;;A;A;AAQA;AACA;A;AAED;AACA;AAEA;A;A;AAEC;A;AAEA;A;AAEA;A;AAEA;A;AAEA;A;AAEA;A;AAEA;A;AAEA;A;A;AAGC;A;AAEA;A;AAEA;A;AAEG;A;AAEH;AACA;A;AAEG;;;AACH;;;A;AAEC;AACA;A;AAED;AANkB;A;AAQnB;A;AAGC;AACA;A;A;AAGA;AACA;A;AAED;AACA;A;AAEA;A;AAEC;AACA;A;AAEG;;;AACH;A;AAEC;AACA;A;AAED;AANkB;A;AAQnB;A;AAEC;AACA;A;AAED;A;AAEA;A;A;AAGC;AACA;A;AAED;A;AAEA;AACA;A;A;AAED;AACA;A;;;;AASA;A;AAEC;A;AAED;A;AAEC;A;AAED;A;A;AAIE;A;A;AAIA;AACI;;;A;AAEF;A;AAFsB;A;AAKxB;A;AAED;A;A;AAGA;A;A;AAGA;A;A;A;A;A;AAQE;A;A;AAGD;;;A;AAEC;A;A;A;AAKC;AACJ;AACA;;AACC;;;;;A;AAEC;A;AAED;A;AAEC;A;AAEA;AACA;A;A;AAIA;A;A;AAGF;A;;;;AAKI;;;A;AAEF;A;AAFsB;A;AAKxB;A;;;AAMA;;;;AACA;;AACC;A;AAEC;A;AAEA;A;A;AAGF;A;;;AAMA;;;;AACA;;AACC;A;AAEC;A;AAEA;A;A;AAGF;A;;;A;A;AAiBE;A;A;AAIA;A;AAED;A;A;AAUA;;;;;;AACA;A;AAEC;A;AAED;AACA;A;AAGD;;;;;;AACA;A;AAEC;A;A;AAGA;A;AAED;AACA;AACA;A;;;;A;AAmBC;A;AAED;AACA;AACA;A;;;;;;;;;;;;;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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A;AAED;;;;;;;A;AAEA;;;;;;;A;AAEI;AACA;;;AACH;;;;;;;;A;AACC;A;AAFiB;A;AAKnB;A;A;AAGC;A;A;AAGA;A;AAEG;;A;AAEH;A;AAED;;;;;AACC;;AACA;;AACA;;;;;A;AACC;A;A;;AAGF;A;AAEA;A;AAEA;A;A;AAGD;;;A;;;;;;;;ACt9CA;;A;AAEC;A;AAGD;A;A;AAGC;;AAAwB;A;A;AAExB;;A;AAEE;A;A;A;AAIH;AACA;AACA;;A;AAEE;A;AAED;AACA;AACA;AACA;AACA;A;A;;;;;;AC2YD;A;;;;;AAIA;A;;;;;A;AAqKC;A;AAED;A;;;;;AAiKA;A;AAEC;A;AAED;A;;;;;AAGgC;A;;;;;A;AAI/B;A;AAED;A;AAEC;A;AAED;A;;;;;AAG6B;A;;;;;AAEK;A;;;;;AAEL;A;;;;;AAII;A;;;;;AAGjC;A;AAEC;A;AAED;A;;;;;A;AAKC;AACA;A;AAED;A;;;;;;;;A;AAuCC;A;;;;A;AAGD;A;A;;;;;A;AAKA;;;;;;AACC;;A;A;;;;;;A;A;;A;;;;;A;;;;;;A;AASA;A;AAED;A;AAEC;A;AAED;A;;;;;A;AASC;A;AAED;AACA;AACA;;A;AAEE;A;AAED;A;AAED;A;;;;;A;AAKC;A;AAED;AACA;A;;;;;A;AAKC;A;AAED;AACA;A;;;;;A;A;AAMC;AACA;A;AAEA;AACA;A;AAEA;AACA;A;AAEA;AACA;A;AAEA;AACA;A;AAED;A;;;;;A;AAKC;A;AAED;AACA;A;;;;;;A;AAKC;A;AAED;AACA;;A;;;;;;;A;AAKC;A;AAED;AACA;;A;;;;;;;A;AAKC;A;AAED;AACA;;A;;;;;;A;AAKC;A;AAED;AACA;A;;;;;A;AAKC;A;AAED;AACA;A;;;;;A;AAKC;A;AAED;AACA;A;;;;;A;AAKC;A;AAED;AACA;A;;;;;A;AAKC;A;AAED;AACA;A;;;;;A;AAKC;A;AAED;AACA;A;;;;;A;AAKC;A;AAED;AACA;A;;;;;A;A;AAwCC;A;AAEA;A;AAEA;A;AAED;A;;;;;;A;AAMC;A;AAED;AACA;AACA;A;AAEC;A;AAEC;A;A;AAGF;AACA;AACA;A;;;;;AAIyC;A;;;;;;;A;AAKxC;A;AAEG;AACJ;;;;;AACC;A;A;;;;;A;A;;AAKD;A;;;;;AAmCA;;AACA;A;;;;;;;AAaA;;AAEC;AACA;;AACC;A;AAED;A;AAEC;A;AAOD;AACA;;AACC;A;A;AAGA;A;AAED;AACA;AAGA;AACA;;A;AAEE;A;AAED;A;A;AAGA;A;AAED;AACA;A;AAGC;;;A;AAEC;A;A;;;;;A;A;A;;;;;A;;;;;;A;AAWF;A;AAED;AACA;AACA;AACA;A;AAEC;A;AAEE;A;AACF;A;AAED;AASA;AACA;A;;;;;;;AAQA;AACA;;;;;;AACC;;A;AACC;AACA;;;;;;;A;AACC;;A;AAED;A;AAED;;A;;AAED;A;;;;;;;;;AAoBA;AACA;AAQI;AAOJ;AAEA;;AACC;;;;AACA;AACA;AAMA;;;;;AACC;AACA;;A;AAIC;;A;AAED;AACA;;;;;AACC;AAEA;AACI;AACJ;;A;AAEC;AACA;;A;AACC;;A;A;AAKF;;;A;A;A;;;;;A;AAMC;AACA;AACA;AACA;AACA;AACA;;A;A;AAOA;;A;AAED;A;AAEC;AACA;;A;A;AAGA;A;AAED;A;AAEC;A;AAEG;AACJ;AACA;AACA;A;;A;;A;AAID;A;A;AAGF;A;;;;;;;;;;AAOA;A;AAEC;;;;;AACC;A;A;;;;;A;A;AAKC;A;A;;A;A;AAKF;A;A;;AAE8C;A;;;;;A;;;;;AAgB/C;A;;;;;;A;AAwDC;A;AAED;;;A;AACC;A;AAED;A;;;;;;;A;AAKC;A;AAED;AACA;;A;;;;;;;A;AAKC;A;AAED;AACA;;A;;;;;A;AAUC;A;AAED;A;AAEC;A;A;AAgBA;AACA;AACI;;;AACH;AACA;AACA;AACA;A;A;AAGE;A;AAEC;A;AAED;A;AAEC;A;A;AAb4B;A;A;A;AAmB3B;A;AACF;A;A;AApB6B;A;AAwBhC;A;AAGD;A;AAEC;A;AAED;AACA;AACI;;;AACH;AACA;AACA;AACA;A;A;AAGE;A;AAEC;A;AAED;A;AAEC;A;A;AAb2B;A;A;A;AAmB1B;A;AACF;A;A;AApB4B;A;AAwB/B;A;;;;A;AAWC;A;A;AAMA;A;AAID;;A;;;;;A;AAKC;A;AAGD;;;;;;;;A;AACC;A;AAGD;;;;;;A;;;;;A;AAKC;A;AAGD;A;AAEC;A;A;AAMA;A;A;AAKD;;;;;;;;A;AACC;;;;A;AAMA;;;;;A;AACC;A;AAID;;;;A;AAGA;AACA;A;AAEC;A;AAEG;;;AACH;;;A;AACC;A;AAFyB;A;AAKvB;;;AACH;;;A;AACC;A;AAF0B;A;AAK5B;A;AAGA;AACA;A;AAEC;A;AAID;A;AAGA;;;;;A;AAGA;;A;AAGA;AACA;A;AAEC;A;A;AAGA;A;AAED;;;;;AACC;AACA;A;AAEC;A;AAED;;;A;AACC;A;A;AAGA;A;A;AAGA;A;A;;AAGF;A;A;AAGD;A;;;;A;AAwzCC;A;AAED;A;;;AA+GA;A;;;;AC5+FA;A;;;;;A;AAKC;A;AAED;A;;;;;A;AAOC;A;A;AAGA;A;AAED;A;;;;;A;AAiEC;A;AAED;A;;;;;A;AAyCC;A;A;;;;;A;AAQA;A;A;AAGA;A;A;;;;;A;AASA;A;A;AAIA;A;A;AAGA;A;A;;;;;A;AAWA;A;AAED;A;;;;;AAMA;AACA;A;;;;;;AAMA;AACA;;;A;AACC;A;AAGD;A;;;;;;;AAMA;AACA;;;A;AACC;A;AAGD;A;;;;;;AASA;A;;;;;AASA;A;;;;;;AAYA;AACA;AACA;;A;;;;;;;AAWA;AACA;AACA;;A;;;;;;AAwZA;A;A;AAGC;A;AAEA;A;AAED;A;;;;;;AA6EA;;A;AACC;;A;AAED;AACA;;;;;;AACC;;A;AACC;;;;;A;A;AAEE;A;AAED;;A;A;AAGF;;A;;AAED;A;;;;;;;AAOA;AACG;;;;AAAH;;A;AACC;;A;AAED;A;;;;;;;AAQG;;;;AAAH;;A;AACC;;A;AAED;A;;;;;;AAMA;A;A;AAGC;A;AAEA;A;AAED;A;;;;;AAsDA;AACA;A;A;AAGC;A;AAEA;A;AAEA;A;AAEA;A;AAEA;A;AAED;A;;;;;A;AAMC;A;AAED;A;;;;;;;A;;;A;;;;;;AAwFA;A;;;;;AAMA;A;;;;;;AA8BA;AACA;AASA;;AAEI;A;AAEH;A;AAEA;A;AAED;A;AAEC;A;AAED;AACA;AACA;A;AAEC;A;AAID;AACA;AACA;A;;;;;;;AAQA;AACA;AACA;AAEA;AAEA;AACA;A;AAEC;A;AAED;AACA;AACI;AACA;;;AACH;;A;AAKC;A;A;AAKA;AACA;AACA;A;AAEA;A;AAED;AAjBsB;A;AAmBvB;A;;;;;;A;AASC;A;A;AAGA;A;A;AAGA;A;AAED;AACA;AACA;AACA;A;;;;;A;AAMC;A;A;AAGA;A;AAED;A;;;;;;A;AAUC;A;A;AAGA;A;AAED;;;;A;AAEC;A;AAED;A;;;;;;AAMA;AACA;AACA;A;;;;;AAMA;A;A;AAGC;A;AAEA;A;AAED;A;;;;;AAMA;A;A;AAGC;A;AAEA;A;AAED;A;;;;A;AAKC;A;AAED;A;;;;AAMA;A;A;AAGC;AACA;AACA;A;AAED;A;;;;;AAMA;A;A;AAGC;AACA;AACA;A;AAED;A;;;;;;;;AAsDA;AACA;A;;;;;A;;;;;;;;;AAOA;A;AAEC;A;AAED;AACA;AACI;A;AAEH;AACA;AACA;A;AAEA;A;AAED;;;;A;AAEC;A;AAED;A;;;;;;;AAOA;AACA;AACA;;A;;;;;;;;;AAMA;A;AAEC;A;AAED;AACA;;AACI;A;AAEH;A;AAEA;A;A;;;A;;;;;;AA0BD;AACA;AACA;A;;;;;;AAiBA;AACA;AACA;;;A;AACC;A;AAED;A;;;;;;;AAMA;AACO;A;A;AAIN;A;AAEA;A;AAJA;A;A;;;;;AAWD;AACO;A;A;AAIN;A;AAEA;A;AAJA;A;A;;;;;AAWD;AACO;A;A;AAIN;A;AAEA;A;AAEA;A;AAEA;A;AAEA;A;AAVA;A;A;;;;;;AA+CD;AACA;AACA;AACA;AACA;;AACI;A;AAEH;A;AAEA;A;A;AAGA;AACA;A;AAED;AACA;;AACI;A;AAEH;A;AAEA;A;AAED;A;;;;;;;AAMA;AACO;A;A;AAIN;A;AAEA;A;AAEA;A;AAEA;A;AAEA;A;AAEA;A;AAZA;A;A;;;;;AAmBD;AACA;AACA;A;;;;;AAMA;AACA;AACA;A;;;;;;AA4HO;A;A;AAEN;A;AAEA;A;AAID;;A;;;;;;;;;AASA;AACA;A;;;;;A;;;;;;;AASA;AACA;AACA;;A;;;;;;AAKA;A;AAEC;A;A;AAIA;A;AAKD;A;AAGC;A;AAEC;A;AAED;AACA;A;AAGD;A;AAEC;A;AAED;AACA;A;;;;;AAMA;AACA;A;A;AAGC;A;AAEA;A;AAEA;A;AAEA;A;AAEA;A;AAEA;A;AAED;A;;;;;A;AASC;A;A;AAGA;A;AAED;A;;;;;AAwCA;;A;AACC;;;A;A;;;;;;AAuTD;;A;;;;;;AAMA;;;A;AACC;A;AAED;AACA;AACA;A;;;;;A;AAkDC;A;AAED;AACA;AACA;AACA;A;;;;;;AAsDA;;A;AACC;;A;AAED;;;AACA;;A;AACC;;A;AAED;;A;;;;;;A;AAOA;;;;;;;A;A;A;AAGE;A;AAEA;A;AAEA;A;A;A;A;A;AAMA;A;AAEA;A;AAEA;A;A;A;A;A;AAMA;A;AAEA;A;AAEA;A;A;A;A;A;AAMA;A;A;A;AAID;;;;;A;A;;A;AAGE;A;AAEA;A;A;A;A;A;AAKF;;;;;A;A;;A;AAGE;A;AAEA;A;A;A;A;A;AAMH;;;A;AACC;A;AAID;;;;;;;;;A;AAGC;A;A;A;AAKC;A;AAED;A;AAGD;A;;;;;AAwBA;;AACA;A;A;AAGC;A;AAEA;A;AAED;A;;;;;AAMA;;AACA;A;A;AAGC;A;AAEA;A;AAED;A;;;;;AAIA;;AACA;AACA;AACA;A;;;;;AAIA;;AACA;AACA;AACA;A;;;;;AAIA;;AACA;AACA;AACA;A;;;;;AAUA;;A;;;;;AAKA;;A;;;;;AAKA;;A;;;;;AAKA;;A;;;;;AAKA;;A;;;;;AAKA;;A;;;;;AAKA;;A;;;;;AAKA;;A;;;;;AAKA;;A;;;;;AAKA;;A;;;;;AAKA;;;;;;A;;;;;AAKA;;;;;;A;;;;;AAKA;;;;;;A;;;;;AAKA;;;;;;A;;;;;AAoBA;;;AACA;;AACA;;;A;AACC;A;;AAEA;A;AAED;;A;;;;;AAKA;;A;AACC;;AACA;AACA;A;AAED;;;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;A;A;A;A;A;A;A;A;;;A;A;A;A;A;A;A;A;A;;;;;;;;;;;;;;;;;;;;;AC/2EA;AACA;A;;;;AAIA;AACA;AACA;A;;;;AAIA;AACA;A;;;;AAIA;AACA;AACA;AACA;AACA;A;;;;AAIA;AACA;A;;;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A;;;AAGkC;A;;;AAEE;A;;;;;;;A;A;A;A;;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;A;AClGnC;A;AAEG;;;A;AAEF;A;AAF4B;A;AAM9B;AACA;AACA;AAEI;;;AACH;AADiC;A;AAG9B;;;AACH;AAD6B;A;AAG9B;A;;;;;A;AAUC;A;AAGG;;;A;AAEF;A;AAF+B;A;AAMjC;AACA;A;;;;;AAOA;AACA;A;;;;;A;AAiCC;A;AAGD;;;;AACA;AACA;;AAEC;AAEA;AACA;AACA;AACA;AAEA;AACA;A;AAGD;A;AAEC;A;AAGD;A;AAEC;A;AAGD;AACA;A;A;AAIC;A;AAEC;A;A;A;AAIA;AACA;A;A;A;;;;;AAOF;AACA;AACA;A;;;;;A;AAqFC;A;AAED;A;;;;;AAUA;A;;;;;;;;AAUI;AACJ;;;;AAEI;;;A;A;A;;;;;;;A;A;;;;;;;A;AAQF;;;;AACA;A;AAED;AACA;AAEA;A;AAEC;AAhByB;A;A;A;AAqBzB;AArByB;A;A;A;A;;;;;;;A;A;A;A;;;;;;;A;AAqCzB;;AACC;A;A;A;;;;;;;A;A;A;;;;;;;A;AAWD;A;AAID;;AACC;A;A;AAIA;A;AAED;;;;AACA;A;AAID;AACA;;;;;;A;A;AAGC;AACA;AAGA;A;A;;;;;;;A;AAIA;AAGA;A;A;;;;;;;A;A;AAPA;A;A;;;;;;;A;AAIA;AAGA;A;A;;;;;;;A;A;AAAA;A;A;;;;;;;A;A;AAKD;A;;;;;;;A;;;;;AAOA;AACA;;;AACA;A;;;;;;;A;A;;;;;A;AA0FA;AACA;AACA;AACA;;AACI;A;AACF;AACA;A;AAEI;AACJ;;;;AACA;A;A;;;;;A;A;A;AAOF;;AACI;A;AACF;AACA;A;AAEI;AACJ;;;;AACA;A;A;;;;;A;A;A;AAOF;;AACK;AACJ;;;;AACA;A;A;;;;;A;A;A;;;;;A;;;;;AAYG;;;;AACD;A;AACF;A;AAED;AACG;A;AACF;A;AAED;AACG;A;AACF;A;AAED;AACG;A;AACF;A;AAED;AAEA;AACA;A;;;;;AAOI;;;;AACD;A;AACF;A;AAED;AACG;A;AACF;A;AAED;AACG;A;AACF;A;AAED;AACG;A;AACF;A;AAED;AACG;A;AACF;A;AAED;AACG;A;AACF;A;AAED;AACG;A;AACF;A;AAED;AACG;A;AACF;A;AAED;AAEA;AACA;A;;;;;A;AAsCC;A;AAGD;A;;;;;;;;;A;A;A;A;A;A;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxlBA;A;AAEE;AACA;A;A;A;;A;AAOD;A;AAED;A;;;AAIA;A;AAEC;AACA;A;AAGD;AACA;AACC;A;AAEC;A;AAED;AACA;A;A;;;AASD;A;;;;AAKA;;;;;;A;AAEE;A;A;;AAGF;A;;;AClDA;A;AAEC;A;AAED;AACA;AACA;AACI;;;AACH;AACA;AAFiC;A;AAIlC;A;;;;AAwBA;AACC;A;A;A;AAKC;A;AAED;AACA;A;AAEC;A;AAED;A;AAED;A;;;;;;;AAIG;A;AACF;A;;;;;;;A;A;AAIA;AACA;AACA;AACA;A;;;;;;;A;A;AAIA;A;AAED;A;;;;;;;A;;;;;;;AAKG;A;AACF;A;;;;;;;A;A;AAIA;A;A;;;;;;;A;;;;AAiCD;AACA;;;;;;A;AAEE;A;AAED;A;;AAED;AACA;A;;;;;;A;A;;;;;A;A;A;;;;;A;A;;;;;A;;;A;A;AC3GC;A;AAEA;AACA;A;AAEA;AACA;A;AAEA;AACA;A;AAGA;A;A;;;A;A;AAOA;A;AAEA;AACA;A;AAEA;AACA;A;AAEA;AACA;A;AAGA;A;A;;;;;;AASD;AACA;AACA;;AACC;;;A;A;;;;;;;A;AAIA;AACA;AACA;;;A;AAEC;A;A;AAGA;A;AAGD;;;A;AAEC;A;AAED;AACA;;;;;;A;AAEE;AACA;A;A;;A;AAKD;A;AAED;AACA;AACA;A;A;;;;;;;A;;;;ACHyB;A;;;;;AAG1B;;;A;A;;A;A;AAKC;A;AAEA;A;AAED;;A;;A;;;;A;;;A;;;ACvFA;A;AAIC;A;AAIA;A;A;AAOC;A;A;A;AAID;A;AAED;A;;;A;ACjCC;A;AAED;A;;;AAII;AACJ;AACA;;AACC;AACA;AACA;A;AAED;AACA;A;;;;;;A;;;;;A;;;;;ACuEA;A;;;;;;ACxBI;A;;;;A;;;;;A;AA8EH;A;AAED;AACA;AACA;AACA;AACA;AACI;;;AACH;AAD6B;A;AAG9B;;A;;;;;A;AAKC;A;AAED;AACA;AACA;AACA;AACA;AACA;AACI;;;AACH;AAD6B;A;AAG9B;;A;;;;;AAIA;AACA;A;AAEC;A;AAED;AACA;AACI;;;AACH;AADkB;A;AAGnB;;A;;;;;A;AAKC;A;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACI;;;AACH;AADiC;A;AAGlC;;A;;;;A;A;AAMC;;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACI;;;AACH;AAD6B;A;AAG9B;A;AAGA;;;A;AAEC;A;AAED;AAMA;AACI;;;A;AAIF;AACA;A;AALiB;A;AAQnB;AACA;AACA;A;AAGA;;;AACA;AACA;AACA;AACI;;;AACH;AAD6B;A;AAG9B;A;AAGA;;;AACA;AACA;AACA;AACA;AACI;;;AACH;AAD6B;A;AAG9B;A;AAED;A;;;;;;AAII;AACA;AACJ;;;A;AAEC;A;A;AAOA;A;;;;;;;A;AAGD;;;A;AAEC;AACA;A;AAED;A;;;;;;;;;AAkEI;AACA;AACJ;;;AACA;AACI;A;AAEH;AACA;A;AAEG;A;A;AAIF;AACA;A;AAED;AACA;A;AAED;AACA;AACG;;;A;AACF;A;AAED;AACA;A;AAGC;;;A;AAED;A;;;;;;;;;;AAWI;AACA;AACJ;;A;AACC;;;;;A;A;;;;;A;A;AAKG;AACJ;AACA;AACI;A;AAEH;AACA;A;AAEG;A;A;AAIF;AACA;A;AAED;AACA;A;AAED;AACA;AACG;;;A;A;;;;;A;A;AAIF;A;A;;;;;A;;;;;ACjWD;A;;;AAIA;A;;;AAIA;A;;;;AC7CA;A;;;;;AAIA;A;;;;;;;;;A;A;;;;;A;ACaA;;;;A;A;;;;;A;AAMI;AAOJ;AAGA;AACA;AACA;AACA;A;;;;;A;;;;;;;;A;A;;A;AAUA;AACA;AACA;AACA;A;A;;A;AAMG;;A;A;;A;AAGH;A;;A;;;;;;A;AAeC;A;AAEC;A;A;AAGF;A;;;;;AAIA;A;;;;;AAIA;A;;;;A;A;AAgBC;A;AAEA;A;AAEA;A;AAEA;A;AAED;A;;;;;AAoBA;;;A;A;AAGE;A;A;AAGA;A;A;A;AAID;A;AAED;A;;;;;;A;AAKC;A;AAED;;;A;AAEC;A;A;AAGA;A;AAED;A;;;;;;;AA8DI;AACA;AACD;;;A;AACF;A;A;AAGA;;;A;AAED;A;;;;;;AAIA;;;;;A;A;;A;A;;A;;;;;;A;;A;;;;;AAYI;A;;A;;;;;A;;A;;;;;A;;;;A;;;;;A;;;;A;;;;;A;;;;A;;;;;;AC/OJ;;;;;AACA;A;AAEC;A;AAED;A;;;;AA+CA;;A;AAEC;A;AAED;A;;;;AA0BA;;A;AAEC;A;AAED;A;;;;;;AAgBI;A;AAEH;A;AAEA;A;AAED;;;;;AACA;A;AAEC;A;AAED;A;;;;AAMI;A;AAEH;A;AAEA;A;AAED;;A;AAEC;A;AAED;A;;;;;AAMA;;;;;AACA;A;AAEC;A;AAED;A;;;;;AAMA;;;;;AACA;A;AAEC;A;AAED;A;;;;;AA0DA;;;AACA;A;AAEC;A;AAED;A;;;;AA0IA;;A;AAEC;A;AAED;A;;;;;;AAMA;;;AACA;A;AAEC;A;AAED;A;;;;;AAoCA;;A;AAEC;A;AAED;A;;;;;AAgBA;;A;AAEC;A;AAED;A;;;;;AAMA;;A;AAEC;A;AAED;A;;;;;AA2BA;;;;A;AAEC;A;AAED;A;;;;;AAgBA;;A;AAEC;A;AAED;A;;;;;AAMA;;A;AAEC;A;AAED;A;;;;;;AAMI;A;AAEH;A;AAEA;A;AAED;;;AACA;A;AAEC;A;AAED;A;;;;;AA2LI;AACJ;;;A;AAEC;A;AAED;;;;A;AAEC;A;AAED;A;;;;;;AAuJI;A;AAEH;A;AAEA;A;AAED;;;AACA;A;AAEC;A;AAED;A;;;;;;AAMI;A;AAEH;A;AAEA;A;AAED;;;AACA;A;AAEC;A;AAED;A;;;;;;AAMI;A;AAEH;A;AAEA;A;AAED;;;AACA;A;AAEC;A;AAED;A;;;;;AA8EA;;;AACA;A;AAEC;A;AAED;A;;;;;;AAwRI;A;AAEH;A;AAEA;A;AAED;;;AACA;A;AAEC;A;AAED;A;;;;;AAMA;;;AACA;A;AAEC;A;AAED;A;;;;AAMA;;A;AAEC;A;AAED;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;A;A;A;A;A;;;;;;A;A;A;A;A;A;A;A;A;A;A;A;A;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClzCA;;;A;;;;;A;;;;;A;AAOC;A;AAED;A;;;;;;;AAOG;;;A;A;;;;;A;A;AAIF;A;AAED;A;;;;;A;;;;;A;AAOC;A;AAED;A;;;;;;AAcA;;;;;;A;A;;A;;;AACC;;;A;AACC;A;A;;A;;;;;;;A;ACrDD;A;AAED;A;;;;;A;AAMC;A;AAED;A;;;;;;;A;ACOC;A;A;AAGA;A;AAED;AACA;AACC;AACA;A;AAED;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvBI;A;;;AAcJ;AACA;AACA;AACA;A;AAEC;AACA;A;AAED;AACA;A;;AAIA;A;;;;;;AAIA;A;;;;;;;A;;;AA6CA;A;;;A;AC8CC;A;AAED;AACA;A;;;;;;AAMI;;;AACI;A;A;A;A;A;;;;;;;A;A;A;;;;;;;A;A;A;A;A;A;A;;;;;;;A;A;A;;;;;;;A;A;A;A;;;;;;;A;A;A;A;A;;;;;;;A;A;A;A;;;;;;;A;A;;;;;;;A;A;A;;;;;;;A;A;;;;;;;A;A;A;A;;;;;;;A;A;;;;;;;A;A;A;;;;;;;A;A;;;;;;;A;A;;;;;;;A;A;A;;;;;;;A;A;A;A;;;;;;;A;A;A;A;;;;;;;A;A;A;;;;;;;A;A;A;;;;;;;A;A;A;;;;;;;A;A;A;;;;;;;A;A;A;A;;;;;;;A;A;A;;;;;;;A;A;A;;;;;;;A;A;A;;;;;;;A;A;A;;;;;;;A;A;A;AA2GL;AACA;AACA;;AACC;A;A;AAIA;A;AAEC;A;AAED;A;;;;;;;A;A;A;AAvHyB;A;A;;;;;;;A;;;AAqLzB;;;AACH;AACA;A;AAGC;AACA;A;AAEC;A;A;AARsB;A;AAYzB;A;;;AAIA;;;;;;A;AAEE;A;A;;AAGF;A;;;AAOA;A;AAEC;AACA;A;AAIG;AACJ;AACA;;AACC;AACA;AACA;AACA;A;AAED;AACA;AAGI;;;AACH;AADiC;A;AAIlC;A;;;;;AAQA;A;AAEC;AACA;A;AAED;;;;AACA;A;A;;;;;A;A;AAKC;A;A;;;;;A;;;AAQD;AACI;AACA;;;AACH;AACA;AACA;A;A;AAIA;A;A;AAGA;;AACC;A;A;AAGA;A;A;AAGF;AACA;A;;;;;AAcA;;A;AAIC;AACA;A;AAEC;AACA;A;AAED;;;;AACA;;;;AACI;AACJ;AACA;AACA;A;AAEC;AACA;A;AAED;AACA;AACA;AACA;A;AAED;A;;;;;;;AAqBI;AACJ;A;AAEK;AACJ;A;AAEA;A;AAED;;AACA;A;;;;;;;AAOC;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;AAGD;;AACC;;;;A;AAEC;A;A;AAGA;A;AAED;A;AAIC;;;;A;A;AAKA;;;;A;AAGD;A;A;AAEC;A;AAEC;A;AAED;A;AAEA;A;AAEA;A;AAEA;AACA;A;AAEA;A;AAEA;A;AAEA;A;AAEA;AACA;A;AAEA;A;A;AAGC;A;AAED;A;AAEA;A;AAEA;A;AAGA;A;AAEC;A;AAED;A;AAGA;A;AAEC;A;AAED;A;AAEA;A;AAEA;A;AAEA;A;AAEA;A;A;AAGC;A;AAEA;A;A;A;AAIA;A;AAEA;A;A;A;AAMA;AACA;A;AAED;AACA;A;AAEC;AACA;AACA;A;AAEA;A;AAED;A;AAEC;A;A;AAGA;A;A;A;AAMC;A;AAED;A;A;A;AAKA;AACA;A;AAID;A;AAEC;AACA;A;AAEA;A;AAED;AACA;A;AAEA;A;A;A;AAGF;A;;;;;AAeA;A;;;;A;AAMC;A;AAMD;A;;;;A;AAOC;A;AAED;AACA;A;;;A;AAQC;A;A;A;AAIC;A;AAED;A;AAED;A;;;AAIA;;AACC;A;AAED;A;;;AAMA;;A;A;AAGG;A;AAED;AACA;AACA;A;A;AAGA;A;AAED;AACA;A;AAED;A;;;;AA0CA;;A;;;;;;AAaA;;;;AACA;AACA;AACA;AAIC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAID;AACK;AACJ;;;;AACA;AACA;;;A;AAEC;A;A;A;AAIC;A;AAED;A;AAED;AACI;AACJ;A;A;A;AAGE;AACA;A;AAED;;;;AACA;;;A;AAEC;A;AAEA;A;A;A;AAIA;AACA;A;AAED;;;;AACA;;;A;AAEA;;;;AACA;A;AAEA;;;;AACA;A;AAEA;;;;A;AAEC;A;A;AAID;;;A;AAEA;;;A;A;AAGC;A;AAED;;;;A;AAGC;A;A;AAGD;;;;A;AAEC;A;A;AAGD;;;;A;AAEC;A;A;AAGD;;;;A;AAEC;A;A;AAGD;;;;A;AAEC;AACA;A;A;AAKA;;AACA;A;AAGC;A;AAGD;AACA;;AAA2C;A;AAE3C;;;;AACA;A;A;A;AAIA;AACA;A;AAED;;;;A;A;AAGC;A;AAEA;A;AAEA;A;A;A;AAIA;AACA;A;AAED;;;;A;A;AAGC;A;AAEA;A;AAEA;A;A;A;AAIA;AACA;AACA;A;AAEG;;;;;;;;A;A;AAGF;AACA;A;A;AAGA;AACA;A;AAED;;;;;;;;;;A;A;AAGC;AACA;A;AAED;;;;;;;;;;A;A;AAGC;AACA;A;A;AAGA;AACA;A;AAED;;;;;;;;;;A;A;AAGC;AACA;A;AAED;;;;;;;;;;A;A;AAGC;AACA;A;AAED;;;;;;;;;;A;AAEG;;;;;;AACJ;;;A;AAEC;;;A;A;AAGA;;;A;AAED;A;A;A;AAIC;A;AAEA;A;A;A;AAKA;AACA;AACA;A;AAED;;;A;AAEC;AACA;A;AAED;;;;A;AAKA;A;AAEC;AACA;A;AAED;;;;AACA;A;A;AAKC;A;AAID;AACA;;AACC;A;AAED;;;;AACA;A;A;A;AAGA;A;A;AAGA;A;A;A;AAID;A;AAEA;A;A;AAKA;A;AAGD;;A;AACC;;A;AAGD;;A;AACC;;AACA;AAIA;;;;A;AAEC;AACA;A;AAID;AACA;A;AAGD;;A;AACC;;AAGA;;;;A;AAEC;AACA;AACA;A;A;AAKA;;AACA;A;AAED;AACA;A;AAID;;A;;;;;;A;A;;;;;A;A;A;;;;;A;A;AAuBC;A;;;;;A;A;AAKA;A;;;;;A;AAIG;AACA;;;A;AAEF;A;AAEE;A;AACF;A;AAL0B;A;A;A;A;;;;;A;A;A;;;;;A;A;A;A;;;;;A;A;A;;;;;A;A;;;;;A;;;AA8B5B;A;AAEC;A;AAGD;A;;;AAOA;A;AAEC;A;AAED;;;;A;AAEC;A;A;AAGA;A;A;AAGA;A;AAED;A;;;;;;A;AAKC;AACA;A;AAEE;;;A;AACF;A;A;AAGA;AACA;A;AAKD;AACI;;;AACH;AAD4B;A;AAG7B;A;;;;;;AAOA;AACA;;AACC;A;AAEC;A;A;A;;;;;;;A;AAMD;A;A;;;;;;;A;AATiB;A;A;;;;;;;A;;;;AChiClB;A;;;;;A;AAMC;A;AAED;A;;;;;AAIgC;A;;;;;A;AAK/B;AACA;A;AAEC;AACA;A;AAID;A;AAID;A;;;;;A;AAMC;A;AAED;AACA;A;;;;;A;AAMC;AACA;A;A;;;;;A;AAkCA;A;AAED;AACA;AACA;A;;;;;A;AAMC;A;AAED;A;;;;;A;AAUC;A;AAED;A;;;;;A;AAuCC;A;AAED;AACA;AACA;A;;;;;A;AA6BC;A;AAED;AACA;AACA;A;;;;;AA2GA;A;;;;;;AAMA;AAEA;;A;AACC;;A;AAED;AACA;;A;AACC;;A;AACC;A;;AAEA;;;AACA;A;A;AAGF;A;;;;;;;;;;AAMA;AACA;;A;AACC;;A;AAGD;AACA;;A;AACC;;A;AACC;AACA;A;;AAEA;;;;A;AAED;A;;AAEA;A;AAED;AACA;A;;;;;;;;;;AAKA;;;;;AACA;A;;;;;;;AAKA;;;AACA;A;;;;;;;AAKA;;;AACA;A;;;;;;;AAKA;;;AACA;A;;;;;;;AAKA;;;A;;;;;AAMA;AACA;A;;;;;;;AAQA;;;;;;AACA;;AAgBA;AAMA;A;AAEC;A;A;AAMA;AACA;A;AAKC;A;A;A;AAQE;A;AACF;AACA;A;A;AAIF;A;;;;;;;;;;A;;;;;;;A;;;;;;;;AAUA;AACA;AACA;AACA;AACA;AACA;A;;;;;AAKA;;A;;;;;;;AAKA;;A;;;;;;;AAKA;;A;;;;;;AAMA;A;;;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;A;AAKD;AACA;AACA;AACA;AACA;;AACC;AACA;A;AAEC;AACA;A;AAEA;A;A;AAGF;AACA;AACA;AACA;AAEA;A;;;;;;A;AAqBC;A;A;AAKI;;;A;AAEF;A;AAFyC;A;A;AAQ5C;;;;;A;AAEE;A;A;;AAKF;A;;;;;AAMA;;;;;A;AAEE;A;A;;AAGF;A;;;;;;;;AAOA;;AAQA;;;;;AACC;AACA;;A;AACC;;;;A;A;;;;;A;A;A;;AAQF;;;;;AACC;A;A;;;;;A;A;;AAOD;A;;;;;;;;;;;;;;;;;;A;A;A;A;A;;;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3OwC;A;;;;;A;;;;;AAIX;A;;;;;A;AAI5B;A;AAED;A;;;;;AAGoD;A;;;;;AAEC;A;;;;;A;AAIpD;A;AAED;A;;;;;AAGiD;A;;;;;AAEC;A;;;AAIhB;A;;;;AAES;A;;;;AAEI;A;;;;AAEC;A;;;;;AAUhD;;A;AACC;AACA;AACA;;A;A;A;;;;;;A;AASD;A;AAEC;A;AAGD;AACA;AACA;A;AAEC;A;A;A;;;;;A;ACnDA;A;AAED;A;;;;AAUyC;A;;;;;AACA;A;;;;;AACA;A;;;;AAIzC;;AACC;A;AAEC;AACA;A;AAED;AACA;A;A;;;;ACFD;AACC;A;AAEC;A;AAED;A;AAEC;A;A;AAGA;A;A;A;;;;;;AAQF;AACC;A;AAEC;A;AAGD;A;AAEC;A;AAGD;AACA;;A;AAGC;;AACC;AACA;A;AAED;;AACC;AACA;A;AAED;A;A;A;;;;;;;AAQF;AACC;A;AAEC;A;AAED;A;AAEC;A;A;A;;;;;;AAQE;;;;;;AACA;A;AAEH;AACA;AACA;AACA;A;AAEA;AACA;AACA;AACA;A;AAED;AACC;A;AAEC;A;AAEG;A;AAGH;A;AAEC;A;A;AAID;A;AAEC;A;A;AAGF;;A;A;AAEE;A;AAED;A;A;A;;;;;;;;AASE;;;;;;AACA;A;AAEH;AACA;AACA;AACA;A;AAEA;AACA;AACA;AACA;A;AAED;AACC;A;AAEC;A;AAGD;A;AAEC;A;AAED;;A;AACC;;A;AACC;A;AAED;A;A;A;;;;;;;A;AAaD;A;AAED;A;;;;;;AAOA;;A;AACC;;A;AAED;A;;;;;;;AAMA;;;A;AACC;A;AAED;A;;;;;;;AAOA;;;A;AACC;;A;A;;;;;;;;AAOD;;;A;AACC;A;AAED;A;;;;;;;AAOA;;;A;AACC;;A;A;;;;;;;A;ACxOA;A;AAED;A;;;;;;AAKG;A;AACF;A;AAED;AACA;A;;;;;;;AAKG;A;AACF;A;AAED;AACA;A;;;;;;;AAKG;A;AACF;A;AAED;AACA;A;;;;;;;AAKG;A;AACF;A;AAED;AACA;A;;;;;;A;ACCC;A;A;AAGA;AACA;A;AAED;A;AAIC;A;AAED;A;;;;;;AAQA;AACA;;AACA;AACA;AACA;A;;;;;;;AAMA;;;A;AACC;A;AAQD;AAIA;;AAQA;;A;AACC;A;AAGD;A;;;;;;;AAKG;A;AACF;A;AAED;AACA;A;;;;;;;AAKG;A;AACF;A;AAED;AAIA;AACA;A;;;;;;;AAYG;;A;AACF;A;AAED;A;AAOC;A;AAEE;A;AACF;A;A;AAGA;A;AAED;AACC;;;A;AAEC;A;AAEI;A;AACF;A;A;A;AAOD;A;A;AAGF;AACA;A;A;;;;;;;;AASE;A;AACF;A;A;AAGA;A;AAED;;;A;AAEC;A;AAED;;AACA;AACA;A;;;;;;;AAKG;;A;AACF;A;AAED;AACG;A;AACF;A;AAED;AACC;;;;A;AAEC;A;AAEI;A;AACF;A;A;A;AAIH;AACA;A;A;;;;;;;;AAME;;A;AACF;A;AAED;AACG;A;AACF;A;AAED;AACC;;;;;;A;A;AAIK;A;AACF;A;A;A;AAIH;AACA;A;A;;;;;;;;AAME;;A;AACF;A;AAED;AACG;A;AACF;A;AAEG;AACJ;AACC;A;AAEC;A;AAED;;;A;AAEC;A;A;AAGA;A;A;AAGG;A;AACF;A;A;A;AAID;A;A;AAGA;A;A;A;;;;;;;;AAUC;A;AACF;A;AAED;AACI;AACJ;AACC;A;AAEC;A;AAED;;;A;AAEC;A;A;AAGA;A;A;AAGA;A;A;AAGA;A;A;A;;;;;;;;AAOC;;A;AACF;A;AAED;AACG;A;AACF;A;AAED;AACC;;A;AAEI;A;AACF;A;A;A;AAID;A;AAED;A;A;;;;;;;;AAME;;A;AACF;A;AAED;AACG;A;AACF;A;AAED;AACC;;;;A;AAEI;A;AACF;A;A;A;AAID;A;AAED;A;A;;;;;;;;AAME;;A;AACF;A;AAED;AAEG;A;AACF;A;AAED;AACC;;;;;;A;AAEC;A;A;A;A;AAKI;A;AACF;A;A;A;AAOF;A;AAED;A;A;;;;;;;;AAME;A;AACF;A;AAED;AACA;A;;;;;;;AAOG;A;AACF;A;AAED;AACA;AACC;;;A;AAEC;A;AAEI;A;AACF;A;A;A;AAKH;A;A;;;;;;;;AAME;A;AACF;A;AAED;AACA;A;;;;;;;AAKG;A;AACF;A;AAED;AACA;A;;;;;;A;AAUC;;;A;A;AAGC;A;AAKA;A;AAEA;A;A;AAGF;;A;;;;;;AAMA;AACA;AACA;;;A;AAEC;A;AAED;AACA;A;;;;;;AAKG;A;AACF;A;AAED;AACA;;A;;;;;;AAOA;A;;;;;;AAKG;;A;AACF;A;AAED;AACA;A;;;;;;;AAMG;A;AACF;A;AAED;AACA;AACA;A;;;;;;;AAKG;;A;AACF;A;AAED;AACG;A;AACF;A;AAED;AACC;;;A;AACC;A;AAEE;A;AACF;A;A;A;;;;;;;;AAOC;;A;AACF;A;AAED;AACG;A;AACF;A;AAED;AACC;;;A;AACC;A;AAEE;A;AACF;A;A;A;;;;;;;;AC5hBC;A;AACF;A;AAED;AACA;A;;;;;;;AAKG;A;AACF;A;AAED;AACA;A;;;;;;;AAKG;A;AACF;A;AAED;AACA;A;;;;;;;ACtBG;A;AACF;A;AAED;AACA;A;;;;;;;ACJG;A;AACF;A;AAED;AACA;A;;;;;;;AAKG;A;AACF;A;AAED;AACA;A;;;;;;ACFA;;;;;A;AAEC;A;A;AAGA;A;AAEE;AAAH;;A;AACC;;AACA;A;AAED;A;;;;;;;AClBG;;A;AACF;A;AAED;AACG;A;AACF;A;AAGG;A;AAEH;A;AAKD;AAEI;AACA;AACJ;;AACC;AACA;;;;;A;AAEE;;A;AAED;A;AAEC;AACA;A;AAED;A;AAEC;A;A;;A;AAID;A;AAED;AAEA;;;A;AAKC;A;AAED;AACA;AACA;A;AAEI;A;AACF;A;A;AAGD;A;A;AAGA;A;A;AAGA;AACA;A;A;AAGF;A;;;;;;;;;;;;;;A;A;A;A;A;A;A;A;A;A;A;A;;A;A;A;A;;;;;;;;;;;;;A;;;;;A;;;;;A;;;;;;;;;;;;;ACvCA;A;AAEC;A;AAED;A;;;;;AAmBG;AAAH;;A;AACC;A;A;;;;;;;;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvDD;A;;;AAIG;A;AACF;AACA;AACI;;;AACH;AADgC;A;A;A;AAKjC;A;A;;A;;;;;A;ACAA;A;AAED;;A;;;;;;;;;A;A;;;;;A;A;;;;;A;;;;;;;;;ACLA;A;AAEC;A;AAED;;;;AACA;AACA;;;;;AACC;;;;A;AAIC;;A;A;A;;;;;A;AAKD;A;;A;AAKA;A;A;;;;;A;;;;;;;;;A;AAQA;AAEA;A;AAED;AAEA;A;AAEC;AACA;A;AAGD;AACA;;AAEC;;A;AACC;AACI;AACJ;;;;AACA;A;A;;;;;A;A;AAKC;A;A;AAKE;;;;AACJ;;;;AACA;AACA;A;A;A;;;;;A;A;;;;;A;;;;;;;ACjDmC;;A;;;;;;;AAIpC;;;AACA;;;;A;;;;;;;AASuC;;A;;;;;;;AAIvC;;;AACA;;;;A;;;;;A;AAQC;A;AAED;A;;;;AAcA;A;;;;AAmBA;A;A;AAEC;A;A;AAEA;A;A;AAEA;A;AAED;A;;;ACzFG;;A;AACF;A;AAED;A;;;ACAA;AACA;A;;;;ACgC8B;A;;;;;;AAgD9B;;A;;;;;;;;;AAOG;A;A;;;;;A;AAGH;;;;A;;;;;A;;;;;;;;;AASG;A;A;;;;;A;A;A;;;;;A;AAQH;;AACC;;;;A;AAEC;AACA;A;AAED;AACA;AACA;A;AAED;A;;;;;;;;;AAOG;A;A;;;;;A;AAGH;;;;A;AAEC;A;A;AAGA;A;AAGD;A;AAGC;A;A;;;;;A;;;;;;;;;AAUE;A;A;;;;;A;A;A;;;;;A;AAQH;;AACC;;;;A;AAEC;AACA;A;AAED;AACA;AACA;A;AAED;A;;;;;;;;;AASG;A;A;;;;;A;AAGH;;;;A;AAEC;A;A;A;;;;;A;A;;;;;A;;;;;;;;;A;;;;;A;;;;;;A;AAkHA;A;A;AAGA;A;AAED;A;;;;;;AAyF2C;;A;;;;;;AAyB3C;A;;;;;AAQA;A;;;;;AAUA;A;;;;;;;;AChaA;A;AAEC;A;A;AAGA;A;A;AAGA;A;AAGD;A;;;;;AAaG;A;AACF;A;AAEE;;A;AACF;A;AAED;A;;;;;;;AAoCG;A;AACF;A;AAEE;;A;AACF;A;AAED;A;;;;;;;AAOG;A;AACF;A;AAEE;;A;AACF;A;AAED;A;;;;;;;AAOG;A;AACF;A;AAEE;;A;AACF;A;AAED;A;;;;;;;AAuBG;A;AACF;A;AAEE;;A;AACF;A;AAED;A;;;;;;AAKG;A;AACF;A;AAED;A;;;;;AAKG;A;AACF;A;AAED;A;;;;;AAKG;A;AACF;A;AAED;A;;;;;A;AAOC;A;AAED;A;;;;;;A;ACpIC;A;AAQD;;A;AACC;;A;AAGD;A;;;;;AASA;AACG;;;A;AACF;A;AAED;A;;;;AAiBA;A;AAEC;A;AAED;AAUA;A;AASC;A;A;AAOI;AACD;A;AACF;A;A;AAIC;A;A;AAUC;A;AACF;A;A;AAIF;AACA;A;;;A;AAeC;A;A;;;;;A;AAsDA;A;AAED;;A;;;;;;;A;AAKC;A;AAEG;AACD;;A;A;AAED;A;AAED;A;AAID;AACA;A;;;;;;;;;AAMA;;;;AACA;A;;;;;A;;;;;;;;;AAQA;;;;AACA;A;;;;;A;;;;;;;;;AAOA;;;;AACA;A;;;;;A;;;;;;;;;AAOA;;;;AACA;A;;;;;A;;;;;;;;;AASA;;;;AACA;A;;;;;A;;;;ACnRA;A;;;AAIA;A;;;ACOA;AAEA;;AACC;AAD8B;A;AAI3B;A;;A;AAEF;AACA;A;AAHe;A;AAOjB;A;;A;ACdC;A;AAED;A;;;A;AAyCC;A;AAED;A;;;;;AC5CA;AACA;A;;;;;ACTA;AACA;AACA;AACA;A;A;AAGC;A;AAEA;A;AAEA;A;AAEA;A;AAEA;A;A;AAIA;A;A;AAGA;A;A;AAGA;A;A;AAGA;A;A;;;AAKD;A;;;;;;A;AC5BC;A;AAEG;AACJ;;A;A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AAOA;A;;;;;;A;A;;;;;;;A;AAQI;;;A;A;;;;;;;A;AAIH;AACA;AALiE;A;AAOlE;A;;;;;A;AAKC;AACA;A;AAED;AACA;;AACA;A;;;;;;;;AAIA;AACA;AACA;AACA;AAEA;;;A;AACC;;AACA;AACA;A;A;AAEA;;AACA;AACA;A;;AAEA;A;A;AAED;AACA;A;;;;;;;;A;AAKA;;A;AACC;A;;AAEA;A;A;A;;;;;;;AAOD;AACA;AACA;AACA;A;;;;;;A;AAMA;;;;;;;;;;A;A;AAEE;A;AAEA;A;A;A;AAGD;A;A;AAEA;A;A;AAEA;A;A;AAEA;A;A;AAEA;A;A;AAEA;A;A;AAEA;;A;AACC;A;;AAEA;A;A;A;AAGD;A;;AAEA;A;A;A;;;;;;;;A;AAQD;;;;;A;AACC;A;A;AAEA;A;A;AAEA;A;A;AAEA;A;;AAEA;A;A;A;;;;;;;;A;AAWD;;A;AACC;AACA;AACA;AAEA;AACA;AACA;AACA;A;;AAEA;A;A;A;;;;;;;;A;AAMD;;;;;;A;A;AAEE;A;AAEA;A;A;A;AAGD;A;A;AAEA;A;A;AAEA;A;A;AAEA;A;;AAEA;A;A;A;;;;;;;;A;AAMD;;;;;;A;A;AAEE;A;AAEC;AACA;A;AAED;AACA;;;;;;A;AAEE;A;AAED;A;;AAED;A;AAEA;AACA;;;;;;A;AAEE;A;AAED;A;;AAED;A;A;A;AAGD;A;A;AAEA;A;A;AAEA;A;A;AAEA;A;;AAEA;;A;A;A;;;;;;;;AAKG;A;AAEJ;;A;AACC;A;;AAEA;AACA;A;A;A;AAID;;;;A;AACC;;A;AACC;AACA;;AACA;A;AAEC;A;AAEA;A;AAED;A;;A;AAGC;A;AAEA;A;A;A;A;AAIF;A;A;AAEA;A;;AAEA;A;A;A;;;;;;;;AAKE;AAAH;;A;AAII;;A;AACF;AACA;A;A;AAMA;A;AAGD;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;A;A;;;;;;;;;A;AAMA;A;AAGE;;;AAAH;;A;AACC;AACA;AACA;AACA;A;AAID;;A;AACI;;;AAAH;;A;AACC;AACA;AAEA;;AACA;A;A;;A;AAOD;;A;AAKC;;;;A;A;AAEC;AACA;AACA;;AACA;A;A;AAGA;AACA;AACA;;AACA;A;A;A;A;A;;A;;;;;;;AAQH;AACA;AAEA;;A;A;AAEC;;A;AACC;A;;AAEA;A;A;AAED;A;A;AAMD;;;A;AACC;;AACA;A;AAEA;;AACA;A;A;AAID;;;;;;;;;;;;;;;;;;;;;A;A;AAEC;A;A;A;AAEA;A;A;A;AAEA;A;A;A;AAEA;A;A;A;AAEA;A;A;A;AAEA;A;A;A;AAEA;A;A;A;AAEA;A;A;A;AAEA;A;A;A;AAEA;A;A;A;AAEA;A;A;A;AAEA;A;A;A;AAEA;A;A;A;AAEA;A;A;A;AAEA;A;A;A;AAEA;A;A;A;AAEA;A;A;A;AAEA;A;A;A;AAIA;;A;AACC;;AACA;;;A;AACC;A;A;AAGF;A;;A;AAGA;;;A;AAGC;;A;A;A;;;;;;;;AASF;;A;AACC;;AACA;;;A;AACC;A;A;AAGF;AACA;AAEO;A;AACP;;;;;;;;;;;;;;;;A;AACC;;A;AACC;A;;A;AAGA;;A;AACC;A;;AAEA;A;A;A;A;A;AAIF;A;A;AAEA;A;A;AAEA;A;A;AAEA;A;A;AAEA;A;A;AAEA;A;A;AAEA;A;A;AAEA;;A;A;AAEA;;A;AACC;;A;AAEC;AACA;A;AAED;A;;AAEA;A;AAED;;AACA;;;;;;A;A;AAGG;A;AAEA;A;A;AAGF;AACA;AACA;;A;;A;AAGA;A;AAEA;A;A;A;AAGD;;A;AACC;;A;AAED;AACI;;;A;A;AAGD;A;AAEA;A;A;AAGF;;A;AACI;;A;AACF;AACA;A;A;AAGF;;AAd6B;A;AAgB9B;A;A;AAEA;;AACA;;A;AACC;;A;AACC;;AACA;A;;AAEA;A;A;;AAGD;A;A;A;A;AAID;;A;AAEC;AACA;;;;A;AACK;AACJ;;;A;AACC;;A;A;AAEA;;;A;;AAKA;AACA;;;;;AACC;;;A;;A;AAGF;;;;;AACA;A;A;A;AAGF;;A;AACC;;A;AAEC;AACA;A;AAED;AACI;;;A;AAEF;A;AAED;;AAJwB;A;AAMzB;A;;AAEA;AACI;;;A;AAEF;A;AAED;;AAJwB;A;AAMzB;A;A;A;AAKD;;A;AACQ;;A;AACP;;A;AACC;AACA;AACA;A;A;A;AAKF;A;A;AAAA;A;;AAEA;A;A;A;;;;;;;;;;AAMD;AACA;;A;AACC;;;AACA;;A;AAEQ;;A;A;AAEN;A;AAEC;AACA;A;A;AAGD;A;AAEC;AACA;A;A;A;A;AAMH;A;AAEC;AACA;A;A;AAGF;A;;;;;;;A;A;;;;;;;A;AAgBI;;;A;AAEF;;;;A;A;;;;;;;A;A;;;;;;;A;AAF2B;A;A;;;;;;;A;;;;;;;A;A;;;;;;;A;AAmB7B;AACA;;;;A;A;;;;;;;A;AAIA;A;;;;;;;A;;;;;AAKA;AACA;AACA;A;;;;;AAIA;AACA;AACA;A;;;;;;AAIA;AACA;AACA;AACA;AAEI;;;AACH;AACA;AACA;;AACC;A;A;AAGA;A;A;AAIA;A;AAID;AAGA;AAEA;;AACC;A;AAEA;;;;;;A;AACC;A;A;AAEA;A;A;AAEA;A;A;AAEA;AACA;A;A;AAEA;A;;AAIA;;A;A;AAGE;AACA;AAEA;AACA;A;AAED;AACA;AACA;AACA;A;AAGD;A;A;AAhCa;A;AAqCf;;;;AAGA;;A;AACC;AACA;;;;;A;AAGC;A;A;AAMA;AACA;AACA;A;AAED;A;;AAEA;;;;A;AAEC;A;A;AAKF;;A;AACC;A;AAEC;A;AAED;;;;AACA;;A;AACC;AACA;;;;;A;AAGC;AACA;A;A;AAGA;A;AAED;A;;AAEA;;;;A;AAEC;AACA;A;A;A;A;AAMF;;;;A;A;AAIA;AACA;A;AAGD;;;;A;AAEC;;;A;AAED;AAGA;;;;;A;AACC;A;A;AAEA;A;A;AAEA;A;A;AAGA;AACA;AAEA;AACA;AAGA;AACA;A;;AADA;AACA;A;A;A;AAOF;;A;AACC;AACA;AACA;;;;;;A;AAEE;A;AAED;;A;AACC;A;;AAEA;;AACA;AACA;A;A;;AAGF;A;A;;;;;;;;AAKD;AACA;;;;;;AACC;;;;A;AAGC;A;AAED;AACA;A;;A;;;;;;;;AAOD;;;;;;A;AAEE;A;AAED;A;;AAED;A;;;;;;;;;A;;;;;A;;;;;;;;;A;ACn8BC;AACA;A;AAGD;;;;;A;AAEC;A;AAEC;A;A;AAGD;A;AAED;A;;;;;;;;A;A;;;;;A;A;;;;;A;;;;;;;AAaA;;;;A;A;A;;A;AAKC;A;AAED;A;;;;;;;AAeA;;AACA;AA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CA;A;AAED;AACA;A;;;AAuCoC;A;;;;;A;A;A;A;A;A;;;;;;;;;;AChRpC;A;;;;A;AAQC;A;AAED;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC4FA;;A;AACC;;A;AAED;;A;;;;;;;A;AAyBC;A;AAGD;;;A;AACC;;A;AAED;;A;;;;;;;AAIA;;A;AAEC;A;AAGD;AACA;AAGA;;A;AAEC;A;AAED;A;;;;;;AAOiC;A;;;;;AAIjC;A;;;;;AAKA;A;;;;A;AAUC;A;A;AAKA;A;AAEC;A;A;A;AAUD;A;AAGA;AACA;;AACC;A;A;AARD;A;A;AAcA;AACA;;AACC;A;A;A;AAOD;A;AAEC;A;AAEC;A;A;AAGF;;AACC;A;A;AAKF;A;;;;AAoBA;A;;;;;AASA;AACA;AACA;AACA;AACA;AACA;A;;;;;A;AAOC;A;A;;;;;A;AAOA;A;A;AAEC;AACA;AACA;A;A;AAGF;A;;;;;;AAKA;;;;;;AACA;AACA;AACC;;AACA;A;AAEC;AACA;AACA;A;A;A;;;;;;;;AAOF;;;;;;AACA;;A;AACC;;AACA;A;;AAEA;;AACA;A;A;;;;;;;;AAOD;;;;;;AACA;;AACC;;AACA;A;AAEC;AACA;AACA;A;A;AAIF;AACA;;A;;;;;;;;A;AAWA;;;;A;AACC;;A;AACI;;A;AACF;A;A;;AAGD;A;AAED;A;A;AAGA;;A;AACI;;A;AACF;A;A;;AAGD;A;AAED;A;A;AAIA;AACA;AAEA;;A;AACI;;A;AACF;A;A;A;;AA7BF;A;A;AAiCD;A;;;;;;;A;AAcA;;;;A;AACC;AACA;A;A;AAGA;AACA;A;A;AAGA;;;;A;AAEC;A;AAED;A;AAEC;A;A;;AAjBD;A;A;AAoBD;A;;;;;;AAmBA;AACA;AAKA;;;;;A;AACC;AACA;A;AAED;AAGC;;A;AACC;;AACA;;;;;;;;A;AACC;AACA;AACA;A;A;A;AAKD;A;AAGD;;;;A;AACC;A;AAED;;A;AACC;;;A;AAED;;;A;AACI;;;;A;AACF;A;AAED;;A;AACI;;;;A;AACF;A;A;A;AAKH;;A;AACC;AACA;A;;AAEA;;A;A;AAGF;A;;;;;;AAOA;;;;;AACA;;A;AACC;AACA;AACA;;A;AAED;;A;AACC;AACA;AACA;A;AAED;A;AAIA;;;;A;AACC;;A;AAEC;;;;A;AAEC;A;AAED;;AACA;A;AAKD;AACA;AACA;A;A;A;AAGA;A;;AALA;AACA;AACA;A;A;AAMD;AACA;AAEC;A;AAEC;A;AAID;;A;AAEC;;A;AACC;A;AAEC;A;AAED;;AACA;;AACA;A;A;AAGA;A;A;AAIF;;A;AAEI;;;A;AACF;A;A;;AAIE;;A;AACF;A;A;AAGF;AAGA;;A;AACC;A;A;AAGA;A;A;AAGA;A;A;AAIF;;A;AACC;;A;AAEC;;;AACA;;AACC;;AADkB;A;A;;AAInB;A;A;AAGF;;A;AACC;;A;AAED;A;;;;;;;AAUA;;;;;AACA;;A;AACC;AACA;AACA;;A;AAED;;A;AACC;AACA;AACA;A;AAED;AAGA;;A;AACC;;;;A;AAEC;A;AAED;;AACA;A;A;AAQD;;;A;AAGC;A;;;AAEA;;;;;;A;A;A;AAKE;AACA;AACA;A;A;AAGF;;A;AACC;;A;A;A;A;;AAKD;AACA;AACA;A;A;AAGG;AAEJ;AAEC;A;AAGC;A;A;AAGA;A;AAID;AACA;AACA;AACA;;;A;AAEC;A;AAIG;AACJ;AAEA;;A;AACC;;AACA;;A;AACC;;A;;AAEA;;A;AAED;A;;AAEI;AACJ;;AACA;;;;;AACC;A;AAEC;AACA;A;AAED;;;;;A;AACC;A;A;;AAGF;;;A;AACC;AACA;AACA;;;;;AACC;;A;AACC;;A;AAMC;;A;AACC;;;;AAGA;AACA;AACA;A;AAED;;;A;AAED;;A;AAED;;A;;AAED;AACA;;A;A;AAEA;;A;A;AAKF;;A;AACC;A;A;AAGA;A;AAED;AAEA;;A;AACC;;;;A;AAEC;A;AAED;;;;A;A;AAEI;;A;AACF;A;A;A;A;AAGE;;A;AACF;A;A;;A;AAGD;;A;A;;AAGE;;A;AACF;A;A;AAMF;;A;AACC;;AACI;AAEJ;;;;;A;AACC;;;A;A;AAEA;;;AACG;;A;AACF;A;AAED;;A;;A;;AAGA;;;A;AACC;AACA;;;AACA;;;;;;A;AACC;AACA;A;AAED;;;A;A;AAEA;AACA;;;AACA;;;;;;A;AACC;AACA;A;AAED;;;A;;AAEA;A;A;A;A;AAGF;A;AAID;;A;AACC;A;A;AAGA;A;A;AAGA;A;AAGD;AACA;A;AAED;A;;;;;;A;AAOC;A;AAED;;;A;AAEC;A;AAED;A;;;;;;AAYA;;A;AAEC;;AACA;A;AAED;AACA;;;;;AACA;;A;AACC;;A;AAED;;A;AACC;;A;AACC;;A;AACC;;A;;AAEI;A;A;AAGH;A;AAEA;A;AAEA;A;AAED;A;AAED;A;AAED;;;AACA;;A;AACC;;A;AACC;;A;AAED;A;AAED;;A;AAGD;AAEO;A;AACP;;;;A;AAGC;;A;AACC;;AACA;A;A;AAGD;;A;AACC;;A;A;A;A;AAID;AAGA;;A;AACC;;AACA;A;A;AASD;;;;A;AACC;A;A;AAEA;;A;AACC;;A;;AAEA;A;A;A;AAVA;;A;;AAEA;A;A;A;A;AAaF;;;AACA;;A;AACC;;A;AACC;;A;AAED;A;A;AAKD;;;;A;AACC;;;;A;AACC;AACA;A;AAED;AACA;;;A;AAEC;AACA;A;AAED;A;A;AAEA;A;A;AAEA;;A;AACC;;A;;AAEA;A;A;;AAnBD;A;A;A;;AAwBD;;A;AACC;;A;AACC;;A;AAED;A;AAED;A;AAcA;;;;;A;AACC;;;A;AAEC;AACA;A;A;AAGA;AACA;A;AAED;;A;A;AAGA;;;A;AAEC;AACA;A;AAED;A;A;AAGA;;;A;AAEC;AACA;A;AAED;A;A;AAGA;;;;;;;A;AAEC;AACA;A;AAED;A;;AA7CA;;A;AACC;AACA;;A;AACC;;A;AAED;A;AAED;;A;AACC;;A;AAED;A;A;A;A;AAsCF;A;;;;;;;;;A;AAYA;;;;A;AACC;;;;AACA;A;A;AAEA;;;;AACA;A;A;AAEA;;;;A;;AARA;A;A;AAUD;A;;;;;;;AAKI;AACJ;AAEC;A;AAEC;A;AAGD;;;;A;AAEC;A;AAED;AAGA;;A;AACC;A;A;AAGA;A;A;AAGA;A;A;AAGF;A;;;;;;;AAKA;AACA;AAEC;A;AAGC;A;A;AAGA;A;AAID;AACA;AACA;AACA;;;A;AAEC;A;AAID;;A;AACC;A;A;AAGA;A;AAED;AAGA;;;;A;AAEC;A;AAED;AAGA;;A;AACC;A;A;AAGA;A;A;AAGA;A;A;AAGF;A;;;;;;;AAQA;AACA;AAEA;AAEO;A;A;AAEN;A;AAGA;A;AAGA;;;A;AAEC;A;AAED;A;A;AAIC;A;AAED;;;A;AAEC;A;AAED;A;A;;;;;;A;AAQA;A;AAEG;AACJ;;;;;A;AAGE;A;AAEA;A;AAEA;A;AAEA;A;AAED;A;;AAED;A;;;;;AAMA;;;AACA;AACA;A;;;;;A;AAKC;A;AAED;AAKA;AACA;;AACC;A;AAEC;A;A;AAGA;AACA;A;AAED;;;A;AAEC;A;AAED;A;A;A;;;;;A;AAMD;AACA;AACA;;A;AAKE;AACA;AACA;A;AAEM;A;AAEN;A;AAEC;A;AAED;A;A;AAIC;AACA;AACA;A;AAEA;AACA;AACA;A;AAEA;AACA;AACA;A;AAEA;AACA;AACA;A;AAEA;AACA;AACA;A;AAEA;AACA;AACA;A;AAEA;AACA;A;AAEC;A;AAED;A;AAEC;AACG;A;AAEF;AACA;AACA;A;AAGD;A;AAED;A;AA3CA;A;A;A;AAgDD;A;AAIA;AACA;AACA;A;AAIA;;;AACA;AACA;A;A;A;;;;;A;;;A;ACjfD;A;AAED;;;;;;A;A;AAQG;A;A;;AAIH;A;;;AAwNA;AACA;AACA;A;;;;AAM4B;A;;;;;AAEK;;;;A;;;;;AAGjC;;;;;;A;AAEE;A;A;AAGA;A;A;;AAGF;A;;;;;;AAQA;AACA;AAGA;AACA;AAGA;AAGI;AAEJ;;AACC;;;;AACA;;;;AAEA;;;;;AACC;;A;AACC;;A;AAED;AAGI;;;;AACH;;AACA;AACA;;;A;AACC;AACA;;;A;AACC;;A;AAED;;;;;A;AARgC;A;A;A;A;AAAA;A;A;AAkBjC;AACA;;A;AAnBiC;A;A;AAsBjC;;;A;AAEC;A;AAED;AACA;AACA;AAEA;AACA;;;;;;A;AAEC;;A;AAID;AACA;;A;A;;A;AAOE;A;A;A;AAKF;;;;;A;AACC;A;AAEC;A;AAED;A;AAaC;A;AApE+B;A;A;AA0EjC;AACA;;A;AACC;;;A;AA5EgC;A;A;;A;AAkFpC;;AACC;A;AAKC;A;A;AAGA;A;A;AAGA;A;AAED;A;AASD;AACI;;;;;;AAGH;AACA;AACI;;;AACH;A;AAEC;A;AAHwC;A;A;AAOzC;AAZuC;A;A;AAexC;;;A;AAEC;A;AAjBuC;A;AAqBzC;AACA;AAEA;A;;;;A;AAcC;A;AAED;A;;;;AAOG;;;A;AACF;A;AAED;;;;;;AACA;A;;;;ACvsCA;AACA;AACA;;;;;A;AAEE;A;AAED;A;AAEC;A;AAGA;A;A;;A;AAID;A;A;AAGA;A;AAED;A;;;AAQA;;;;;A;AAEE;A;AAED;A;A;AAGE;A;A;AAGE;A;A;AAGD;A;A;AAGF;AACA;;A;AAID;;;A;A;A;AAIE;A;A;A;AAIA;A;A;AAGD;A;AAED;A;;A;AAIA;A;AAED;A;;;A;AASC;A;AAED;;;;;;AACC;A;AAEC;;A;A;A;AAIC;A;A;AAGD;A;A;;AAGF;A;;;A;AASC;A;AAED;;;;;;A;AAEE;A;A;;AAGF;A;;;;ACjGsC;A;;;;;AAwEtC;AACA;AACA;AACA;A;;;;;;A;AAOC;A;A;AAGA;A;AAED;;A;AAEC;A;A;AAGA;A;AAED;A;;;;;;AAKA;A;;;;;AAMA;AACA;A;AAEC;AACA;A;AAEA;A;A;;;;AAKD;A;;;A;AAMC;A;A;AAGA;A;AAED;A;;;A;AAMC;A;A;A;AAIA;AACA;AACA;A;AAEA;AACA;AACA;A;AAEA;AACA;A;AAEA;AACA;A;AAEA;AACA;A;AAEA;AACA;A;AAEA;AACA;A;AAEA;AACA;A;A;AAGA;AACA;A;AAED;A;;;A;AAMC;A;A;AAGA;AACA;AACA;A;AAED;A;;;A;AAMC;A;A;AAGA;AACA;A;AAED;A;;;AAMA;A;AAGC;AACA;AACA;A;A;AAGA;AACA;A;AAED;A;A;A;AAIE;AACA;AACA;A;AAED;A;A;AAGC;AACA;AACA;A;A;AAGA;AACA;A;AAED;A;A;AAGC;AACA;A;A;AAGA;AACA;A;AAED;A;AAED;A;;;A;AASC;A;AAED;A;;;A;AAMC;AACA;A;A;AAGA;AACA;A;A;AAGA;A;AAED;A;;;A;A;AAOC;AACA;A;AAEA;AACA;A;AAED;A;;;A;AAMC;AACA;A;AAGD;A;;;A;AAMC;AACA;A;AAGD;A;;;A;AAMC;AACA;A;AAGD;A;;;A;AAMC;AACA;A;AAGD;A;;;A;AAMC;AACA;A;A;AAGA;AACA;A;AAED;A;;;A;AAOC;AACA;A;AAED;A;;;A;AAMC;AACA;A;A;AAGA;AACA;A;AAED;A;;;A;AAOC;AACA;A;AAED;A;;;A;AAOC;A;A;AAGA;AACA;A;AAED;A;;;A;AAOC;AACA;A;AAED;A;;;A;AAOC;AACA;A;AAED;A;;;A;AAQC;A;AAED;A;;;A;AAMC;AACA;A;AAED;A;;;A;AAMC;AACA;A;AAED;A;;;A;AAMC;AACA;A;AAED;A;;;A;AAMC;AACA;A;AAED;A;;;A;AAMC;AACA;A;AAED;A;;;A;AAMC;AACA;A;AAED;A;;;A;AAMC;AACA;A;AAED;A;;;A;AAMC;AACA;A;AAED;A;;;A;AAMC;AACA;A;AAED;A;;;A;AAMC;AACA;A;AAED;A;;;AAMA;A;;;;AAKA;AACA;AACA;A;;;;A;AAOC;A;A;AAGA;A;AAID;AACA;A;;;AC5hBA;A;;;;;AAKiC;A;;;;;AAKY;A;;;;;;A;AAS5C;A;AAGE;;A;AACF;A;A;AAIA;A;AAID;;;;A;AAEC;A;AAED;AACA;AAKA;;AAGA;AAEA;A;;;;;;AAMA;A;;;;;;AAMA;AAEA;AACI;AAEJ;AAEC;;;;;;AACC;AACA;;A;AAEC;AACA;A;AAKD;;;;;A;AACC;AACA;A;A;AAGA;AACA;A;A;;AAGF;AAIA;;A;AACC;;A;AACC;;;A;AACC;A;A;AAGA;A;A;AAGF;AACA;A;AAGD;AACA;;AACA;A;AAED;A;;;;;;;A;AAOC;AACA;AACA;AACA;A;A;AAMA;AACA;AACA;A;AAID;;;;AACA;AAEA;A;;;;;AAIA;;;;;A;AAEE;A;A;;AAGF;A;;;;;A;AAsIA;;;A;AACC;;;;A;AAEC;A;A;AAGA;A;AAED;AACA;A;A;AAEA;;;;A;AAEC;A;A;AAGA;A;AAED;AACA;A;A;AAED;A;;;;;;A;A;AAMC;A;AAED;A;;;;;A;A;AAMC;A;AAEA;A;A;;;;;AAQD;A;;;;;;AAeA;;;AACC;;;;A;AAEC;A;A;AAGD;;;;;;;;A;A;AAEE;A;AAED;AACA;AACA;AACA;A;A;AAIC;A;AAED;AACA;AACA;AACA;AACA;A;A;AAIC;A;AAED;AACA;AACA;AACA;A;A;AAIC;A;AAED;AACA;AACA;AACA;AACA;A;A;AAIC;A;AAED;AACA;AACA;A;A;AAGA;;A;AACC;AACA;AACA;A;A;AAGA;AACA;AACA;A;AAED;A;AAGA;;A;AACK;AACJ;AACA;AACA;;AACA;A;AAEC;A;AAED;AACA;A;A;AAMA;A;AAEG;AACD;;A;AACF;A;AAED;A;A;AANC;A;AAEG;AACD;;A;AACF;A;AAED;A;A;A;A;;;;;;;AAME;A;A;AAGH;A;AAEA;A;AAEA;A;AAEA;A;AAEA;A;AAEA;A;AAED;A;;;;;;AAMA;;;;AACA;A;;;;;;;AAII;AACJ;AACK;;;AACH;A;AADqC;A;A;AAKrC;AACA;A;A;AAIA;A;AAED;;A;A;;;;;;;AAKD;A;;;;ACteG;A;AACF;A;AAED;A;;;;A;AAQC;A;AAED;AACA;;AACK;AACJ;A;AAEC;;;;A;A;AAGA;A;AAED;A;AAED;A;;;;;;;;;;;;;;;;;;;;;;;;;;;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;;A;A;A;;A;A;;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtBA;A;;;;;AASA;A;;;;;AAKA;A;;;;;AAMA;AACA;;;;;AACC;AACA;A;;A;;;;;ACrCD;A;;;;;AAKA;A;;;;;AAKA;A;;;;;AAKA;;;;;A;AAGE;A;A;;AAGF;A;;;;;;AAKA;;;;;;AACC;;;A;AACC;A;A;;AAGF;;A;;;;;;;AAKA;;A;AACC;;A;AAGD;;A;;;;;AClCA;A;;;;;AAWA;AACA;AACA;A;;;;;AAI8B;A;;;;;AAGF;A;;;;;AAI5B;AACA;A;;;;;ACjBA;A;;;;;AAKA;A;;;;;AAWiC;A;;;;;AAGA;A;;;;;AAGC;A;;;;;;;;;;;;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACoBlC;A;;;;;;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;;;;;A;AAKC;A;AAED;AACA;;A;;;;;;;AAKA;;;;A;AAEC;A;AAED;;A;;;;;;;A;AAKC;A;AAED;AACG;;;AAAH;;A;A;AAEE;A;AAED;;A;AACS;;;AAAH;;A;AAEN;;AAEA;;;;;AAEA;;A;AACC;;;;;A;AAGD;;;;;AACC;;AACA;A;;A;A;AAGF;A;;;;;;AAKG;;;AAAH;;A;A;AAEE;A;A;AAGA;A;A;;AAEQ;;;AAAH;;A;AACF;;;AACH;;;;A;AAEC;A;AAHiB;A;A;A;AAOpB;;A;;;;;;AAMI;;;AACH;;;;;A;AACK;;;AACH;;;;;A;AACC;;;;;;AAEA;A;AAEC;A;AAED;A;AAEC;A;AAED;A;AAEC;A;A;AAdgB;A;A;AAFF;A;AAsBnB;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;A;A;A;A;A;A;A;A;;;ACrRA;;;;;AACC;AACA;AAEA;AACA;AACA;;AAGA;AACA;A;;A;;;A;;;AA6BD;;;;;;A;A;;A;;;AACC;;AAEA;A;;A;;;A;;;AAUG;AACJ;;;;;;A;A;;A;;;AACC;AACA;AACA;AACA;A;;AAGD;;;;;;A;A;;A;;AACC;;;;;;A;A;;A;;AACC;;A;AACC;;A;AAGD;;AAGA;AACA;A;;A;;AAIF;;;;;;A;A;;A;;;AACC;AACA;AACA;A;;A;;;A;;;AAxDD;;AAEA;;;;;;A;A;;A;;;AACC;;;;AACA;;A;AACC;;AACA;A;AAGD;A;;A;;;;;;;;;;;;;;;;;;;A;A;A;A;A;A;A;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACyCG;AAOJ;;A;AAEC;A;A;AAIA;A;AAID;AAEA;;;;;AACC;A;;AAGD;;;;;AACC;A;AAEC;A;A;;AAIF;AAEA;A;;;;;;A;A;A;A;A;A;A;A;A;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxGgC;A;;;;;A;AAyI/B;A;AAED;A;;;;;AAKA;A;;;;;;AAYA;;;;;A;AACC;A;A;AAEA;A;A;AAEA;;;A;A;AAEA;;;A;;AAEA;;;A;A;A;;;;;;;;AAMD;AAGA;;A;AACC;A;A;;;;;;;;AAOD;;;A;AAEC;AACA;A;AAGA;A;;A;AAIC;A;AAED;A;A;AAGD;;A;AAEC;A;;AAEA;A;AAGD;;A;;;;;;;AAOA;;A;AACC;A;AAID;;;;;;AACC;AACA;;;A;AAEE;A;A;AAGA;A;AAED;A;;;A;;AAKF;;;;;;A;A;;A;;;AACK;A;AAEJ;;;A;AACC;;;A;A;AAEA;;;A;;AAEA;A;A;AAED;;A;AACC;A;A;;AAKF;;;;;;A;A;;A;;;AACC;;A;AACC;;A;A;;AAKF;;AACA;;;;;;A;A;;A;;AACI;;AAAH;;A;AACC;;A;A;;AAKF;;AACA;;;;;;A;A;;A;;;AACC;;A;AACC;A;A;;AAKF;;AACA;;;;;;A;A;;A;;;AACC;AACA;;A;AACC;;A;A;;AAKF;;;;;AACC;;A;;AAID;;A;AACC;A;A;;;;;;;;AAQD;;;;;;A;A;;A;;AACI;;AAAH;;A;AACC;A;A;;AAKF;;;;;;A;A;;A;;AACI;;AAAH;;A;AACC;;A;A;;AAKF;;AACA;;;;;;A;A;;A;;AACI;;AAAH;;A;AACC;;A;A;;AAKF;;AACA;;;;;;A;A;;A;;AACI;;AAAH;;A;AACC;A;A;;AAKF;;AACA;;;;;;A;A;;A;;AACI;;AAAH;;A;AACC;;A;A;;AAKF;;;;;AACC;;A;;A;;;;;;;;;AAOD;AACA;AACA;;;;;;AAEC;A;A;A;AAME;AACA;A;A;A;AAKD;AACA;A;AAQA;AACA;AAED;;;A;AAEC;A;AAED;;A;AACC;;A;AAEC;A;A;A;AAIC;A;AAEE;;A;AACF;A;AAGD;AACA;A;A;AAOF;;A;AACI;;;AAAH;;A;AACC;;;;AACA;;A;AAED;;;;;AACA;;A;AACC;;A;AAED;AACG;;;A;AACF;A;AAED;AAKA;AACA;;A;AAGG;A;AAEH;A;A;AAIG;;;A;AACF;AAGA;A;AAEA;A;A;AAIE;AAGD;;AAAH;;A;AACC;;A;AAMD;;A;AAIC;;A;AACC;;A;;AAEA;;A;A;AAKF;;A;AACC;;A;AAKE;;;AAAH;;A;AACC;;;;AACA;;A;A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A;AACA;AACA;;;;A;;;;;;A;AAqBC;A;A;AAGA;A;AAED;A;;;;AAQG;;;A;AACF;A;AAED;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;;;;;;AACI;;;A;AACF;A;A;;AAGF;A;;;;;AAIA;A;;;;;AAGA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;A;AAOC;A;A;AAGA;A;AAED;;;A;AACC;A;A;;;;;;A;AC1vCA;A;AAED;;;A;;;;;;ACgBA;AACA;A;;;;;AAQA;AACA;A;;;;;AAKA;A;;;;;AAyBA;;;;;A;A;AAEC;A;A;A;AAEA;A;A;A;AAEA;A;;A;AAEA;;A;A;;;;;;;AAamC;A;;;;;;AAMpC;;A;AAEE;A;AAED;A;A;;;;A;AAoBA;A;AAED;;A;AAEE;A;AAED;A;A;;;;AAiCD;AACA;;A;AAEE;A;AAED;;;;;AACC;A;;A;A;;;;AAQF;;;;;A;AAEE;A;A;;A;;;AAOF;;;;;;A;AAEE;A;A;;AAGF;A;;;;;AA+BA;;;;;AACC;;A;AACC;;A;AAED;A;;A;;;;;;AAcD;A;;;;A;AAMC;A;AAED;A;;;;A;AAMC;A;AAED;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;A;A;;A;A;A;A;;;;;;;;;;;;AC9HA;;A;;;;;;AAgBA;;A;;;;;;AAQA;;A;;;;;;AAwGA;;A;;;;;;AA6EA;;A;;;;;;AAQA;;A;;;;;;AAgBA;;A;;;;;;AAmDA;;A;;;;;;AAiCA;;A;;;;;;AAsBA;;A;;;;;;AAiJA;;A;;;;;;A;;;;;;;;;;;ACpaA;A;;;;AA2TA;A;;;;AAeA;A;;;;;A;;;;;;;;;;;;;;;ACheA;A;AAGC;A;AAGG;AAEJ;;;;;A;AAEE;A;AAEA;A;A;;AAIF;;A;AACC;;A;AAGD;A;;;;;;A;A;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzBA;A;;;;;;AAMA;;A;;;;;;AAKA;A;;;;;AAKA;A;;;;;;AAMA;;;AACA;;AAEA;;A;;;;;;AAKA;A;;;;;AAKA;A;;;;;;A;AASC;A;A;AAKA;A;AAGD;;AAEA;;A;AACC;;A;AAGD;AACA;A;;;;;;;AAMA;;;AACA;;A;;;;;;;AAYA;;A;;;;;;;AAMA;;;;A;AAEC;A;AAGD;A;;;;;;;;AAMA;A;AAMC;AACA;A;AAED;;;AACA;AAEA;;;;A;AAEC;A;AAGD;;A;;;;;;AC7GA;;A;;;;;;;AAsDA;AACA;AACA;A;;;;;;;A;AAOC;A;AAGD;;AAEA;;;;;AACC;AACA;;AACA;AACI;AAEJ;;;A;AAEC;A;AAKD;;A;AACC;;;AACA;;AAEA;;;A;AACC;;A;A;AAIF;;A;AACC;;AAEA;;;AACA;;A;AACC;;A;A;A;AAKA;A;A;;AAGD;;A;AAGD;;A;AACC;;;;AACA;;A;AACC;;A;AAED;;A;A;AAIA;;;;;;A;A;;A;;AACC;A;;A;AAGD;A;A;;A;;;;;;;;AA4BF;;AAEI;AAEJ;;;;;AACC;;AAEA;;AAIA;;A;AACC;;;AACA;;AAEA;;;A;AACC;;A;A;AAIF;;A;AACC;;;;AACA;;A;AACC;;A;AAED;;A;AAGD;;;;A;AAGC;;;;;A;;AAEA;;A;A;;AAIF;A;;;;;;;AAWA;;A;;;;;;;AAWA;;AAEA;AAEA;;;;;;AACC;A;;AAGD;A;;;;;;AAIA;;A;AACC;;A;AAGD;AAEI;AAEA;;;;AACH;;AAEG;A;AAH0B;A;A;AAO7B;;AAKA;AAZ6B;A;AAgB9B;A;;;;;;AAMA;;;;A;AAEC;A;AAGD;A;;;;;;;AAOA;AAEA;;;;A;AAEC;A;AAGD;;A;;;;;;;AAwBA;;AAEA;;;;;AACC;;AAEA;;AAEA;;;;A;AACC;;;A;AAEC;A;AAGD;;A;AAID;;;AAGA;;AAEA;;;A;AACC;A;A;;AAIF;A;;;;;;;AAoBA;;AAEA;;;;;AACC;;AAEA;;AAEA;;;;A;AACC;;;A;AAEC;A;AAGD;;A;AAID;;;AAGA;;AAEA;;;A;AACC;A;A;;AAIF;A;;;;;;;AAMA;;A;;;;;;;AAOA;AAEI;AAEA;;;;AACH;;A;AAD6B;A;A;AAQ1B;A;AAR0B;A;A;AAY7B;AAZ6B;A;AAe9B;A;;;;;;AAIA;;AAGA;;AACC;;A;A;AAIA;A;AAGD;A;;;;;AAMA;;;A;;;;;;AAYA;;;A;;;;;;AAkBA;;;A;;;;;;AAMA;;;A;;;;;;AAMA;;AACA;;A;AACC;;A;A;AAKA;A;AAGD;A;;;;;;;AAYI;AAEJ;;;AACA;;A;AACC;;A;A;AAID;;;;A;AACC;;;AACA;AACA;;AAIA;;A;AACC;;A;;AAEA;A;A;A;AAID;A;;AAEA;;A;AAEC;;AACA;;;A;AACC;;A;A;A;AAMF;;;;;;;;;;A;AAGC;AACA;;;;;;AACC;;;;A;;AAED;AACA;A;AAID;;A;A;AAEA;;;A;AACC;;AACA;A;AAOD;;;;;;;;;;;;;A;AAGC;;AACA;A;AAGD;AACI;;;AACH;;;AAD0B;A;AAG3B;A;;AAEA;;A;A;AAGD;A;;;;;;AC7jBA;;;;;A;AAEE;A;A;;AAIF;A;;;;AAcA;AACA;A;;;;;;;;;;A;A;A;A;A;A;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACfA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;AC7CA;A;;;;;ACCA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;AACA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;;AAQA;;A;;;;;;AAIA;A;;;;;AAIA;A;;;;;AClGA;A;;;;;;AAIA;;A;;;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;ACxBA;A;;;;;;AAIA;;A;;;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AAIA;A;;;;;AC3BA;A;;;;;;AAIA;;A;;;;;;;AAQA;A;;;;;AAIA;A;;;;;AChBA;A;;;;;;AAIA;;A;;;;;;;AAQA;A;;;;;AAIA;A;;;;;AChBA;A;;;;;;AAIA;;A;;;;;;;AAQA;A;;;;;AAIA;A;;;;;AChBA;A;;;;;;AAIA;;A;;;;;;;AAQA;A;;;;;AAIA;A;;;;;AChBA;A;;;;;;AAIA;;A;;;;;;;AAQA;A;;;;;AAIA;A;;;;;AChBA;A;;;;;;AAIA;;A;;;;;;;AAQA;A;;;;;AAIA;A;;;;ACXA;A;;;;;AAMA;AACA;A;;;;;AAIA;AACA;A;;;;ACdA;A;;;;ACAA;A;;;;;ACAA;;A;AAEI;;;AAAH;;A;AACC;;A;A;A;;;;;ACJF;A;;;ACqBA;A;;;;ACrBA;A;;;;ACHA;A;;;;ACAA;A;;;;;AAMA;AACA;A;;;;;AAIA;AACA;A;;;ACLA;A;;;;ACFA;A;;;;;ACCA;;;A;;;;;;AAMA;A;;;;;AAIA;A;;;;;ACNA;A;;;;;AAIA;A;;;;;AAIA;A;;;ACbA;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;A;A;A;A;A;A;;;;;;;;;;;ACsDA;A;;;;;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrDA;;;;;;;;;A;;;;;AAeA;AACA;AAKA;A;;;;;AAOA;A;;;;ACvBA;A;;;;;;AAOA;;AACA;;;;;;;;;;A;;;;;;AAwBA;AACA;;;A;AAEC;A;AAGD;AACA;A;;;;;AAKA;A;;;;;A;AAMC;AACA;A;AAGD;A;;;;;;ACxDA;;AACA;;;;;;A;;;;;AAaA;A;;;;;;AAMA;AACA;AACA;A;;;;;;;;AAIA;AACA;AACA;A;;;;;;;AAIA;AACA;AACA;A;;;;;;;;AAKA;AACA;AACA;A;;;;;;;AAKI;AACJ;;AACA;;A;AACC;A;;AAEA;;A;AAED;A;;;;;;;;;;;;A;A;A;A;A;A;A;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpDA;AACA;A;;;;;;;;AAKA;;A;AACC;A;A;;;;;;;;AAMD;;AACA;A;;;;;A;AA2BC;A;AAED;A;;;;AAaA;A;;;;;;;;A;A;A;A;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;A;ACtEC;A;AAGD;AAEA;A;AAGC;AACA;A;AAGD;A;;;;;AAIA;A;;;;ACVA;AACA;A;;;;;AAMA;A;;;;ACZI;AACJ;AAWA;;;;;AACC;A;;AAGD;AAaA;;;;;AACC;A;;AAGD;AACA;AAEA;A;;;;;ACrCA;A;A;AAGC;A;A;;;;;ACCD;AACA;;;;A;AAEC;A;AAGD;;AAEA;AACA;AACA;AACA;AAEA;A;;;;;ACjBA;AACA;AACA;A;;;;AAKA;AACA;AACA;A;;;;;;ACRA;AACA;AAEA;AACA;AAEA;AACA;AAEA;AACA;A;;;;;;;;AAIA;AACA;AACA;AACA;;;;;;A;A;;A;;AACC;;AACA;AACA;A;;A;;;;;;;;AAKD;AACA;;;;;AACC;AACA;AACA;AACA;AAEI;AACJ;AACA;AAEA;AACA;A;;A;;;;;;;ACLD;AACA;AACA;;AACA;AAKA;A;;;;;;;AAKA;;;;;;;;;;;;;;;;;;;;;A;;;;;;;AA2CA;AACA;AAEA;AACA;AAEA;AACA;AAEA;AAEA;AAEA;A;;;;;;;AAIA;AACA;AACA;AACA;;;;;;A;;;;;;AAIA;;;;;;A;;;;;;A;AAgBC;A;AAED;A;;;;;;AAIA;AACA;AACA;AACI;;;;AACH;;AACA;AACA;AACA;AAJiC;A;AAMlC;AACA;A;;;;;;;;ACjJA;AACA;AAEA;AAEA;AACA;A;;;;;;;;AAKA;AACA;AAEA;AAEA;A;;;;;;;AAKA;A;;;;;;;;;A;A;A;A;A;A;A;A;A;A;A;A;A;A;;A;A;A;A"}