UNPKG

capacitor-barcode-scanner

Version:
265 lines (263 loc) 164 kB
var capacitorBarcodeScanner = (function (exports, core) { 'use strict'; const BarcodeScanner = core.registerPlugin('BarcodeScanner', { web: () => Promise.resolve().then(function () { return web; }).then(m => new m.BarcodeScannerWeb()), }); !function $(x, E) { "object" == typeof exports && "object" == typeof module ? module.exports = E() : "function" == typeof define && define.amd ? define([], E) : "object" == typeof exports ? exports.jsQR = E() : x.jsQR = E(); }("undefined" != typeof self ? self : undefined, function () { return function ($) { var x = {}; function E(B) { if (x[B]) return x[B].exports; var C = x[B] = { i: B, l: !1, exports: {} }; return $[B].call(C.exports, C, C.exports, E), C.l = !0, C.exports; } return E.m = $, E.c = x, E.d = function ($, x, B) { E.o($, x) || Object.defineProperty($, x, { configurable: !1, enumerable: !0, get: B }); }, E.n = function ($) { var x = $ && $.__esModule ? function x() { return $.default; } : function x() { return $; }; return E.d(x, "a", x), x; }, E.o = function ($, x) { return Object.prototype.hasOwnProperty.call($, x); }, E.p = "", E(E.s = 3); }([function ($, x, E) { Object.defineProperty(x, "__esModule", { value: !0 }); var B = function () { function $($, x) { this.width = x, this.height = $.length / x, this.data = $; } return $.createEmpty = function (x, E) { return new $(new Uint8ClampedArray(x * E), x); }, $.prototype.get = function ($, x) { return !($ < 0) && !($ >= this.width) && !(x < 0) && !(x >= this.height) && !!this.data[x * this.width + $]; }, $.prototype.set = function ($, x, E) { this.data[x * this.width + $] = E ? 1 : 0; }, $.prototype.setRegion = function ($, x, E, B, C) { for (var _ = x; _ < x + B; _++) for (var o = $; o < $ + E; o++) this.set(o, _, !!C); }, $; }(); x.BitMatrix = B; }, function ($, x, E) { Object.defineProperty(x, "__esModule", { value: !0 }); var B = E(2); function C($, x) { return $ ^ x; } x.addOrSubtractGF = C; var _ = function () { function $($, x, E) { this.primitive = $, this.size = x, this.generatorBase = E, this.expTable = Array(this.size), this.logTable = Array(this.size); for (var C = 1, _ = 0; _ < this.size; _++) this.expTable[_] = C, (C *= 2) >= this.size && (C = (C ^ this.primitive) & this.size - 1); for (var _ = 0; _ < this.size - 1; _++) this.logTable[this.expTable[_]] = _; this.zero = new B.default(this, Uint8ClampedArray.from([0])), this.one = new B.default(this, Uint8ClampedArray.from([1])); } return $.prototype.multiply = function ($, x) { return 0 === $ || 0 === x ? 0 : this.expTable[(this.logTable[$] + this.logTable[x]) % (this.size - 1)]; }, $.prototype.inverse = function ($) { if (0 === $) throw Error("Can't invert 0"); return this.expTable[this.size - this.logTable[$] - 1]; }, $.prototype.buildMonomial = function ($, x) { if ($ < 0) throw Error("Invalid monomial degree less than 0"); if (0 === x) return this.zero; var E = new Uint8ClampedArray($ + 1); return E[0] = x, new B.default(this, E); }, $.prototype.log = function ($) { if (0 === $) throw Error("Can't take log(0)"); return this.logTable[$]; }, $.prototype.exp = function ($) { return this.expTable[$]; }, $; }(); x.default = _; }, function ($, x, E) { Object.defineProperty(x, "__esModule", { value: !0 }); var B = E(1), C = function () { function $($, x) { if (0 === x.length) throw Error("No coefficients."); this.field = $; var E = x.length; if (E > 1 && 0 === x[0]) { for (var B = 1; B < E && 0 === x[B];) B++; if (B === E) this.coefficients = $.zero.coefficients; else { this.coefficients = new Uint8ClampedArray(E - B); for (var C = 0; C < this.coefficients.length; C++) this.coefficients[C] = x[B + C]; } } else this.coefficients = x; } return $.prototype.degree = function () { return this.coefficients.length - 1; }, $.prototype.isZero = function () { return 0 === this.coefficients[0]; }, $.prototype.getCoefficient = function ($) { return this.coefficients[this.coefficients.length - 1 - $]; }, $.prototype.addOrSubtract = function (x) { if (this.isZero()) return x; if (x.isZero()) return this; var E, C = this.coefficients, _ = x.coefficients; C.length > _.length && (C = (E = [_, C])[0], _ = E[1]); for (var o = new Uint8ClampedArray(_.length), F = _.length - C.length, A = 0; A < F; A++) o[A] = _[A]; for (var A = F; A < _.length; A++) o[A] = B.addOrSubtractGF(C[A - F], _[A]); return new $(this.field, o); }, $.prototype.multiply = function (x) { if (0 === x) return this.field.zero; if (1 === x) return this; for (var E = this.coefficients.length, B = new Uint8ClampedArray(E), C = 0; C < E; C++) B[C] = this.field.multiply(this.coefficients[C], x); return new $(this.field, B); }, $.prototype.multiplyPoly = function (x) { if (this.isZero() || x.isZero()) return this.field.zero; for (var E = this.coefficients, C = E.length, _ = x.coefficients, o = _.length, F = new Uint8ClampedArray(C + o - 1), A = 0; A < C; A++) for (var e = E[A], D = 0; D < o; D++) F[A + D] = B.addOrSubtractGF(F[A + D], this.field.multiply(e, _[D])); return new $(this.field, F); }, $.prototype.multiplyByMonomial = function (x, E) { if (x < 0) throw Error("Invalid degree less than 0"); if (0 === E) return this.field.zero; for (var B = this.coefficients.length, C = new Uint8ClampedArray(B + x), _ = 0; _ < B; _++) C[_] = this.field.multiply(this.coefficients[_], E); return new $(this.field, C); }, $.prototype.evaluateAt = function ($) { var x = 0; if (0 === $) return this.getCoefficient(0); var E = this.coefficients.length; if (1 === $) return this.coefficients.forEach(function ($) { x = B.addOrSubtractGF(x, $); }), x; x = this.coefficients[0]; for (var C = 1; C < E; C++) x = B.addOrSubtractGF(this.field.multiply($, x), this.coefficients[C]); return x; }, $; }(); x.default = C; }, function ($, x, E) { Object.defineProperty(x, "__esModule", { value: !0 }); var B = E(4), C = E(5), _ = E(11), o = E(12); function F($) { var x = o.locate($); if (!x) return null; for (var E = 0, B = x; E < B.length; E++) { var F = B[E], A = _.extract($, F), e = C.decode(A.matrix); if (e) return { binaryData: e.bytes, data: e.text, chunks: e.chunks, version: e.version, location: { topRightCorner: A.mappingFunction(F.dimension, 0), topLeftCorner: A.mappingFunction(0, 0), bottomRightCorner: A.mappingFunction(F.dimension, F.dimension), bottomLeftCorner: A.mappingFunction(0, F.dimension), topRightFinderPattern: F.topRight, topLeftFinderPattern: F.topLeft, bottomLeftFinderPattern: F.bottomLeft, bottomRightAlignmentPattern: F.alignmentPattern } }; } return null; } var A = { inversionAttempts: "attemptBoth" }; function e($, x, E, C) { void 0 === C && (C = {}); var _ = A; Object.keys(_ || {}).forEach(function ($) { _[$] = C[$] || _[$]; }); var o = "attemptBoth" === _.inversionAttempts || "invertFirst" === _.inversionAttempts, e = "onlyInvert" === _.inversionAttempts || "invertFirst" === _.inversionAttempts, D = B.binarize($, x, E, o), r = D.binarized, t = D.inverted, s = F(e ? t : r); return s || "attemptBoth" !== _.inversionAttempts && "invertFirst" !== _.inversionAttempts || (s = F(e ? r : t)), s; } e.default = e, x.default = e; }, function ($, x, E) { Object.defineProperty(x, "__esModule", { value: !0 }); var B = E(0); function C($, x, E) { return $ < x ? x : $ > E ? E : $; } var _ = function () { function $($, x) { this.width = $, this.data = new Uint8ClampedArray($ * x); } return $.prototype.get = function ($, x) { return this.data[x * this.width + $]; }, $.prototype.set = function ($, x, E) { this.data[x * this.width + $] = E; }, $; }(); x.binarize = function $(x, E, o, F) { if (x.length !== E * o * 4) throw Error("Malformed data passed to binarizer."); for (var A = new _(E, o), e = 0; e < E; e++) for (var D = 0; D < o; D++) { var r = x[(D * E + e) * 4 + 0], t = x[(D * E + e) * 4 + 1], s = x[(D * E + e) * 4 + 2]; A.set(e, D, .2126 * r + .7152 * t + .0722 * s); } for (var c = Math.ceil(E / 8), d = Math.ceil(o / 8), n = new _(c, d), a = 0; a < d; a++) for (var l = 0; l < c; l++) { for (var i = 0, k = 1 / 0, u = 0, D = 0; D < 8; D++) for (var e = 0; e < 8; e++) { var m = A.get(8 * l + e, 8 * a + D); i += m, k = Math.min(k, m), u = Math.max(u, m); } var f = i / 64; if (u - k <= 24 && (f = k / 2, a > 0 && l > 0)) { var P = (n.get(l, a - 1) + 2 * n.get(l - 1, a) + n.get(l - 1, a - 1)) / 4; k < P && (f = P); } n.set(l, a, f); } var w = B.BitMatrix.createEmpty(E, o), v = null; F && (v = B.BitMatrix.createEmpty(E, o)); for (var a = 0; a < d; a++) for (var l = 0; l < c; l++) { for (var h = C(l, 2, c - 3), y = C(a, 2, d - 3), i = 0, p = -2; p <= 2; p++) for (var b = -2; b <= 2; b++) i += n.get(h + p, y + b); for (var g = i / 25, p = 0; p < 8; p++) for (var b = 0; b < 8; b++) { var e = 8 * l + p, D = 8 * a + b, L = A.get(e, D); w.set(e, D, L <= g), F && v.set(e, D, !(L <= g)); } } return F ? { binarized: w, inverted: v } : { binarized: w }; }; }, function ($, x, E) { Object.defineProperty(x, "__esModule", { value: !0 }); var B = E(0), C = E(6), _ = E(9), o = E(10); function F($, x) { for (var E = $ ^ x, B = 0; E;) B++, E &= E - 1; return B; } var e = [{ bits: 21522, formatInfo: { errorCorrectionLevel: 1, dataMask: 0 } }, { bits: 20773, formatInfo: { errorCorrectionLevel: 1, dataMask: 1 } }, { bits: 24188, formatInfo: { errorCorrectionLevel: 1, dataMask: 2 } }, { bits: 23371, formatInfo: { errorCorrectionLevel: 1, dataMask: 3 } }, { bits: 17913, formatInfo: { errorCorrectionLevel: 1, dataMask: 4 } }, { bits: 16590, formatInfo: { errorCorrectionLevel: 1, dataMask: 5 } }, { bits: 20375, formatInfo: { errorCorrectionLevel: 1, dataMask: 6 } }, { bits: 19104, formatInfo: { errorCorrectionLevel: 1, dataMask: 7 } }, { bits: 30660, formatInfo: { errorCorrectionLevel: 0, dataMask: 0 } }, { bits: 29427, formatInfo: { errorCorrectionLevel: 0, dataMask: 1 } }, { bits: 32170, formatInfo: { errorCorrectionLevel: 0, dataMask: 2 } }, { bits: 30877, formatInfo: { errorCorrectionLevel: 0, dataMask: 3 } }, { bits: 26159, formatInfo: { errorCorrectionLevel: 0, dataMask: 4 } }, { bits: 25368, formatInfo: { errorCorrectionLevel: 0, dataMask: 5 } }, { bits: 27713, formatInfo: { errorCorrectionLevel: 0, dataMask: 6 } }, { bits: 26998, formatInfo: { errorCorrectionLevel: 0, dataMask: 7 } }, { bits: 5769, formatInfo: { errorCorrectionLevel: 3, dataMask: 0 } }, { bits: 5054, formatInfo: { errorCorrectionLevel: 3, dataMask: 1 } }, { bits: 7399, formatInfo: { errorCorrectionLevel: 3, dataMask: 2 } }, { bits: 6608, formatInfo: { errorCorrectionLevel: 3, dataMask: 3 } }, { bits: 1890, formatInfo: { errorCorrectionLevel: 3, dataMask: 4 } }, { bits: 597, formatInfo: { errorCorrectionLevel: 3, dataMask: 5 } }, { bits: 3340, formatInfo: { errorCorrectionLevel: 3, dataMask: 6 } }, { bits: 2107, formatInfo: { errorCorrectionLevel: 3, dataMask: 7 } }, { bits: 13663, formatInfo: { errorCorrectionLevel: 2, dataMask: 0 } }, { bits: 12392, formatInfo: { errorCorrectionLevel: 2, dataMask: 1 } }, { bits: 16177, formatInfo: { errorCorrectionLevel: 2, dataMask: 2 } }, { bits: 14854, formatInfo: { errorCorrectionLevel: 2, dataMask: 3 } }, { bits: 9396, formatInfo: { errorCorrectionLevel: 2, dataMask: 4 } }, { bits: 8579, formatInfo: { errorCorrectionLevel: 2, dataMask: 5 } }, { bits: 11994, formatInfo: { errorCorrectionLevel: 2, dataMask: 6 } }, { bits: 11245, formatInfo: { errorCorrectionLevel: 2, dataMask: 7 } },], D = [function ($) { return ($.y + $.x) % 2 == 0; }, function ($) { return $.y % 2 == 0; }, function ($) { return $.x % 3 == 0; }, function ($) { return ($.y + $.x) % 3 == 0; }, function ($) { return (Math.floor($.y / 2) + Math.floor($.x / 3)) % 2 == 0; }, function ($) { return $.x * $.y % 2 + $.x * $.y % 3 == 0; }, function ($) { return ($.y * $.x % 2 + $.y * $.x % 3) % 2 == 0; }, function ($) { return (($.y + $.x) % 2 + $.y * $.x % 3) % 2 == 0; },]; function r($) { var x = function $(x) { var E, C, A, e = x.height, D = Math.floor((e - 17) / 4); if (D <= 6) return o.VERSIONS[D - 1]; for (var r = 0, t = 5; t >= 0; t--) for (var s = e - 9; s >= e - 11; s--) r = (E = x.get(s, t), (r) << 1 | E); for (var c = 0, s = 5; s >= 0; s--) for (var t = e - 9; t >= e - 11; t--) c = (C = x.get(s, t), (c) << 1 | C); for (var d = 1 / 0, n = 0, a = o.VERSIONS; n < a.length; n++) { var l = a[n]; if (l.infoBits === r || l.infoBits === c) return l; var i = F(r, l.infoBits); i < d && (A = l, d = i), (i = F(c, l.infoBits)) < d && (A = l, d = i); } if (d <= 3) return A; }($); if (!x) return null; var E = function $(x) { for (var E, B, C, _, o, A, D, r, t = 0, s = 0; s <= 8; s++) 6 !== s && (t = (E = x.get(s, 8), (B = t) << 1 | E)); for (var c = 7; c >= 0; c--) 6 !== c && (t = (C = x.get(8, c), (_ = t) << 1 | C)); for (var d = x.height, n = 0, c = d - 1; c >= d - 7; c--) n = (o = x.get(8, c), (A = n) << 1 | o); for (var s = d - 8; s < d; s++) n = (D = x.get(s, 8), (r = n) << 1 | D); for (var a = 1 / 0, l = null, i = 0, k = e; i < k.length; i++) { var u = k[i], m = u.bits, f = u.formatInfo; if (m === t || m === n) return f; var P = F(t, m); P < a && (l = f, a = P), t !== n && (P = F(n, m)) < a && (l = f, a = P); } return a <= 3 ? l : null; }($); if (!E) return null; var A = function $(x, E, B) { var C = E.errorCorrectionLevels[B], _ = [], o = 0; if (C.ecBlocks.forEach(function ($) { for (var x = 0; x < $.numBlocks; x++) _.push({ numDataCodewords: $.dataCodewordsPerBlock, codewords: [] }), o += $.dataCodewordsPerBlock + C.ecCodewordsPerBlock; }), x.length < o) return null; x = x.slice(0, o); for (var F = C.ecBlocks[0].dataCodewordsPerBlock, A = 0; A < F; A++) for (var e = 0, D = _; e < D.length; e++) { var r = D[e]; r.codewords.push(x.shift()); } if (C.ecBlocks.length > 1) for (var t = C.ecBlocks[0].numBlocks, s = C.ecBlocks[1].numBlocks, A = 0; A < s; A++) _[t + A].codewords.push(x.shift()); for (; x.length > 0;) for (var c = 0, d = _; c < d.length; c++) { var r = d[c]; r.codewords.push(x.shift()); } return _; }(function $(x, E, C) { for (var _ = D[C.dataMask], o = x.height, F = function $(x) { var E = 17 + 4 * x.versionNumber, C = B.BitMatrix.createEmpty(E, E); C.setRegion(0, 0, 9, 9, !0), C.setRegion(E - 8, 0, 8, 9, !0), C.setRegion(0, E - 8, 9, 8, !0); for (var _ = 0, o = x.alignmentPatternCenters; _ < o.length; _++) for (var F = o[_], A = 0, e = x.alignmentPatternCenters; A < e.length; A++) { var D = e[A]; 6 === F && 6 === D || 6 === F && D === E - 7 || F === E - 7 && 6 === D || C.setRegion(F - 2, D - 2, 5, 5, !0); } return C.setRegion(6, 9, 1, E - 17, !0), C.setRegion(9, 6, E - 17, 1, !0), x.versionNumber > 6 && (C.setRegion(E - 11, 0, 3, 6, !0), C.setRegion(0, E - 11, 6, 3, !0)), C; }(E), A = [], e = 0, r = 0, t = !0, s = o - 1; s > 0; s -= 2) { 6 === s && s--; for (var c = 0; c < o; c++) for (var d = t ? o - 1 - c : c, n = 0; n < 2; n++) { var a = s - n; if (!F.get(a, d)) { r++; var l, k = x.get(a, d); _({ y: d, x: a }) && (k = !k), e = (l = k, (e) << 1 | l), 8 === r && (A.push(e), r = 0, e = 0); } } t = !t; } return A; }($, x, E), x, E.errorCorrectionLevel); if (!A) return null; for (var r = A.reduce(function ($, x) { return $ + x.numDataCodewords; }, 0), t = new Uint8ClampedArray(r), s = 0, c = 0, d = A; c < d.length; c++) { var n = d[c], a = _.decode(n.codewords, n.codewords.length - n.numDataCodewords); if (!a) return null; for (var l = 0; l < n.numDataCodewords; l++) t[s++] = a[l]; } try { return C.decode(t, x.versionNumber); } catch (i) { return null; } } x.decode = function $(x) { if (null == x) return null; var E = r(x); if (E) return E; for (var B = 0; B < x.width; B++) for (var C = B + 1; C < x.height; C++) x.get(B, C) !== x.get(C, B) && (x.set(B, C, !x.get(B, C)), x.set(C, B, !x.get(C, B))); return r(x); }; }, function ($, x, E) { Object.defineProperty(x, "__esModule", { value: !0 }); var B, C, _, o, F = E(7), A = E(8); function e($, x) { for (var E = [], B = "", C = [10, 12, 14][x], _ = $.readBits(C); _ >= 3;) { var o = $.readBits(10); if (o >= 1e3) throw Error("Invalid numeric value above 999"); var F = Math.floor(o / 100), A = Math.floor(o / 10) % 10, e = o % 10; E.push(48 + F, 48 + A, 48 + e), B += F.toString() + A.toString() + e.toString(), _ -= 3; } if (2 === _) { var o = $.readBits(7); if (o >= 100) throw Error("Invalid numeric value above 99"); var F = Math.floor(o / 10), A = o % 10; E.push(48 + F, 48 + A), B += F.toString() + A.toString(); } else if (1 === _) { var o = $.readBits(4); if (o >= 10) throw Error("Invalid numeric value above 9"); E.push(48 + o), B += o.toString(); } return { bytes: E, text: B }; } (_ = B = x.Mode || (x.Mode = {})).Numeric = "numeric", _.Alphanumeric = "alphanumeric", _.Byte = "byte", _.Kanji = "kanji", _.ECI = "eci", (o = C || (C = {}))[o.Terminator = 0] = "Terminator", o[o.Numeric = 1] = "Numeric", o[o.Alphanumeric = 2] = "Alphanumeric", o[o.Byte = 4] = "Byte", o[o.Kanji = 8] = "Kanji", o[o.ECI = 7] = "ECI"; var D = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", " ", "$", "%", "*", "+", "-", ".", "/", ":",]; function r($, x) { for (var E = [], B = "", C = [9, 11, 13][x], _ = $.readBits(C); _ >= 2;) { var o = $.readBits(11), F = Math.floor(o / 45), A = o % 45; E.push(D[F].charCodeAt(0), D[A].charCodeAt(0)), B += D[F] + D[A], _ -= 2; } if (1 === _) { var F = $.readBits(6); E.push(D[F].charCodeAt(0)), B += D[F]; } return { bytes: E, text: B }; } function t($, x) { for (var E = [], B = "", C = [8, 16, 16][x], _ = $.readBits(C), o = 0; o < _; o++) { var F = $.readBits(8); E.push(F); } try { B += decodeURIComponent(E.map(function ($) { return "%" + ("0" + $.toString(16)).substr(-2); }).join("")); } catch (A) { } return { bytes: E, text: B }; } function s($, x) { for (var E = [], B = "", C = [8, 10, 12][x], _ = $.readBits(C), o = 0; o < _; o++) { var F = $.readBits(13), e = Math.floor(F / 192) << 8 | F % 192; e < 7936 ? e += 33088 : e += 49472, E.push(e >> 8, 255 & e), B += String.fromCharCode(A.shiftJISTable[e]); } return { bytes: E, text: B }; } x.decode = function $(x, E) { for (var _, o, A, D, c = new F.BitStream(x), d = E <= 9 ? 0 : E <= 26 ? 1 : 2, n = { text: "", bytes: [], chunks: [], version: E }; c.available() >= 4;) { var a = c.readBits(4); if (a === C.Terminator) return n; if (a === C.ECI) 0 === c.readBits(1) ? n.chunks.push({ type: B.ECI, assignmentNumber: c.readBits(7) }) : 0 === c.readBits(1) ? n.chunks.push({ type: B.ECI, assignmentNumber: c.readBits(14) }) : 0 === c.readBits(1) ? n.chunks.push({ type: B.ECI, assignmentNumber: c.readBits(21) }) : n.chunks.push({ type: B.ECI, assignmentNumber: -1 }); else if (a === C.Numeric) { var l = e(c, d); n.text += l.text, (_ = n.bytes).push.apply(_, l.bytes), n.chunks.push({ type: B.Numeric, text: l.text }); } else if (a === C.Alphanumeric) { var i = r(c, d); n.text += i.text, (o = n.bytes).push.apply(o, i.bytes), n.chunks.push({ type: B.Alphanumeric, text: i.text }); } else if (a === C.Byte) { var k = t(c, d); n.text += k.text, (A = n.bytes).push.apply(A, k.bytes), n.chunks.push({ type: B.Byte, bytes: k.bytes, text: k.text }); } else if (a === C.Kanji) { var u = s(c, d); n.text += u.text, (D = n.bytes).push.apply(D, u.bytes), n.chunks.push({ type: B.Kanji, bytes: u.bytes, text: u.text }); } } if (0 === c.available() || 0 === c.readBits(c.available())) return n; }; }, function ($, x, E) { Object.defineProperty(x, "__esModule", { value: !0 }); var B = function () { function $($) { this.byteOffset = 0, this.bitOffset = 0, this.bytes = $; } return $.prototype.readBits = function ($) { if ($ < 1 || $ > 32 || $ > this.available()) throw Error("Cannot read " + $.toString() + " bits"); var x = 0; if (this.bitOffset > 0) { var E = 8 - this.bitOffset, B = $ < E ? $ : E, C = E - B, _ = 255 >> 8 - B << C; x = (this.bytes[this.byteOffset] & _) >> C, $ -= B, this.bitOffset += B, 8 === this.bitOffset && (this.bitOffset = 0, this.byteOffset++); } if ($ > 0) { for (; $ >= 8;) x = x << 8 | 255 & this.bytes[this.byteOffset], this.byteOffset++, $ -= 8; if ($ > 0) { var C = 8 - $, _ = 255 >> C << C; x = x << $ | (this.bytes[this.byteOffset] & _) >> C, this.bitOffset += $; } } return x; }, $.prototype.available = function () { return 8 * (this.bytes.length - this.byteOffset) - this.bitOffset; }, $; }(); x.BitStream = B; }, function ($, x, E) { Object.defineProperty(x, "__esModule", { value: !0 }), x.shiftJISTable = { 32: 32, 33: 33, 34: 34, 35: 35, 36: 36, 37: 37, 38: 38, 39: 39, 40: 40, 41: 41, 42: 42, 43: 43, 44: 44, 45: 45, 46: 46, 47: 47, 48: 48, 49: 49, 50: 50, 51: 51, 52: 52, 53: 53, 54: 54, 55: 55, 56: 56, 57: 57, 58: 58, 59: 59, 60: 60, 61: 61, 62: 62, 63: 63, 64: 64, 65: 65, 66: 66, 67: 67, 68: 68, 69: 69, 70: 70, 71: 71, 72: 72, 73: 73, 74: 74, 75: 75, 76: 76, 77: 77, 78: 78, 79: 79, 80: 80, 81: 81, 82: 82, 83: 83, 84: 84, 85: 85, 86: 86, 87: 87, 88: 88, 89: 89, 90: 90, 91: 91, 92: 165, 93: 93, 94: 94, 95: 95, 96: 96, 97: 97, 98: 98, 99: 99, 100: 100, 101: 101, 102: 102, 103: 103, 104: 104, 105: 105, 106: 106, 107: 107, 108: 108, 109: 109, 110: 110, 111: 111, 112: 112, 113: 113, 114: 114, 115: 115, 116: 116, 117: 117, 118: 118, 119: 119, 120: 120, 121: 121, 122: 122, 123: 123, 124: 124, 125: 125, 126: 8254, 33088: 12288, 33089: 12289, 33090: 12290, 33091: 65292, 33092: 65294, 33093: 12539, 33094: 65306, 33095: 65307, 33096: 65311, 33097: 65281, 33098: 12443, 33099: 12444, 33100: 180, 33101: 65344, 33102: 168, 33103: 65342, 33104: 65507, 33105: 65343, 33106: 12541, 33107: 12542, 33108: 12445, 33109: 12446, 33110: 12291, 33111: 20189, 33112: 12293, 33113: 12294, 33114: 12295, 33115: 12540, 33116: 8213, 33117: 8208, 33118: 65295, 33119: 92, 33120: 12316, 33121: 8214, 33122: 65372, 33123: 8230, 33124: 8229, 33125: 8216, 33126: 8217, 33127: 8220, 33128: 8221, 33129: 65288, 33130: 65289, 33131: 12308, 33132: 12309, 33133: 65339, 33134: 65341, 33135: 65371, 33136: 65373, 33137: 12296, 33138: 12297, 33139: 12298, 33140: 12299, 33141: 12300, 33142: 12301, 33143: 12302, 33144: 12303, 33145: 12304, 33146: 12305, 33147: 65291, 33148: 8722, 33149: 177, 33150: 215, 33152: 247, 33153: 65309, 33154: 8800, 33155: 65308, 33156: 65310, 33157: 8806, 33158: 8807, 33159: 8734, 33160: 8756, 33161: 9794, 33162: 9792, 33163: 176, 33164: 8242, 33165: 8243, 33166: 8451, 33167: 65509, 33168: 65284, 33169: 162, 33170: 163, 33171: 65285, 33172: 65283, 33173: 65286, 33174: 65290, 33175: 65312, 33176: 167, 33177: 9734, 33178: 9733, 33179: 9675, 33180: 9679, 33181: 9678, 33182: 9671, 33183: 9670, 33184: 9633, 33185: 9632, 33186: 9651, 33187: 9650, 33188: 9661, 33189: 9660, 33190: 8251, 33191: 12306, 33192: 8594, 33193: 8592, 33194: 8593, 33195: 8595, 33196: 12307, 33208: 8712, 33209: 8715, 33210: 8838, 33211: 8839, 33212: 8834, 33213: 8835, 33214: 8746, 33215: 8745, 33224: 8743, 33225: 8744, 33226: 172, 33227: 8658, 33228: 8660, 33229: 8704, 33230: 8707, 33242: 8736, 33243: 8869, 33244: 8978, 33245: 8706, 33246: 8711, 33247: 8801, 33248: 8786, 33249: 8810, 33250: 8811, 33251: 8730, 33252: 8765, 33253: 8733, 33254: 8757, 33255: 8747, 33256: 8748, 33264: 8491, 33265: 8240, 33266: 9839, 33267: 9837, 33268: 9834, 33269: 8224, 33270: 8225, 33271: 182, 33276: 9711, 33359: 65296, 33360: 65297, 33361: 65298, 33362: 65299, 33363: 65300, 33364: 65301, 33365: 65302, 33366: 65303, 33367: 65304, 33368: 65305, 33376: 65313, 33377: 65314, 33378: 65315, 33379: 65316, 33380: 65317, 33381: 65318, 33382: 65319, 33383: 65320, 33384: 65321, 33385: 65322, 33386: 65323, 33387: 65324, 33388: 65325, 33389: 65326, 33390: 65327, 33391: 65328, 33392: 65329, 33393: 65330, 33394: 65331, 33395: 65332, 33396: 65333, 33397: 65334, 33398: 65335, 33399: 65336, 33400: 65337, 33401: 65338, 33409: 65345, 33410: 65346, 33411: 65347, 33412: 65348, 33413: 65349, 33414: 65350, 33415: 65351, 33416: 65352, 33417: 65353, 33418: 65354, 33419: 65355, 33420: 65356, 33421: 65357, 33422: 65358, 33423: 65359, 33424: 65360, 33425: 65361, 33426: 65362, 33427: 65363, 33428: 65364, 33429: 65365, 33430: 65366, 33431: 65367, 33432: 65368, 33433: 65369, 33434: 65370, 33439: 12353, 33440: 12354, 33441: 12355, 33442: 12356, 33443: 12357, 33444: 12358, 33445: 12359, 33446: 12360, 33447: 12361, 33448: 12362, 33449: 12363, 33450: 12364, 33451: 12365, 33452: 12366, 33453: 12367, 33454: 12368, 33455: 12369, 33456: 12370, 33457: 12371, 33458: 12372, 33459: 12373, 33460: 12374, 33461: 12375, 33462: 12376, 33463: 12377, 33464: 12378, 33465: 12379, 33466: 12380, 33467: 12381, 33468: 12382, 33469: 12383, 33470: 12384, 33471: 12385, 33472: 12386, 33473: 12387, 33474: 12388, 33475: 12389, 33476: 12390, 33477: 12391, 33478: 12392, 33479: 12393, 33480: 12394, 33481: 12395, 33482: 12396, 33483: 12397, 33484: 12398, 33485: 12399, 33486: 12400, 33487: 12401, 33488: 12402, 33489: 12403, 33490: 12404, 33491: 12405, 33492: 12406, 33493: 12407, 33494: 12408, 33495: 12409, 33496: 12410, 33497: 12411, 33498: 12412, 33499: 12413, 33500: 12414, 33501: 12415, 33502: 12416, 33503: 12417, 33504: 12418, 33505: 12419, 33506: 12420, 33507: 12421, 33508: 12422, 33509: 12423, 33510: 12424, 33511: 12425, 33512: 12426, 33513: 12427, 33514: 12428, 33515: 12429, 33516: 12430, 33517: 12431, 33518: 12432, 33519: 12433, 33520: 12434, 33521: 12435, 33600: 12449, 33601: 12450, 33602: 12451, 33603: 12452, 33604: 12453, 33605: 12454, 33606: 12455, 33607: 12456, 33608: 12457, 33609: 12458, 33610: 12459, 33611: 12460, 33612: 12461, 33613: 12462, 33614: 12463, 33615: 12464, 33616: 12465, 33617: 12466, 33618: 12467, 33619: 12468, 33620: 12469, 33621: 12470, 33622: 12471, 33623: 12472, 33624: 12473, 33625: 12474, 33626: 12475, 33627: 12476, 33628: 12477, 33629: 12478, 33630: 12479, 33631: 12480, 33632: 12481, 33633: 12482, 33634: 12483, 33635: 12484, 33636: 12485, 33637: 12486, 33638: 12487, 33639: 12488, 33640: 12489, 33641: 12490, 33642: 12491, 33643: 12492, 33644: 12493, 33645: 12494, 33646: 12495, 33647: 12496, 33648: 12497, 33649: 12498, 33650: 12499, 33651: 12500, 33652: 12501, 33653: 12502, 33654: 12503, 33655: 12504, 33656: 12505, 33657: 12506, 33658: 12507, 33659: 12508, 33660: 12509, 33661: 12510, 33662: 12511, 33664: 12512, 33665: 12513, 33666: 12514, 33667: 12515, 33668: 12516, 33669: 12517, 33670: 12518, 33671: 12519, 33672: 12520, 33673: 12521, 33674: 12522, 33675: 12523, 33676: 12524, 33677: 12525, 33678: 12526, 33679: 12527, 33680: 12528, 33681: 12529, 33682: 12530, 33683: 12531, 33684: 12532, 33685: 12533, 33686: 12534, 33695: 913, 33696: 914, 33697: 915, 33698: 916, 33699: 917, 33700: 918, 33701: 919, 33702: 920, 33703: 921, 33704: 922, 33705: 923, 33706: 924, 33707: 925, 33708: 926, 33709: 927, 33710: 928, 33711: 929, 33712: 931, 33713: 932, 33714: 933, 33715: 934, 33716: 935, 33717: 936, 33718: 937, 33727: 945, 33728: 946, 33729: 947, 33730: 948, 33731: 949, 33732: 950, 33733: 951, 33734: 952, 33735: 953, 33736: 954, 33737: 955, 33738: 956, 33739: 957, 33740: 958, 33741: 959, 33742: 960, 33743: 961, 33744: 963, 33745: 964, 33746: 965, 33747: 966, 33748: 967, 33749: 968, 33750: 969, 33856: 1040, 33857: 1041, 33858: 1042, 33859: 1043, 33860: 1044, 33861: 1045, 33862: 1025, 33863: 1046, 33864: 1047, 33865: 1048, 33866: 1049, 33867: 1050, 33868: 1051, 33869: 1052, 33870: 1053, 33871: 1054, 33872: 1055, 33873: 1056, 33874: 1057, 33875: 1058, 33876: 1059, 33877: 1060, 33878: 1061, 33879: 1062, 33880: 1063, 33881: 1064, 33882: 1065, 33883: 1066, 33884: 1067, 33885: 1068, 33886: 1069, 33887: 1070, 33888: 1071, 33904: 1072, 33905: 1073, 33906: 1074, 33907: 1075, 33908: 1076, 33909: 1077, 33910: 1105, 33911: 1078, 33912: 1079, 33913: 1080, 33914: 1081, 33915: 1082, 33916: 1083, 33917: 1084, 33918: 1085, 33920: 1086, 33921: 1087, 33922: 1088, 33923: 1089, 33924: 1090, 33925: 1091, 33926: 1092, 33927: 1093, 33928: 1094, 33929: 1095, 33930: 1096, 33931: 1097, 33932: 1098, 33933: 1099, 33934: 1100, 33935: 1101, 33936: 1102, 33937: 1103, 33951: 9472, 33952: 9474, 33953: 9484, 33954: 9488, 33955: 9496, 33956: 9492, 33957: 9500, 33958: 9516, 33959: 9508, 33960: 9524, 33961: 9532, 33962: 9473, 33963: 9475, 33964: 9487, 33965: 9491, 33966: 9499, 33967: 9495, 33968: 9507, 33969: 9523, 33970: 9515, 33971: 9531, 33972: 9547, 33973: 9504, 33974: 9519, 33975: 9512, 33976: 9527, 33977: 9535, 33978: 9501, 33979: 9520, 33980: 9509, 33981: 9528, 33982: 9538, 34975: 20124, 34976: 21782, 34977: 23043, 34978: 38463, 34979: 21696, 34980: 24859, 34981: 25384, 34982: 23030, 34983: 36898, 34984: 33909, 34985: 33564, 34986: 31312, 34987: 24746, 34988: 25569, 34989: 28197, 34990: 26093, 34991: 33894, 34992: 33446, 34993: 39925, 34994: 26771, 34995: 22311, 34996: 26017, 34997: 25201, 34998: 23451, 34999: 22992, 35e3: 34427, 35001: 39156, 35002: 32098, 35003: 32190, 35004: 39822, 35005: 25110, 35006: 31903, 35007: 34999, 35008: 23433, 35009: 24245, 35010: 25353, 35011: 26263, 35012: 26696, 35013: 38343, 35014: 38797, 35015: 26447, 35016: 20197, 35017: 20234, 35018: 20301, 35019: 20381, 35020: 20553, 35021: 22258, 35022: 22839, 35023: 22996, 35024: 23041, 35025: 23561, 35026: 24799, 35027: 24847, 35028: 24944, 35029: 26131, 35030: 26885, 35031: 28858, 35032: 30031, 35033: 30064, 35034: 31227, 35035: 32173, 35036: 32239, 35037: 32963, 35038: 33806, 35039: 34915, 35040: 35586, 35041: 36949, 35042: 36986, 35043: 21307, 35044: 20117, 35045: 20133, 35046: 22495, 35047: 32946, 35048: 37057, 35049: 30959, 35050: 19968, 35051: 22769, 35052: 28322, 35053: 36920, 35054: 31282, 35055: 33576, 35056: 33419, 35057: 39983, 35058: 20801, 35059: 21360, 35060: 21693, 35061: 21729, 35062: 22240, 35063: 23035, 35064: 24341, 35065: 39154, 35066: 28139, 35067: 32996, 35068: 34093, 35136: 38498, 35137: 38512, 35138: 38560, 35139: 38907, 35140: 21515, 35141: 21491, 35142: 23431, 35143: 28879, 35144: 32701, 35145: 36802, 35146: 38632, 35147: 21359, 35148: 40284, 35149: 31418, 35150: 19985, 35151: 30867, 35152: 33276, 35153: 28198, 35154: 22040, 35155: 21764, 35156: 27421, 35157: 34074, 35158: 39995, 35159: 23013, 35160: 21417, 35161: 28006, 35162: 29916, 35163: 38287, 35164: 22082, 35165: 20113, 35166: 36939, 35167: 38642, 35168: 33615, 35169: 39180, 35170: 21473, 35171: 21942, 35172: 23344, 35173: 24433, 35174: 26144, 35175: 26355, 35176: 26628, 35177: 27704, 35178: 27891, 35179: 27945, 35180: 29787, 35181: 30408, 35182: 31310, 35183: 38964, 35184: 33521, 35185: 34907, 35186: 35424, 35187: 37613, 35188: 28082, 35189: 30123, 35190: 30410, 35191: 39365, 35192: 24742, 35193: 35585, 35194: 36234, 35195: 38322, 35196: 27022, 35197: 21421, 35198: 20870, 35200: 22290, 35201: 22576, 35202: 22852, 35203: 23476, 35204: 24310, 35205: 24616, 35206: 25513, 35207: 25588, 35208: 27839, 35209: 28436, 35210: 28814, 35211: 28948, 35212: 29017, 35213: 29141, 35214: 29503, 35215: 32257, 35216: 33398, 35217: 33489, 35218: 34199, 35219: 36960, 35220: 37467, 35221: 40219, 35222: 22633, 35223: 26044, 35224: 27738, 35225: 29989, 35226: 20985, 35227: 22830, 35228: 22885, 35229: 24448, 35230: 24540, 35231: 25276, 35232: 26106, 35233: 27178, 35234: 27431, 35235: 27572, 35236: 29579, 35237: 32705, 35238: 35158, 35239: 40236, 35240: 40206, 35241: 40644, 35242: 23713, 35243: 27798, 35244: 33659, 35245: 20740, 35246: 23627, 35247: 25014, 35248: 33222, 35249: 26742, 35250: 29281, 35251: 20057, 35252: 20474, 35253: 21368, 35254: 24681, 35255: 28201, 35256: 31311, 35257: 38899, 35258: 19979, 35259: 21270, 35260: 20206, 35261: 20309, 35262: 20285, 35263: 20385, 35264: 20339, 35265: 21152, 35266: 21487, 35267: 22025, 35268: 22799, 35269: 23233, 35270: 23478, 35271: 23521, 35272: 31185, 35273: 26247, 35274: 26524, 35275: 26550, 35276: 27468, 35277: 27827, 35278: 28779, 35279: 29634, 35280: 31117, 35281: 31166, 35282: 31292, 35283: 31623, 35284: 33457, 35285: 33499, 35286: 33540, 35287: 33655, 35288: 33775, 35289: 33747, 35290: 34662, 35291: 35506, 35292: 22057, 35293: 36008, 35294: 36838, 35295: 36942, 35296: 38686, 35297: 34442, 35298: 20420, 35299: 23784, 35300: 25105, 35301: 29273, 35302: 30011, 35303: 33253, 35304: 33469, 35305: 34558, 35306: 36032, 35307: 38597, 35308: 39187, 35309: 39381, 35310: 20171, 35311: 20250, 35312: 35299, 35313: 22238, 35314: 22602, 35315: 22730, 35316: 24315, 35317: 24555, 35318: 24618, 35319: 24724, 35320: 24674, 35321: 25040, 35322: 25106, 35323: 25296, 35324: 25913, 35392: 39745, 35393: 26214, 35394: 26800, 35395: 28023, 35396: 28784, 35397: 30028, 35398: 30342, 35399: 32117, 35400: 33445, 35401: 34809, 35402: 38283, 35403: 38542, 35404: 35997, 35405: 20977, 35406: 21182, 35407: 22806, 35408: 21683, 35409: 23475, 35410: 23830, 35411: 24936, 35412: 27010, 35413: 28079, 35414: 30861, 35415: 33995, 35416: 34903, 35417: 35442, 35418: 37799, 35419: 39608, 35420: 28012, 35421: 39336, 35422: 34521, 35423: 22435, 35424: 26623, 35425: 34510, 35426: 37390, 35427: 21123, 35428: 22151, 35429: 21508, 35430: 24275, 35431: 25313, 35432: 25785, 35433: 26684, 35434: 26680, 35435: 27579, 35436: 29554, 35437: 30906, 35438: 31339, 35439: 35226, 35440: 35282, 35441: 36203, 35442: 36611, 35443: 37101, 35444: 38307, 35445: 38548, 35446: 38761, 35447: 23398, 35448: 23731, 35449: 27005, 35450: 38989, 35451: 38990, 35452: 25499, 35453: 31520, 35454: 27179, 35456: 27263, 35457: 26806, 35458: 39949, 35459: 28511, 35460: 21106, 35461: 21917, 35462: 24688, 35463: 25324, 35464: 27963, 35465: 28167, 35466: 28369, 35467: 33883, 35468: 35088, 35469: 36676, 35470: 19988, 35471: 39993, 35472: 21494, 35473: 26907, 35474: 27194, 35475: 38788, 35476: 26666, 35477: 20828, 35478: 31427, 35479: 33970, 35480: 37340, 35481: 37772, 35482: 22107, 35483: 40232, 35484: 26658, 35485: 33541, 35486: 33841, 35487: 31909, 35488: 21e3, 35489: 33477, 35490: 29926, 35491: 20094, 35492: 20355, 35493: 20896, 35494: 23506, 35495: 21002, 35496: 21208, 35497: 21223, 35498: 24059, 35499: 21914, 35500: 22570, 35501: 23014, 35502: 23436, 35503: 23448, 35504: 23515, 35505: 24178, 35506: 24185, 35507: 24739, 35508: 24863, 35509: 24931, 35510: 25022, 35511: 25563, 35512: 25954, 35513: 26577, 35514: 26707, 35515: 26874, 35516: 27454, 35517: 27475, 35518: 27735, 35519: 28450, 35520: 28567, 35521: 28485, 35522: 29872, 35523: 29976, 35524: 30435, 35525: 30475, 35526: 31487, 35527: 31649, 35528: 31777, 35529: 32233, 35530: 32566, 35531: 32752, 35532: 32925, 35533: 33382, 35534: 33694, 35535: 35251, 35536: 35532, 35537: 36011, 35538: 36996, 35539: 37969, 35540: 38291, 35541: 38289, 35542: 38306, 35543: 38501, 35544: 38867, 35545: 39208, 35546: 33304, 35547: 20024, 35548: 21547, 35549: 23736, 35550: 24012, 35551: 29609, 35552: 30284, 35553: 30524, 35554: 23721, 35555: 32747, 35556: 36107, 35557: 38593, 35558: 38929, 35559: 38996, 35560: 39e3, 35561: 20225, 35562: 20238, 35563: 21361, 35564: 21916, 35565: 22120, 35566: 22522, 35567: 22855, 35568: 23305, 35569: 23492, 35570: 23696, 35571: 24076, 35572: 24190, 35573: 24524, 35574: 25582, 35575: 26426, 35576: 26071, 35577: 26082, 35578: 26399, 35579: 26827, 35580: 26820, 35648: 27231, 35649: 24112, 35650: 27589, 35651: 27671, 35652: 27773, 35653: 30079, 35654: 31048, 35655: 23395, 35656: 31232, 35657: 32e3, 35658: 24509, 35659: 35215, 35660: 35352, 35661: 36020, 35662: 36215, 35663: 36556, 35664: 36637, 35665: 39138, 35666: 39438, 35667: 39740, 35668: 20096, 35669: 20605, 35670: 20736, 35671: 22931, 35672: 23452, 35673: 25135, 35674: 25216, 35675: 25836, 35676: 27450, 35677: 29344, 35678: 30097, 35679: 31047, 35680: 32681, 35681: 34811, 35682: 35516, 35683: 35696, 35684: 25516, 35685: 33738, 35686: 38816, 35687: 21513, 35688: 21507, 35689: 21931, 35690: 26708, 35691: 27224, 35692: 35440, 35693: 30759, 35694: 26485, 35695: 40653, 35696: 21364, 35697: 23458, 35698: 33050, 35699: 34384, 35700: 36870, 35701: 19992, 35702: 20037, 35703: 20167, 35704: 20241, 35705: 21450, 35706: 21560, 35707: 23470, 35708: 24339, 35709: 24613, 35710: 25937, 35712: 26429, 35713: 27714, 35714: 27762, 35715: 27875, 35716: 28792, 35717: 29699, 35718: 31350, 35719: 31406, 35720: 31496, 35721: 32026, 35722: 31998, 35723: 32102, 35724: 26087, 35725: 29275, 35726: 21435, 35727: 23621, 35728: 24040, 35729: 25298, 35730: 25312, 35731: 25369, 35732: 28192, 35733: 34394, 35734: 35377, 35735: 36317, 35736: 37624, 35737: 28417, 35738: 31142, 35739: 39770, 35740: 20136, 35741: 20139, 35742: 20140, 35743: 20379, 35744: 20384, 35745: 20689, 35746: 20807, 35747: 31478, 35748: 20849, 35749: 20982, 35750: 21332, 35751: 21281, 35752: 21375, 35753: 21483, 35754: 21932, 35755: 22659, 35756: 23777, 35757: 24375, 35758: 24394, 35759: 24623, 35760: 24656, 35761: 24685, 35762: 25375, 35763: 25945, 35764: 27211, 35765: 27841, 35766: 29378, 35767: 29421, 35768: 30703, 35769: 33016, 35770: 33029, 35771: 33288, 35772: 34126, 35773: 37111, 35774: 37857, 35775: 38911, 35776: 39255, 35777: 39514, 35778: 20208, 35779: 20957, 35780: 23597, 35781: 26241, 35782: 26989, 35783: 23616, 35784: 26354, 35785: 26997, 35786: 29577, 35787: 26704, 35788: 31873, 35789: 20677, 35790: 21220, 35791: 22343, 35792: 24062, 35793: 37670, 35794: 26020, 35795: 27427, 35796: 27453, 35797: 29748, 35798: 31105, 35799: 31165, 35800: 31563, 35801: 32202, 35802: 33465, 35803: 33740, 35804: 34943, 35805: 35167, 35806: 35641, 35807: 36817, 35808: 37329, 35809: 21535, 35810: 37504, 35811: 20061, 35812: 20534, 35813: 21477, 35814: 21306, 35815: 29399, 35816: 29590, 35817: 30697, 35818: 33510, 35819: 36527, 35820: 39366, 35821: 39368, 35822: 39378, 35823: 20855, 35824: 24858, 35825: 34398, 35826: 21936, 35827: 31354, 35828: 20598, 35829: 23507, 35830: 36935, 35831: 38533, 35832: 20018, 35833: 27355, 35834: 37351, 35835: 23633, 35836: 23624, 35904: 25496, 35905: 31391, 35906: 27795, 35907: 38772, 35908: 36705, 35909: 31402, 35910: 29066, 35911: 38536, 35912: 31874, 35913: 26647, 35914: 32368, 35915: 26705, 35916: 37740, 35917: 21234, 35918: 21531, 35919: 34219, 35920: 35347, 35921: 32676, 35922: 36557, 35923: 37089, 35924: 21350, 35925: 34952, 35926: 31041, 35927: 20418, 35928: 20670, 35929: 21009, 35930: 20804, 35931: 21843, 35932: 22317, 35933: 29674, 35934: 22411, 35935: 22865, 35936: 24418, 35937: 24452, 35938: 24693, 35939: 24950, 35940: 24935, 35941: 25001, 35942: 25522, 35943: 25658, 35944: 25964, 35945: 26223, 35946: 26690, 35947: 28179, 35948: 30054, 35949: 31293, 35950: 31995, 35951: 32076, 35952: 32153, 35953: 32331, 35954: 32619, 35955: 33550, 35956: 33610, 35957: 34509, 35958: 35336, 35959: 35427, 35960: 35686, 35961: 36605, 35962: 38938, 35963: 40335, 35964: 33464, 35965: 36814, 35966: 39912, 35968: 21127, 35969: 25119, 35970: 25731, 35971: 28608, 35972: 38553, 35973: 26689, 35974: 20625, 35975: 27424, 35976: 27770, 35977: 28500, 35978: 31348, 35979: 32080, 35980: 34880, 35981: 35363, 35982: 26376, 35983: 20214, 35984: 20537, 35985: 20518, 35986: 20581, 35987: 20860, 35988: 21048, 35989: 21091, 35990: 21927, 35991: 22287, 35992: 22533, 35993: 23244, 35994: 24314, 35995: 25010, 35996: 25080, 35997: 25331, 35998: 25458, 35999: 26908, 36e3: 27177, 36001: 29309, 36002: 29356, 36003: 29486, 36004: 30740, 36005: 30831, 36006: 32121, 36007: 30476, 36008: 32937, 36009: 35211, 36010: 35609, 36011: 36066, 36012: 36562, 36013: 36963, 36014: 37749, 36015: 38522, 36016: 38997, 36017: 39443, 36018: 40568, 36019: 20803, 36020: 21407, 36021: 21427, 36022: 24187, 36023: 24358, 36024: 28187, 36025: 28304, 36026: 29572, 36027: 29694, 36028: 32067, 36029: 33335, 36030: 35328, 36031: 35578, 36032: 38480, 36033: 20046, 36034: 20491, 36035: 21476, 36036: 21628, 36037: 22266, 36038: 22993, 36039: 23396, 36040: 24049, 36041: 24235, 36042: 24359, 36043: 25144, 36044: 25925, 36045: 26543, 36046: 28246, 36047: 29392, 36048: 31946, 36049: 34996, 36050: 32929, 36051: 32993, 36052: 33776, 36053: 34382, 36054: 35463, 36055: 36328, 36056: 37431, 36057: 38599, 36058: 39015, 36059: 40723, 36060: 20116, 36061: 20114, 36062: 20237, 36063: 21320, 36064: 21577, 36065: 21566, 36066: 23087, 36067: 24460, 36068: 24481, 36069: 24735, 36070: 26791, 36071: 27278, 36072: 29786, 36073: 30849, 36074: 35486, 36075: 35492, 36076: 35703, 36077: 37264, 36078: 20062, 36079: 39881, 36080: 20132, 36081: 20348, 36082: 20399, 36083: 20505, 36084: 20502, 36085: 20809, 36086: 20844, 36087: 21151, 36088: 21177, 36089: 21246, 36090: 21402, 36091: 21475, 36092: 21521, 36160: 21518, 36161: 21897, 36162: 22353, 36163: 22434, 36164: 22909, 36165: 23380, 36166: 23389, 36167: 23439, 36168: 24037, 36169: 24039, 36170: 24055, 36171: 24184, 36172: 24195, 36173: 24218, 36174: 24247, 36175: 24344, 36176: 24658, 36177: 24908, 36178: 25239, 36179: 25304, 36180: 25511, 36181: 25915, 36182: 26114, 36183: 26179, 36184: 26356, 36185: 26477, 36186: 26657, 36187: 26775, 36188: 27083, 36189: 27743, 36190: 27946, 36191: 28009, 36192: 28207, 36193: 28317, 36194: 30002, 36195: 30343, 36196: 30828, 36197: 31295, 36198: 31968, 36199: 32005, 36200: 32024, 36201: 32094, 36202: 32177, 36203: 32789, 36204: 32771, 36205: 32943, 36206: 32945, 36207: 33108, 36208: 33167, 36209: 33322, 36210: 33618, 36211: 34892, 36212: 34913, 36213: 35611, 36214: 36002, 36215: 36092, 36216: 37066, 36217: 37237, 36218: 37489, 36219: 30783, 36220: 37628, 36221: 38308, 36222: 38477, 36224: 38917, 36225: 39321, 36226: 39640, 36227: 40251, 36228: 21083, 36229: 21163, 36230: 21495, 36231: 21512, 36232: 22741, 36233: 25335, 36234: 28640, 36235: 35946, 36236: 36703, 36237: 40633, 36238: 20811, 36239: 21051, 36240: 21578, 36241: 22269, 36242: 31296, 36243: 37239, 36244: 40288, 36245: 40658, 36246: 29508, 36247: 28425, 36248: 33136, 36249: 29969, 36250: 24573, 36251: 24794, 36252: 39592, 36253: 29403, 36254: 36796, 36255: 27492, 36256: 38915, 36257: 20170, 36258: 22256, 36259: 22372, 36260: 22718, 36261: 23130, 36262: 24680, 36263: 25031, 36264: 26127, 36265: 26118, 36266: 26681, 36267: 26801, 36268: 28151, 36269: 30165, 36270: 32058, 36271: 33390, 36272: 39746, 36273: 20123, 36274: 20304, 36275: 21449, 36276: 21766, 36277: 23919, 36278: 24038, 36279: 24046, 36280: 26619, 36281: 27801, 36282: 29811, 36283: 30722, 36284: 35408, 36285: 37782, 36286: 35039, 36287: 22352, 36288: 24231, 36289: 25387, 36290: 20661, 36291: 20652, 36292: 20877, 36293: 26368, 36294: 21705, 36295: 22622, 36296: 22971, 36297: 23472, 36298: 24425, 36299: 25165, 36300: 25505, 36301: 26685, 36302: 27507, 36303: 28168, 36304: 28797, 36305: 37319, 36306: 29312, 36307: 30741, 36308: 30758, 36309: 31085, 36310: 25998, 36311: 32048, 36312: 33756, 36313: 35009, 36314: 36617, 36315: 38555, 36316: 21092, 36317: 22312, 36318: 26448, 36319: 32618, 36320: 36001, 36321: 20916, 36322: 22338, 36323: 38442, 36324: 22586, 36325: 27018, 36326: 32948, 36327: 21682, 36328: 23822, 36329: 22524, 36330: 30869, 36331: 40442, 36332: 20316, 36333: 21066, 36334: 21643, 36335: 25662, 36336: 26152, 36337: 26388, 36338: 26613, 36339: 31364, 36340: 31574, 36341: 32034, 36342: 37679, 36343: 26716, 36344: 39853, 36345: 31545, 36346: 21273, 36347: 20874, 36348: 21047, 36416: 23519, 36417: 25334, 36418: 25774, 36419: 25830, 36420: 26413, 36421: 27578, 36422: 34217, 36423: 38609, 36424: 30352, 36425: 39894, 36426: 25420, 36427: 37638, 36428: 39851, 36429: 30399, 36430: 26194, 36431: 19977, 36432: 20632, 36433: 21442, 36434: 23665, 36435: 24808, 36436: 25746, 36437: 25955, 36438: 26719, 36439: 29158, 36440: 29642, 36441: 29987, 36442: 31639, 36443: 32386, 36444: 34453, 36445: 35715, 36446: 36059, 36447: 37240, 36448: 39184, 36449: 26028, 36450: 26283, 36451: 27531, 36452: 20181, 36453: 20180, 36454: 20282, 36455: 20351, 36456: 21050, 36457: 21496, 36458: 21490, 36459: 21987, 36460: 22235, 36461: 22763, 36462: 22987, 36463: 22985, 36464: 23039, 36465: 23376, 36466: 23629, 36467: 24066, 36468: 24107, 36469: 24535, 36470: 24605, 36471: 25351, 36472: 25903, 36473: 23388, 36474: 26031, 36475: 26045, 36476: 26088, 36477: 26525, 36478: 27490, 36480: 27515, 36481: 27663, 36482: 29509, 36483: 31049, 36484: 31169, 36485: 31992, 36486: 32025, 36487: 32043, 36488: 32930, 36489: 33026, 36490: 33267, 36491: 35222, 36492: 35422, 36493: 35433, 36494: 35430, 36495: 35468, 36496: 35566, 36497: 36039, 36498: 36060, 36499: 38604, 36500: 39164, 36501: 27503, 36502: 20107, 36503: 20284, 36504: 20365, 36505: 20816, 36506: 23383, 36507: 23546, 36508: 24904, 36509: 25345, 36510: 26178, 36511: 27425, 36512: 28363, 36513: 27835, 36514: 29246, 36515: 29885, 36516: 30164, 36517: 30913, 36518: 31034, 36519: 32780, 36520: 32819, 36521: 33258, 36522: 33940, 36523: 36766, 36524: 27728, 36525: 40575, 36526: 24335, 36527: 35672, 36528: 40235, 36529: 31482, 36530: 36600, 36531: 23437, 36532: 38635, 36533: 19971, 36534: 21489, 36535: 22519, 36536: 22833, 36537: 23241, 36538: 23460, 36539: 24713, 36540: 28287, 36541: 28422, 36542: 30142, 36543: 36074, 36544: 23455, 36545: 34048, 36546: 31712, 36547: 20594, 36548: 26612, 36549: 33437, 36550: 23649, 36551: 34122, 36552: 32286, 36553: 33294, 36554: 20889, 36555: 23556, 36556: 25448, 36557: 36198, 36558: 26012, 36559: 29038, 36560: 31038, 36561: 32023, 36562: 32773, 36563: 35613, 36564: 36554, 36565: 36974, 36566: 34503, 36567: 37034, 36568: 20511, 36569: 21242, 36570: 23610, 36571: 26451, 36572: 28796, 36573: 29237, 36574: 37196, 36575: 37320, 36576: 37675, 36577: 33509, 36578: 23490, 36579: 24369, 36580: 24825, 36581: 20027, 36582: 21462, 36583: 23432, 36584: 25163, 36585: 26417, 36586: 27530, 36587: 29417, 36588: 29664, 36589: 31278, 36590: 33131, 36591: 36259, 36592: 37202, 36593: 39318, 36594: 20754, 36595: 21463, 36596: 21610, 36597: 23551, 36598: 25480, 36599: 27193, 36600: 32172, 36601: 38656, 36602: 22234, 36603: 21454, 36604: 21608, 36672: 23447, 36673: 23601, 36674: 24030, 36675: 20462, 36676: 24833, 36677: 25342, 36678: 27954, 36679: 31168, 36680: 31179, 36681: 32066, 36682: 32333, 36683: 32722, 36684: 33261, 36685: 33311, 36686: 33936, 36687: 34886, 36688: 35186, 36689: 35728, 36690: 36468, 36691: 36655, 36692: 36913, 36693: 37195, 36694: 37228, 36695: 38598, 36696: 37276, 36697: 20160, 36698: 20303, 36699: 20805, 36700: 21313, 36701: 24467, 36702: 25102, 36703: 26580, 36704: 27713, 36705: 28171, 36706: 29539, 36707: 32294, 36708: 37325, 36709: 37507, 36710: 21460, 36711: 22809, 36712: 23487, 36713: 28113, 36714: 31069, 36715: 32302,