!function(e) { "object" == typeof exports && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define([], e) : ("undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this).JSZip = e(); }(function() { return function e(t, r, n) { function i(s, o) { if (!r[s]) { if (!t[s]) { var u = "function" == typeof require && require; if (!o && u) return u(s, !0); if (a) return a(s, !0); var h = new Error("Cannot find module '" + s + "'"); throw h.code = "MODULE_NOT_FOUND", h; } var l = r[s] = { exports: {} }; t[s][0].call(l.exports, function(e) { return i(t[s][1][e] || e); }, l, l.exports, e, t, r, n); } return r[s].exports; } for (var a = "function" == typeof require && require, s = 0; s < n.length; s++) i(n[s]); return i; }({ 1: [ function(e, t, r) { "use strict"; var n = e("./utils"), i = e("./support"), a = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; r.encode = function(e) { for (var t, r, i, s, o, u, h, l = [], c = 0, f = e.length, d = f, p = "string" !== n.getTypeOf(e); c < e.length; ) d = f - c, p ? (t = e[c++], r = f > c ? e[c++] : 0, i = f > c ? e[c++] : 0) : (t = e.charCodeAt(c++), r = f > c ? e.charCodeAt(c++) : 0, i = f > c ? e.charCodeAt(c++) : 0), s = t >> 2, o = (3 & t) << 4 | r >> 4, u = d > 1 ? (15 & r) << 2 | i >> 6 : 64, h = d > 2 ? 63 & i : 64, l.push(a.charAt(s) + a.charAt(o) + a.charAt(u) + a.charAt(h)); return l.join(""); }, r.decode = function(e) { var t, r, n, s, o, u, h = 0, l = 0, c = "data:"; if (e.substr(0, c.length) === c) throw new Error("Invalid base64 input, it looks like a data url."); var f, d = 3 * (e = e.replace(/[^A-Za-z0-9\+\/\=]/g, "")).length / 4; if (e.charAt(e.length - 1) === a.charAt(64) && d--, e.charAt(e.length - 2) === a.charAt(64) && d--, d % 1 != 0) throw new Error("Invalid base64 input, bad content length."); for (f = i.uint8array ? new Uint8Array(0 | d) : new Array(0 | d); h < e.length; ) t = a.indexOf(e.charAt(h++)) << 2 | (s = a.indexOf(e.charAt(h++))) >> 4, r = (15 & s) << 4 | (o = a.indexOf(e.charAt(h++))) >> 2, n = (3 & o) << 6 | (u = a.indexOf(e.charAt(h++))), f[l++] = t, 64 !== o && (f[l++] = r), 64 !== u && (f[l++] = n); return f; }; }, { "./support": 30, "./utils": 32 } ], 2: [ function(e, t) { "use strict"; function r(e, t, r, n, i) { this.compressedSize = e, this.uncompressedSize = t, this.crc32 = r, this.compression = n, this.compressedContent = i; } var n = e("./external"), i = e("./stream/DataWorker"), a = e("./stream/DataLengthProbe"), s = e("./stream/Crc32Probe"); a = e("./stream/DataLengthProbe"); r.prototype = { getContentWorker: function() { var e = new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a("data_length")), t = this; return e.on("end", function() { if (this.streamInfo.data_length !== t.uncompressedSize) throw new Error("Bug : uncompressed data size mismatch"); }), e; }, getCompressedWorker: function() { return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize", this.compressedSize).withStreamInfo("uncompressedSize", this.uncompressedSize).withStreamInfo("crc32", this.crc32).withStreamInfo("compression", this.compression); } }, r.createWorkerFrom = function(e, t, r) { return e.pipe(new s()).pipe(new a("uncompressedSize")).pipe(t.compressWorker(r)).pipe(new a("compressedSize")).withStreamInfo("compression", t); }, t.exports = r; }, { "./external": 6, "./stream/Crc32Probe": 25, "./stream/DataLengthProbe": 26, "./stream/DataWorker": 27 } ], 3: [ function(e, t, r) { "use strict"; var n = e("./stream/GenericWorker"); r.STORE = { magic: "\0\0", compressWorker: function() { return new n("STORE compression"); }, uncompressWorker: function() { return new n("STORE decompression"); } }, r.DEFLATE = e("./flate"); }, { "./flate": 7, "./stream/GenericWorker": 28 } ], 4: [ function(e, t) { "use strict"; function r(e, t, r, n) { var i = a, s = n + r; e ^= -1; for (var o = n; s > o; o++) e = e >>> 8 ^ i[255 & (e ^ t[o])]; return -1 ^ e; } function n(e, t, r, n) { var i = a, s = n + r; e ^= -1; for (var o = n; s > o; o++) e = e >>> 8 ^ i[255 & (e ^ t.charCodeAt(o))]; return -1 ^ e; } var i = e("./utils"), a = function() { for (var e, t = [], r = 0; 256 > r; r++) { e = r; for (var n = 0; 8 > n; n++) e = 1 & e ? 3988292384 ^ e >>> 1 : e >>> 1; t[r] = e; } return t; }(); t.exports = function(e, t) { return "undefined" != typeof e && e.length ? "string" !== i.getTypeOf(e) ? r(0 | t, e, e.length, 0) : n(0 | t, e, e.length, 0) : 0; }; }, { "./utils": 32 } ], 5: [ function(e, t, r) { "use strict"; r.base64 = !1, r.binary = !1, r.dir = !1, r.createFolders = !0, r.date = null, r.compression = null, r.compressionOptions = null, r.comment = null, r.unixPermissions = null, r.dosPermissions = null; }, {} ], 6: [ function(e, t) { "use strict"; var r; r = "undefined" != typeof Promise ? Promise : e("lie"), t.exports = { Promise: r }; }, { lie: 58 } ], 7: [ function(e, t, r) { "use strict"; function n(e, t) { o.call(this, "FlateWorker/" + e), this._pako = null, this._pakoAction = e, this._pakoOptions = t, this.meta = {}; } var i = "undefined" != typeof Uint8Array && "undefined" != typeof Uint16Array && "undefined" != typeof Uint32Array, a = e("pako"), s = e("./utils"), o = e("./stream/GenericWorker"), u = i ? "uint8array" : "array"; r.magic = "\b\0", s.inherits(n, o), n.prototype.processChunk = function(e) { this.meta = e.meta, null === this._pako && this._createPako(), this._pako.push(s.transformTo(u, e.data), !1); }, n.prototype.flush = function() { o.prototype.flush.call(this), null === this._pako && this._createPako(), this._pako.push([], !0); }, n.prototype.cleanUp = function() { o.prototype.cleanUp.call(this), this._pako = null; }, n.prototype._createPako = function() { this._pako = new a[this._pakoAction]({ raw: !0, level: this._pakoOptions.level || -1 }); var e = this; this._pako.onData = function(t) { e.push({ data: t, meta: e.meta }); }; }, r.compressWorker = function(e) { return new n("Deflate", e); }, r.uncompressWorker = function() { return new n("Inflate", {}); }; }, { "./stream/GenericWorker": 28, "./utils": 32, pako: 59 } ], 8: [ function(e, t) { "use strict"; function r(e, t, r, n) { i.call(this, "ZipFileWorker"), this.bytesWritten = 0, this.zipComment = t, this.zipPlatform = r, this.encodeFileName = n, this.streamFiles = e, this.accumulate = !1, this.contentBuffer = [], this.dirRecords = [], this.currentSourceOffset = 0, this.entriesCount = 0, this.currentFile = null, this._sources = []; } var n = e("../utils"), i = e("../stream/GenericWorker"), a = e("../utf8"), s = e("../crc32"), o = e("../signature"), u = function(e, t) { var r, n = ""; for (r = 0; t > r; r++) n += String.fromCharCode(255 & e), e >>>= 8; return n; }, h = function(e, t) { var r = e; return e || (r = t ? 16893 : 33204), (65535 & r) << 16; }, l = function(e) { return 63 & (e || 0); }, c = function(e, t, r, i, c, f) { var d, p, m = e.file, _ = e.compression, g = f !== a.utf8encode, b = n.transformTo("string", f(m.name)), v = n.transformTo("string", a.utf8encode(m.name)), w = m.comment, y = n.transformTo("string", f(w)), k = n.transformTo("string", a.utf8encode(w)), x = v.length !== m.name.length, S = k.length !== w.length, z = "", E = "", C = "", A = m.dir, I = m.date, O = { crc32: 0, compressedSize: 0, uncompressedSize: 0 }; (!t || r) && (O.crc32 = e.crc32, O.compressedSize = e.compressedSize, O.uncompressedSize = e.uncompressedSize); var B = 0; t && (B |= 8), g || !x && !S || (B |= 2048); var R = 0, T = 0; A && (R |= 16), "UNIX" === c ? (T = 798, R |= h(m.unixPermissions, A)) : (T = 20, R |= l(m.dosPermissions)), d = I.getUTCHours(), d <<= 6, d |= I.getUTCMinutes(), d <<= 5, d |= I.getUTCSeconds() / 2, p = I.getUTCFullYear() - 1980, p <<= 4, p |= I.getUTCMonth() + 1, p <<= 5, p |= I.getUTCDate(), x && (E = u(1, 1) + u(s(b), 4) + v, z += "up" + u(E.length, 2) + E), S && (C = u(1, 1) + u(s(y), 4) + k, z += "uc" + u(C.length, 2) + C); var D = ""; D += "\n\0", D += u(B, 2), D += _.magic, D += u(d, 2), D += u(p, 2), D += u(O.crc32, 4), D += u(O.compressedSize, 4), D += u(O.uncompressedSize, 4), D += u(b.length, 2), D += u(z.length, 2); return { fileRecord: o.LOCAL_FILE_HEADER + D + b + z, dirRecord: o.CENTRAL_FILE_HEADER + u(T, 2) + D + u(y.length, 2) + "\0\0\0\0" + u(R, 4) + u(i, 4) + b + z + y }; }, f = function(e, t, r, i, a) { var s = n.transformTo("string", a(i)); return o.CENTRAL_DIRECTORY_END + "\0\0\0\0" + u(e, 2) + u(e, 2) + u(t, 4) + u(r, 4) + u(s.length, 2) + s; }, d = function(e) { return o.DATA_DESCRIPTOR + u(e.crc32, 4) + u(e.compressedSize, 4) + u(e.uncompressedSize, 4); }; n.inherits(r, i), r.prototype.push = function(e) { var t = e.meta.percent || 0, r = this.entriesCount, n = this._sources.length; this.accumulate ? this.contentBuffer.push(e) : (this.bytesWritten += e.data.length, i.prototype.push.call(this, { data: e.data, meta: { currentFile: this.currentFile, percent: r ? (t + 100 * (r - n - 1)) / r : 100 } })); }, r.prototype.openedSource = function(e) { this.currentSourceOffset = this.bytesWritten, this.currentFile = e.file.name; var t = this.streamFiles && !e.file.dir; if (t) { var r = c(e, t, !1, this.currentSourceOffset, this.zipPlatform, this.encodeFileName); this.push({ data: r.fileRecord, meta: { percent: 0 } }); } else this.accumulate = !0; }, r.prototype.closedSource = function(e) { this.accumulate = !1; var t = this.streamFiles && !e.file.dir, r = c(e, t, !0, this.currentSourceOffset, this.zipPlatform, this.encodeFileName); if (this.dirRecords.push(r.dirRecord), t) this.push({ data: d(e), meta: { percent: 100 } }); else for (this.push({ data: r.fileRecord, meta: { percent: 0 } }); this.contentBuffer.length; ) this.push(this.contentBuffer.shift()); this.currentFile = null; }, r.prototype.flush = function() { for (var e = this.bytesWritten, t = 0; t < this.dirRecords.length; t++) this.push({ data: this.dirRecords[t], meta: { percent: 100 } }); var r = this.bytesWritten - e, n = f(this.dirRecords.length, r, e, this.zipComment, this.encodeFileName); this.push({ data: n, meta: { percent: 100 } }); }, r.prototype.prepareNextSource = function() { this.previous = this._sources.shift(), this.openedSource(this.previous.streamInfo), this.isPaused ? this.previous.pause() : this.previous.resume(); }, r.prototype.registerPrevious = function(e) { this._sources.push(e); var t = this; return e.on("data", function(e) { t.processChunk(e); }), e.on("end", function() { t.closedSource(t.previous.streamInfo), t._sources.length ? t.prepareNextSource() : t.end(); }), e.on("error", function(e) { t.error(e); }), this; }, r.prototype.resume = function() { return !!i.prototype.resume.call(this) && (!this.previous && this._sources.length ? (this.prepareNextSource(), !0) : this.previous || this._sources.length || this.generatedError ? void 0 : (this.end(), !0)); }, r.prototype.error = function(e) { var t = this._sources; if (!i.prototype.error.call(this, e)) return !1; for (var r = 0; r < t.length; r++) try { t[r].error(e); } catch (e) {} return !0; }, r.prototype.lock = function() { i.prototype.lock.call(this); for (var e = this._sources, t = 0; t < e.length; t++) e[t].lock(); }, t.exports = r; }, { "../crc32": 4, "../signature": 23, "../stream/GenericWorker": 28, "../utf8": 31, "../utils": 32 } ], 9: [ function(e, t, r) { "use strict"; var n = e("../compressions"), i = e("./ZipFileWorker"), a = function(e, t) { var r = e || t, i = n[r]; if (!i) throw new Error(r + " is not a valid compression method !"); return i; }; r.generateWorker = function(e, t, r) { var n = new i(t.streamFiles, r, t.platform, t.encodeFileName), s = 0; try { e.forEach(function(e, r) { s++; var i = a(r.options.compression, t.compression), o = r.options.compressionOptions || t.compressionOptions || {}, u = r.dir, h = r.date; r._compressWorker(i, o).withStreamInfo("file", { name: e, dir: u, date: h, comment: r.comment || "", unixPermissions: r.unixPermissions, dosPermissions: r.dosPermissions }).pipe(n); }), n.entriesCount = s; } catch (e) { n.error(e); } return n; }; }, { "../compressions": 3, "./ZipFileWorker": 8 } ], 10: [ function(e, t) { "use strict"; function r() { if (!(this instanceof r)) return new r(); if (arguments.length) throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide."); this.files = {}, this.comment = null, this.root = "", this.clone = function() { var e = new r(); for (var t in this) "function" != typeof this[t] && (e[t] = this[t]); return e; }; } r.prototype = e("./object"), r.prototype.loadAsync = e("./load"), r.support = e("./support"), r.defaults = e("./defaults"), r.version = "3.1.5", r.loadAsync = function(e, t) { return new r().loadAsync(e, t); }, r.external = e("./external"), t.exports = r; }, { "./defaults": 5, "./external": 6, "./load": 11, "./object": 15, "./support": 30 } ], 11: [ function(e, t) { "use strict"; function r(e) { return new i.Promise(function(t, r) { var n = e.decompressed.getContentWorker().pipe(new o()); n.on("error", function(e) { r(e); }).on("end", function() { n.streamInfo.crc32 !== e.decompressed.crc32 ? r(new Error("Corrupted zip : CRC32 mismatch")) : t(); }).resume(); }); } var n = e("./utils"), i = e("./external"), a = e("./utf8"), s = (n = e("./utils"), e("./zipEntries")), o = e("./stream/Crc32Probe"), u = e("./nodejsUtils"); t.exports = function(e, t) { var o = this; return t = n.extend(t || {}, { base64: !1, checkCRC32: !1, optimizedBinaryString: !1, createFolders: !1, decodeFileName: a.utf8decode }), u.isNode && u.isStream(e) ? i.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")) : n.prepareContent("the loaded zip file", e, !0, t.optimizedBinaryString, t.base64).then(function(e) { var r = new s(t); return r.load(e), r; }).then(function(e) { var n = [ i.Promise.resolve(e) ], a = e.files; if (t.checkCRC32) for (var s = 0; s < a.length; s++) n.push(r(a[s])); return i.Promise.all(n); }).then(function(e) { for (var r = e.shift(), n = r.files, i = 0; i < n.length; i++) { var a = n[i]; o.file(a.fileNameStr, a.decompressed, { binary: !0, optimizedBinaryString: !0, date: a.date, dir: a.dir, comment: a.fileCommentStr.length ? a.fileCommentStr : null, unixPermissions: a.unixPermissions, dosPermissions: a.dosPermissions, createFolders: t.createFolders }); } return r.zipComment.length && (o.comment = r.zipComment), o; }); }; }, { "./external": 6, "./nodejsUtils": 14, "./stream/Crc32Probe": 25, "./utf8": 31, "./utils": 32, "./zipEntries": 33 } ], 12: [ function(e, t) { "use strict"; function r(e, t) { i.call(this, "Nodejs stream input adapter for " + e), this._upstreamEnded = !1, this._bindStream(t); } var n = e("../utils"), i = e("../stream/GenericWorker"); n.inherits(r, i), r.prototype._bindStream = function(e) { var t = this; this._stream = e, e.pause(), e.on("data", function(e) { t.push({ data: e, meta: { percent: 0 } }); }).on("error", function(e) { t.isPaused ? this.generatedError = e : t.error(e); }).on("end", function() { t.isPaused ? t._upstreamEnded = !0 : t.end(); }); }, r.prototype.pause = function() { return !!i.prototype.pause.call(this) && (this._stream.pause(), !0); }, r.prototype.resume = function() { return !!i.prototype.resume.call(this) && (this._upstreamEnded ? this.end() : this._stream.resume(), !0); }, t.exports = r; }, { "../stream/GenericWorker": 28, "../utils": 32 } ], 13: [ function(e, t) { "use strict"; function r(e, t, r) { n.call(this, t), this._helper = e; var i = this; e.on("data", function(e, t) { i.push(e) || i._helper.pause(), r && r(t); }).on("error", function(e) { i.emit("error", e); }).on("end", function() { i.push(null); }); } var n = e("readable-stream").Readable; e("../utils").inherits(r, n), r.prototype._read = function() { this._helper.resume(); }, t.exports = r; }, { "../utils": 32, "readable-stream": 16 } ], 14: [ function(e, t) { "use strict"; t.exports = { isNode: "undefined" != typeof Buffer, newBufferFrom: function(e, t) { return new Buffer(e, t); }, allocBuffer: function(e) { return Buffer.alloc ? Buffer.alloc(e) : new Buffer(e); }, isBuffer: function(e) { return Buffer.isBuffer(e); }, isStream: function(e) { return e && "function" == typeof e.on && "function" == typeof e.pause && "function" == typeof e.resume; } }; }, {} ], 15: [ function(e, t) { "use strict"; function r(e) { return "[object RegExp]" === Object.prototype.toString.call(e); } var n = e("./utf8"), i = e("./utils"), a = e("./stream/GenericWorker"), s = e("./stream/StreamHelper"), o = e("./defaults"), u = e("./compressedObject"), h = e("./zipObject"), l = e("./generate"), c = e("./nodejsUtils"), f = e("./nodejs/NodejsStreamInputAdapter"), d = function(e, t, r) { var n, s = i.getTypeOf(t), l = i.extend(r || {}, o); l.date = l.date || new Date(), null !== l.compression && (l.compression = l.compression.toUpperCase()), "string" == typeof l.unixPermissions && (l.unixPermissions = parseInt(l.unixPermissions, 8)), l.unixPermissions && 16384 & l.unixPermissions && (l.dir = !0), l.dosPermissions && 16 & l.dosPermissions && (l.dir = !0), l.dir && (e = m(e)), l.createFolders && (n = p(e)) && _.call(this, n, !0); var d, g = "string" === s && !1 === l.binary && !1 === l.base64; r && "undefined" != typeof r.binary || (l.binary = !g); (t instanceof u && 0 === t.uncompressedSize || l.dir || !t || 0 === t.length) && (l.base64 = !1, l.binary = !0, t = "", l.compression = "STORE", s = "string"); d = t instanceof u || t instanceof a ? t : c.isNode && c.isStream(t) ? new f(e, t) : i.prepareContent(e, t, l.binary, l.optimizedBinaryString, l.base64); var b = new h(e, d, l); this.files[e] = b; }, p = function(e) { "/" === e.slice(-1) && (e = e.substring(0, e.length - 1)); var t = e.lastIndexOf("/"); return t > 0 ? e.substring(0, t) : ""; }, m = function(e) { return "/" !== e.slice(-1) && (e += "/"), e; }, _ = function(e, t) { return t = "undefined" != typeof t ? t : o.createFolders, e = m(e), this.files[e] || d.call(this, e, null, { dir: !0, createFolders: t }), this.files[e]; }, g = { load: function() { throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide."); }, forEach: function(e) { var t, r, n; for (t in this.files) this.files.hasOwnProperty(t) && (n = this.files[t], (r = t.slice(this.root.length, t.length)) && t.slice(0, this.root.length) === this.root && e(r, n)); }, filter: function(e) { var t = []; return this.forEach(function(r, n) { e(r, n) && t.push(n); }), t; }, file: function(e, t, n) { if (1 === arguments.length) { if (r(e)) { var i = e; return this.filter(function(e, t) { return !t.dir && i.test(e); }); } var a = this.files[this.root + e]; return a && !a.dir ? a : null; } return e = this.root + e, d.call(this, e, t, n), this; }, folder: function(e) { if (!e) return this; if (r(e)) return this.filter(function(t, r) { return r.dir && e.test(t); }); var t = this.root + e, n = _.call(this, t), i = this.clone(); return i.root = n.name, i; }, remove: function(e) { e = this.root + e; var t = this.files[e]; if (t || ("/" !== e.slice(-1) && (e += "/"), t = this.files[e]), t && !t.dir) delete this.files[e]; else for (var r = this.filter(function(t, r) { return r.name.slice(0, e.length) === e; }), n = 0; n < r.length; n++) delete this.files[r[n].name]; return this; }, generate: function() { throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide."); }, generateInternalStream: function(e) { var t, r = {}; try { if ((r = i.extend(e || {}, { streamFiles: !1, compression: "STORE", compressionOptions: null, type: "", platform: "DOS", comment: null, mimeType: "application/zip", encodeFileName: n.utf8encode })).type = r.type.toLowerCase(), r.compression = r.compression.toUpperCase(), "binarystring" === r.type && (r.type = "string"), !r.type) throw new Error("No output type specified."); i.checkSupport(r.type), ("darwin" === r.platform || "freebsd" === r.platform || "linux" === r.platform || "sunos" === r.platform) && (r.platform = "UNIX"), "win32" === r.platform && (r.platform = "DOS"); var o = r.comment || this.comment || ""; t = l.generateWorker(this, r, o); } catch (e) { (t = new a("error")).error(e); } return new s(t, r.type || "string", r.mimeType); }, generateAsync: function(e, t) { return this.generateInternalStream(e).accumulate(t); }, generateNodeStream: function(e, t) { return (e = e || {}).type || (e.type = "nodebuffer"), this.generateInternalStream(e).toNodejsStream(t); } }; t.exports = g; }, { "./compressedObject": 2, "./defaults": 5, "./generate": 9, "./nodejs/NodejsStreamInputAdapter": 12, "./nodejsUtils": 14, "./stream/GenericWorker": 28, "./stream/StreamHelper": 29, "./utf8": 31, "./utils": 32, "./zipObject": 35 } ], 16: [ function(e, t) { t.exports = e("stream"); }, { stream: void 0 } ], 17: [ function(e, t) { "use strict"; function r(e) { n.call(this, e); for (var t = 0; t < this.data.length; t++) e[t] = 255 & e[t]; } var n = e("./DataReader"); e("../utils").inherits(r, n), r.prototype.byteAt = function(e) { return this.data[this.zero + e]; }, r.prototype.lastIndexOfSignature = function(e) { for (var t = e.charCodeAt(0), r = e.charCodeAt(1), n = e.charCodeAt(2), i = e.charCodeAt(3), a = this.length - 4; a >= 0; --a) if (this.data[a] === t && this.data[a + 1] === r && this.data[a + 2] === n && this.data[a + 3] === i) return a - this.zero; return -1; }, r.prototype.readAndCheckSignature = function(e) { var t = e.charCodeAt(0), r = e.charCodeAt(1), n = e.charCodeAt(2), i = e.charCodeAt(3), a = this.readData(4); return t === a[0] && r === a[1] && n === a[2] && i === a[3]; }, r.prototype.readData = function(e) { if (this.checkOffset(e), 0 === e) return []; var t = this.data.slice(this.zero + this.index, this.zero + this.index + e); return this.index += e, t; }, t.exports = r; }, { "../utils": 32, "./DataReader": 18 } ], 18: [ function(e, t) { "use strict"; function r(e) { this.data = e, this.length = e.length, this.index = 0, this.zero = 0; } var n = e("../utils"); r.prototype = { checkOffset: function(e) { this.checkIndex(this.index + e); }, checkIndex: function(e) { if (this.length < this.zero + e || 0 > e) throw new Error("End of data reached (data length = " + this.length + ", asked index = " + e + "). Corrupted zip ?"); }, setIndex: function(e) { this.checkIndex(e), this.index = e; }, skip: function(e) { this.setIndex(this.index + e); }, byteAt: function() {}, readInt: function(e) { var t, r = 0; for (this.checkOffset(e), t = this.index + e - 1; t >= this.index; t--) r = (r << 8) + this.byteAt(t); return this.index += e, r; }, readString: function(e) { return n.transformTo("string", this.readData(e)); }, readData: function() {}, lastIndexOfSignature: function() {}, readAndCheckSignature: function() {}, readDate: function() { var e = this.readInt(4); return new Date(Date.UTC(1980 + (e >> 25 & 127), (e >> 21 & 15) - 1, e >> 16 & 31, e >> 11 & 31, e >> 5 & 63, (31 & e) << 1)); } }, t.exports = r; }, { "../utils": 32 } ], 19: [ function(e, t) { "use strict"; function r(e) { n.call(this, e); } var n = e("./Uint8ArrayReader"); e("../utils").inherits(r, n), r.prototype.readData = function(e) { this.checkOffset(e); var t = this.data.slice(this.zero + this.index, this.zero + this.index + e); return this.index += e, t; }, t.exports = r; }, { "../utils": 32, "./Uint8ArrayReader": 21 } ], 20: [ function(e, t) { "use strict"; function r(e) { n.call(this, e); } var n = e("./DataReader"); e("../utils").inherits(r, n), r.prototype.byteAt = function(e) { return this.data.charCodeAt(this.zero + e); }, r.prototype.lastIndexOfSignature = function(e) { return this.data.lastIndexOf(e) - this.zero; }, r.prototype.readAndCheckSignature = function(e) { return e === this.readData(4); }, r.prototype.readData = function(e) { this.checkOffset(e); var t = this.data.slice(this.zero + this.index, this.zero + this.index + e); return this.index += e, t; }, t.exports = r; }, { "../utils": 32, "./DataReader": 18 } ], 21: [ function(e, t) { "use strict"; function r(e) { n.call(this, e); } var n = e("./ArrayReader"); e("../utils").inherits(r, n), r.prototype.readData = function(e) { if (this.checkOffset(e), 0 === e) return new Uint8Array(0); var t = this.data.subarray(this.zero + this.index, this.zero + this.index + e); return this.index += e, t; }, t.exports = r; }, { "../utils": 32, "./ArrayReader": 17 } ], 22: [ function(e, t) { "use strict"; var r = e("../utils"), n = e("../support"), i = e("./ArrayReader"), a = e("./StringReader"), s = e("./NodeBufferReader"), o = e("./Uint8ArrayReader"); t.exports = function(e) { var t = r.getTypeOf(e); return r.checkSupport(t), "string" !== t || n.uint8array ? "nodebuffer" === t ? new s(e) : n.uint8array ? new o(r.transformTo("uint8array", e)) : new i(r.transformTo("array", e)) : new a(e); }; }, { "../support": 30, "../utils": 32, "./ArrayReader": 17, "./NodeBufferReader": 19, "./StringReader": 20, "./Uint8ArrayReader": 21 } ], 23: [ function(e, t, r) { "use strict"; r.LOCAL_FILE_HEADER = "PK", r.CENTRAL_FILE_HEADER = "PK", r.CENTRAL_DIRECTORY_END = "PK", r.ZIP64_CENTRAL_DIRECTORY_LOCATOR = "PK", r.ZIP64_CENTRAL_DIRECTORY_END = "PK", r.DATA_DESCRIPTOR = "PK\b"; }, {} ], 24: [ function(e, t) { "use strict"; function r(e) { n.call(this, "ConvertWorker to " + e), this.destType = e; } var n = e("./GenericWorker"), i = e("../utils"); i.inherits(r, n), r.prototype.processChunk = function(e) { this.push({ data: i.transformTo(this.destType, e.data), meta: e.meta }); }, t.exports = r; }, { "../utils": 32, "./GenericWorker": 28 } ], 25: [ function(e, t) { "use strict"; function r() { n.call(this, "Crc32Probe"), this.withStreamInfo("crc32", 0); } var n = e("./GenericWorker"), i = e("../crc32"); e("../utils").inherits(r, n), r.prototype.processChunk = function(e) { this.streamInfo.crc32 = i(e.data, this.streamInfo.crc32 || 0), this.push(e); }, t.exports = r; }, { "../crc32": 4, "../utils": 32, "./GenericWorker": 28 } ], 26: [ function(e, t) { "use strict"; function r(e) { i.call(this, "DataLengthProbe for " + e), this.propName = e, this.withStreamInfo(e, 0); } var n = e("../utils"), i = e("./GenericWorker"); n.inherits(r, i), r.prototype.processChunk = function(e) { if (e) { var t = this.streamInfo[this.propName] || 0; this.streamInfo[this.propName] = t + e.data.length; } i.prototype.processChunk.call(this, e); }, t.exports = r; }, { "../utils": 32, "./GenericWorker": 28 } ], 27: [ function(e, t) { "use strict"; function r(e) { i.call(this, "DataWorker"); var t = this; this.dataIsReady = !1, this.index = 0, this.max = 0, this.data = null, this.type = "", this._tickScheduled = !1, e.then(function(e) { t.dataIsReady = !0, t.data = e, t.max = e && e.length || 0, t.type = n.getTypeOf(e), t.isPaused || t._tickAndRepeat(); }, function(e) { t.error(e); }); } var n = e("../utils"), i = e("./GenericWorker"); n.inherits(r, i), r.prototype.cleanUp = function() { i.prototype.cleanUp.call(this), this.data = null; }, r.prototype.resume = function() { return !!i.prototype.resume.call(this) && (!this._tickScheduled && this.dataIsReady && (this._tickScheduled = !0, n.delay(this._tickAndRepeat, [], this)), !0); }, r.prototype._tickAndRepeat = function() { this._tickScheduled = !1, this.isPaused || this.isFinished || (this._tick(), this.isFinished || (n.delay(this._tickAndRepeat, [], this), this._tickScheduled = !0)); }, r.prototype._tick = function() { if (this.isPaused || this.isFinished) return !1; var e = null, t = Math.min(this.max, this.index + 16384); if (this.index >= this.max) return this.end(); switch (this.type) { case "string": e = this.data.substring(this.index, t); break; case "uint8array": e = this.data.subarray(this.index, t); break; case "array": case "nodebuffer": e = this.data.slice(this.index, t); } return this.index = t, this.push({ data: e, meta: { percent: this.max ? this.index / this.max * 100 : 0 } }); }, t.exports = r; }, { "../utils": 32, "./GenericWorker": 28 } ], 28: [ function(e, t) { "use strict"; function r(e) { this.name = e || "default", this.streamInfo = {}, this.generatedError = null, this.extraStreamInfo = {}, this.isPaused = !0, this.isFinished = !1, this.isLocked = !1, this._listeners = { data: [], end: [], error: [] }, this.previous = null; } r.prototype = { push: function(e) { this.emit("data", e); }, end: function() { if (this.isFinished) return !1; this.flush(); try { this.emit("end"), this.cleanUp(), this.isFinished = !0; } catch (e) { this.emit("error", e); } return !0; }, error: function(e) { return !this.isFinished && (this.isPaused ? this.generatedError = e : (this.isFinished = !0, this.emit("error", e), this.previous && this.previous.error(e), this.cleanUp()), !0); }, on: function(e, t) { return this._listeners[e].push(t), this; }, cleanUp: function() { this.streamInfo = this.generatedError = this.extraStreamInfo = null, this._listeners = []; }, emit: function(e, t) { if (this._listeners[e]) for (var r = 0; r < this._listeners[e].length; r++) this._listeners[e][r].call(this, t); }, pipe: function(e) { return e.registerPrevious(this); }, registerPrevious: function(e) { if (this.isLocked) throw new Error("The stream '" + this + "' has already been used."); this.streamInfo = e.streamInfo, this.mergeStreamInfo(), this.previous = e; var t = this; return e.on("data", function(e) { t.processChunk(e); }), e.on("end", function() { t.end(); }), e.on("error", function(e) { t.error(e); }), this; }, pause: function() { return !this.isPaused && !this.isFinished && (this.isPaused = !0, this.previous && this.previous.pause(), !0); }, resume: function() { if (!this.isPaused || this.isFinished) return !1; this.isPaused = !1; var e = !1; return this.generatedError && (this.error(this.generatedError), e = !0), this.previous && this.previous.resume(), !e; }, flush: function() {}, processChunk: function(e) { this.push(e); }, withStreamInfo: function(e, t) { return this.extraStreamInfo[e] = t, this.mergeStreamInfo(), this; }, mergeStreamInfo: function() { for (var e in this.extraStreamInfo) this.extraStreamInfo.hasOwnProperty(e) && (this.streamInfo[e] = this.extraStreamInfo[e]); }, lock: function() { if (this.isLocked) throw new Error("The stream '" + this + "' has already been used."); this.isLocked = !0, this.previous && this.previous.lock(); }, toString: function() { var e = "Worker " + this.name; return this.previous ? this.previous + " -> " + e : e; } }, t.exports = r; }, {} ], 29: [ function(e, t) { "use strict"; function r(e, t, r) { switch (e) { case "blob": return s.newBlob(s.transformTo("arraybuffer", t), r); case "base64": return h.encode(t); default: return s.transformTo(e, t); } } function n(e, t) { var r, n = 0, i = null, a = 0; for (r = 0; r < t.length; r++) a += t[r].length; switch (e) { case "string": return t.join(""); case "array": return Array.prototype.concat.apply([], t); case "uint8array": for (i = new Uint8Array(a), r = 0; r < t.length; r++) i.set(t[r], n), n += t[r].length; return i; case "nodebuffer": return Buffer.concat(t); default: throw new Error("concat : unsupported type '" + e + "'"); } } function i(e, t) { return new c.Promise(function(i, a) { var s = [], o = e._internalType, u = e._outputType, h = e._mimeType; e.on("data", function(e, r) { s.push(e), t && t(r); }).on("error", function(e) { s = [], a(e); }).on("end", function() { try { var e = r(u, n(o, s), h); i(e); } catch (e) { a(e); } s = []; }).resume(); }); } function a(e, t, r) { var n = t; switch (t) { case "blob": case "arraybuffer": n = "uint8array"; break; case "base64": n = "string"; } try { this._internalType = n, this._outputType = t, this._mimeType = r, s.checkSupport(n), this._worker = e.pipe(new o(n)), e.lock(); } catch (e) { this._worker = new u("error"), this._worker.error(e); } } var s = e("../utils"), o = e("./ConvertWorker"), u = e("./GenericWorker"), h = e("../base64"), l = e("../support"), c = e("../external"), f = null; if (l.nodestream) try { f = e("../nodejs/NodejsStreamOutputAdapter"); } catch (e) {} a.prototype = { accumulate: function(e) { return i(this, e); }, on: function(e, t) { var r = this; return "data" === e ? this._worker.on(e, function(e) { t.call(r, e.data, e.meta); }) : this._worker.on(e, function() { s.delay(t, arguments, r); }), this; }, resume: function() { return s.delay(this._worker.resume, [], this._worker), this; }, pause: function() { return this._worker.pause(), this; }, toNodejsStream: function(e) { if (s.checkSupport("nodestream"), "nodebuffer" !== this._outputType) throw new Error(this._outputType + " is not supported by this method"); return new f(this, { objectMode: "nodebuffer" !== this._outputType }, e); } }, t.exports = a; }, { "../base64": 1, "../external": 6, "../nodejs/NodejsStreamOutputAdapter": 13, "../support": 30, "../utils": 32, "./ConvertWorker": 24, "./GenericWorker": 28 } ], 30: [ function(e, t, r) { "use strict"; if (r.base64 = !0, r.array = !0, r.string = !0, r.arraybuffer = "undefined" != typeof ArrayBuffer && "undefined" != typeof Uint8Array, r.nodebuffer = "undefined" != typeof Buffer, r.uint8array = "undefined" != typeof Uint8Array, "undefined" == typeof ArrayBuffer) r.blob = !1; else { var n = new ArrayBuffer(0); try { r.blob = 0 === new Blob([ n ], { type: "application/zip" }).size; } catch (e) { try { var i = new (self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder)(); i.append(n), r.blob = 0 === i.getBlob("application/zip").size; } catch (e) { r.blob = !1; } } } try { r.nodestream = !!e("readable-stream").Readable; } catch (e) { r.nodestream = !1; } }, { "readable-stream": 16 } ], 31: [ function(e, t, r) { "use strict"; function n() { u.call(this, "utf-8 decode"), this.leftOver = null; } function i() { u.call(this, "utf-8 encode"); } for (var a = e("./utils"), s = e("./support"), o = e("./nodejsUtils"), u = e("./stream/GenericWorker"), h = new Array(256), l = 0; 256 > l; l++) h[l] = l >= 252 ? 6 : l >= 248 ? 5 : l >= 240 ? 4 : l >= 224 ? 3 : l >= 192 ? 2 : 1; h[254] = h[254] = 1; var c = function(e) { var t, r, n, i, a, o = e.length, u = 0; for (i = 0; o > i; i++) 55296 == (64512 & (r = e.charCodeAt(i))) && o > i + 1 && 56320 == (64512 & (n = e.charCodeAt(i + 1))) && (r = 65536 + (r - 55296 << 10) + (n - 56320), i++), u += 128 > r ? 1 : 2048 > r ? 2 : 65536 > r ? 3 : 4; for (t = s.uint8array ? new Uint8Array(u) : new Array(u), a = 0, i = 0; u > a; i++) 55296 == (64512 & (r = e.charCodeAt(i))) && o > i + 1 && 56320 == (64512 & (n = e.charCodeAt(i + 1))) && (r = 65536 + (r - 55296 << 10) + (n - 56320), i++), 128 > r ? t[a++] = r : 2048 > r ? (t[a++] = 192 | r >>> 6, t[a++] = 128 | 63 & r) : 65536 > r ? (t[a++] = 224 | r >>> 12, t[a++] = 128 | r >>> 6 & 63, t[a++] = 128 | 63 & r) : (t[a++] = 240 | r >>> 18, t[a++] = 128 | r >>> 12 & 63, t[a++] = 128 | r >>> 6 & 63, t[a++] = 128 | 63 & r); return t; }, f = function(e, t) { var r; for ((t = t || e.length) > e.length && (t = e.length), r = t - 1; r >= 0 && 128 == (192 & e[r]); ) r--; return 0 > r ? t : 0 === r ? t : r + h[e[r]] > t ? r : t; }, d = function(e) { var t, r, n, i, s = e.length, o = new Array(2 * s); for (r = 0, t = 0; s > t; ) if (128 > (n = e[t++])) o[r++] = n; else if ((i = h[n]) > 4) o[r++] = 65533, t += i - 1; else { for (n &= 2 === i ? 31 : 3 === i ? 15 : 7; i > 1 && s > t; ) n = n << 6 | 63 & e[t++], i--; i > 1 ? o[r++] = 65533 : 65536 > n ? o[r++] = n : (n -= 65536, o[r++] = 55296 | n >> 10 & 1023, o[r++] = 56320 | 1023 & n); } return o.length !== r && (o.subarray ? o = o.subarray(0, r) : o.length = r), a.applyFromCharCode(o); }; r.utf8encode = function(e) { return s.nodebuffer ? o.newBufferFrom(e, "utf-8") : c(e); }, r.utf8decode = function(e) { return s.nodebuffer ? a.transformTo("nodebuffer", e).toString("utf-8") : (e = a.transformTo(s.uint8array ? "uint8array" : "array", e), d(e)); }, a.inherits(n, u), n.prototype.processChunk = function(e) { var t = a.transformTo(s.uint8array ? "uint8array" : "array", e.data); if (this.leftOver && this.leftOver.length) { if (s.uint8array) { var n = t; (t = new Uint8Array(n.length + this.leftOver.length)).set(this.leftOver, 0), t.set(n, this.leftOver.length); } else t = this.leftOver.concat(t); this.leftOver = null; } var i = f(t), o = t; i !== t.length && (s.uint8array ? (o = t.subarray(0, i), this.leftOver = t.subarray(i, t.length)) : (o = t.slice(0, i), this.leftOver = t.slice(i, t.length))), this.push({ data: r.utf8decode(o), meta: e.meta }); }, n.prototype.flush = function() { this.leftOver && this.leftOver.length && (this.push({ data: r.utf8decode(this.leftOver), meta: {} }), this.leftOver = null); }, r.Utf8DecodeWorker = n, a.inherits(i, u), i.prototype.processChunk = function(e) { this.push({ data: r.utf8encode(e.data), meta: e.meta }); }, r.Utf8EncodeWorker = i; }, { "./nodejsUtils": 14, "./stream/GenericWorker": 28, "./support": 30, "./utils": 32 } ], 32: [ function(e, t, r) { "use strict"; function n(e) { return a(e, u.uint8array ? new Uint8Array(e.length) : new Array(e.length)); } function i(e) { return e; } function a(e, t) { for (var r = 0; r < e.length; ++r) t[r] = 255 & e.charCodeAt(r); return t; } function s(e) { var t = 65536, n = r.getTypeOf(e), i = !0; if ("uint8array" === n ? i = d.applyCanBeUsed.uint8array : "nodebuffer" === n && (i = d.applyCanBeUsed.nodebuffer), i) for (;t > 1; ) try { return d.stringifyByChunk(e, n, t); } catch (e) { t = Math.floor(t / 2); } return d.stringifyByChar(e); } function o(e, t) { for (var r = 0; r < e.length; r++) t[r] = e[r]; return t; } var u = e("./support"), h = e("./base64"), l = e("./nodejsUtils"), c = e("core-js/library/fn/set-immediate"), f = e("./external"); r.newBlob = function(e, t) { r.checkSupport("blob"); try { return new Blob([ e ], { type: t }); } catch (r) { try { var n = new (self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder)(); return n.append(e), n.getBlob(t); } catch (e) { throw new Error("Bug : can't construct the Blob."); } } }; var d = { stringifyByChunk: function(e, t, r) { var n = [], i = 0, a = e.length; if (r >= a) return String.fromCharCode.apply(null, e); for (;a > i; ) "array" === t || "nodebuffer" === t ? n.push(String.fromCharCode.apply(null, e.slice(i, Math.min(i + r, a)))) : n.push(String.fromCharCode.apply(null, e.subarray(i, Math.min(i + r, a)))), i += r; return n.join(""); }, stringifyByChar: function(e) { for (var t = "", r = 0; r < e.length; r++) t += String.fromCharCode(e[r]); return t; }, applyCanBeUsed: { uint8array: function() { try { return u.uint8array && 1 === String.fromCharCode.apply(null, new Uint8Array(1)).length; } catch (e) { return !1; } }(), nodebuffer: function() { try { return u.nodebuffer && 1 === String.fromCharCode.apply(null, l.allocBuffer(1)).length; } catch (e) { return !1; } }() } }; r.applyFromCharCode = s; var p = {}; p.string = { string: i, array: function(e) { return a(e, new Array(e.length)); }, arraybuffer: function(e) { return p.string.uint8array(e).buffer; }, uint8array: function(e) { return a(e, new Uint8Array(e.length)); }, nodebuffer: function(e) { return a(e, l.allocBuffer(e.length)); } }, p.array = { string: s, array: i, arraybuffer: function(e) { return new Uint8Array(e).buffer; }, uint8array: function(e) { return new Uint8Array(e); }, nodebuffer: function(e) { return l.newBufferFrom(e); } }, p.arraybuffer = { string: function(e) { return s(new Uint8Array(e)); }, array: function(e) { return o(new Uint8Array(e), new Array(e.byteLength)); }, arraybuffer: i, uint8array: function(e) { return new Uint8Array(e); }, nodebuffer: function(e) { return l.newBufferFrom(new Uint8Array(e)); } }, p.uint8array = { string: s, array: function(e) { return o(e, new Array(e.length)); }, arraybuffer: function(e) { return e.buffer; }, uint8array: i, nodebuffer: function(e) { return l.newBufferFrom(e); } }, p.nodebuffer = { string: s, array: function(e) { return o(e, new Array(e.length)); }, arraybuffer: function(e) { return p.nodebuffer.uint8array(e).buffer; }, uint8array: function(e) { return o(e, new Uint8Array(e.length)); }, nodebuffer: i }, r.transformTo = function(e, t) { if (t || (t = ""), !e) return t; r.checkSupport(e); var n = r.getTypeOf(t); return p[n][e](t); }, r.getTypeOf = function(e) { return "string" == typeof e ? "string" : "[object Array]" === Object.prototype.toString.call(e) ? "array" : u.nodebuffer && l.isBuffer(e) ? "nodebuffer" : u.uint8array && e instanceof Uint8Array ? "uint8array" : u.arraybuffer && e instanceof ArrayBuffer ? "arraybuffer" : void 0; }, r.checkSupport = function(e) { if (!u[e.toLowerCase()]) throw new Error(e + " is not supported by this platform"); }, r.MAX_VALUE_16BITS = 65535, r.MAX_VALUE_32BITS = -1, r.pretty = function(e) { var t, r, n = ""; for (r = 0; r < (e || "").length; r++) n += "\\x" + (16 > (t = e.charCodeAt(r)) ? "0" : "") + t.toString(16).toUpperCase(); return n; }, r.delay = function(e, t, r) { c(function() { e.apply(r || null, t || []); }); }, r.inherits = function(e, t) { var r = function() {}; r.prototype = t.prototype, e.prototype = new r(); }, r.extend = function() { var e, t, r = {}; for (e = 0; e < arguments.length; e++) for (t in arguments[e]) arguments[e].hasOwnProperty(t) && "undefined" == typeof r[t] && (r[t] = arguments[e][t]); return r; }, r.prepareContent = function(e, t, i, a, s) { return f.Promise.resolve(t).then(function(e) { return u.blob && (e instanceof Blob || -1 !== [ "[object File]", "[object Blob]" ].indexOf(Object.prototype.toString.call(e))) && "undefined" != typeof FileReader ? new f.Promise(function(t, r) { var n = new FileReader(); n.onload = function(e) { t(e.target.result); }, n.onerror = function(e) { r(e.target.error); }, n.readAsArrayBuffer(e); }) : e; }).then(function(t) { var o = r.getTypeOf(t); return o ? ("arraybuffer" === o ? t = r.transformTo("uint8array", t) : "string" === o && (s ? t = h.decode(t) : i && !0 !== a && (t = n(t))), t) : f.Promise.reject(new Error("Can't read the data of '" + e + "'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?")); }); }; }, { "./base64": 1, "./external": 6, "./nodejsUtils": 14, "./support": 30, "core-js/library/fn/set-immediate": 36 } ], 33: [ function(e, t) { "use strict"; function r(e) { this.files = [], this.loadOptions = e; } var n = e("./reader/readerFor"), i = e("./utils"), a = e("./signature"), s = e("./zipEntry"), o = (e("./utf8"), e("./support")); r.prototype = { checkSignature: function(e) { if (!this.reader.readAndCheckSignature(e)) { this.reader.index -= 4; var t = this.reader.readString(4); throw new Error("Corrupted zip or bug: unexpected signature (" + i.pretty(t) + ", expected " + i.pretty(e) + ")"); } }, isSignature: function(e, t) { var r = this.reader.index; this.reader.setIndex(e); var n = this.reader.readString(4) === t; return this.reader.setIndex(r), n; }, readBlockEndOfCentral: function() { this.diskNumber = this.reader.readInt(2), this.diskWithCentralDirStart = this.reader.readInt(2), this.centralDirRecordsOnThisDisk = this.reader.readInt(2), this.centralDirRecords = this.reader.readInt(2), this.centralDirSize = this.reader.readInt(4), this.centralDirOffset = this.reader.readInt(4), this.zipCommentLength = this.reader.readInt(2); var e = this.reader.readData(this.zipCommentLength), t = o.uint8array ? "uint8array" : "array", r = i.transformTo(t, e); this.zipComment = this.loadOptions.decodeFileName(r); }, readBlockZip64EndOfCentral: function() { this.zip64EndOfCentralSize = this.reader.readInt(8), this.reader.skip(4), this.diskNumber = this.reader.readInt(4), this.diskWithCentralDirStart = this.reader.readInt(4), this.centralDirRecordsOnThisDisk = this.reader.readInt(8), this.centralDirRecords = this.reader.readInt(8), this.centralDirSize = this.reader.readInt(8), this.centralDirOffset = this.reader.readInt(8), this.zip64ExtensibleData = {}; for (var e, t, r, n = this.zip64EndOfCentralSize - 44; n > 0; ) e = this.reader.readInt(2), t = this.reader.readInt(4), r = this.reader.readData(t), this.zip64ExtensibleData[e] = { id: e, length: t, value: r }; }, readBlockZip64EndOfCentralLocator: function() { if (this.diskWithZip64CentralDirStart = this.reader.readInt(4), this.relativeOffsetEndOfZip64CentralDir = this.reader.readInt(8), this.disksCount = this.reader.readInt(4), this.disksCount > 1) throw new Error("Multi-volumes zip are not supported"); }, readLocalFiles: function() { var e, t; for (e = 0; e < this.files.length; e++) t = this.files[e], this.reader.setIndex(t.localHeaderOffset), this.checkSignature(a.LOCAL_FILE_HEADER), t.readLocalPart(this.reader), t.handleUTF8(), t.processAttributes(); }, readCentralDir: function() { var e; for (this.reader.setIndex(this.centralDirOffset); this.reader.readAndCheckSignature(a.CENTRAL_FILE_HEADER); ) (e = new s({ zip64: this.zip64 }, this.loadOptions)).readCentralPart(this.reader), this.files.push(e); if (this.centralDirRecords !== this.files.length && 0 !== this.centralDirRecords && 0 === this.files.length) throw new Error("Corrupted zip or bug: expected " + this.centralDirRecords + " records in central dir, got " + this.files.length); }, readEndOfCentral: function() { var e = this.reader.lastIndexOfSignature(a.CENTRAL_DIRECTORY_END); if (0 > e) throw this.isSignature(0, a.LOCAL_FILE_HEADER) ? new Error("Corrupted zip: can't find end of central directory") : new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html"); this.reader.setIndex(e); var t = e; if (this.checkSignature(a.CENTRAL_DIRECTORY_END), this.readBlockEndOfCentral(), this.diskNumber === i.MAX_VALUE_16BITS || this.diskWithCentralDirStart === i.MAX_VALUE_16BITS || this.centralDirRecordsOnThisDisk === i.MAX_VALUE_16BITS || this.centralDirRecords === i.MAX_VALUE_16BITS || this.centralDirSize === i.MAX_VALUE_32BITS || this.centralDirOffset === i.MAX_VALUE_32BITS) { if (this.zip64 = !0, 0 > (e = this.reader.lastIndexOfSignature(a.ZIP64_CENTRAL_DIRECTORY_LOCATOR))) throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator"); if (this.reader.setIndex(e), this.checkSignature(a.ZIP64_CENTRAL_DIRECTORY_LOCATOR), this.readBlockZip64EndOfCentralLocator(), !this.isSignature(this.relativeOffsetEndOfZip64CentralDir, a.ZIP64_CENTRAL_DIRECTORY_END) && (this.relativeOffsetEndOfZip64CentralDir = this.reader.lastIndexOfSignature(a.ZIP64_CENTRAL_DIRECTORY_END), this.relativeOffsetEndOfZip64CentralDir < 0)) throw new Error("Corrupted zip: can't find the ZIP64 end of central directory"); this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir), this.checkSignature(a.ZIP64_CENTRAL_DIRECTORY_END), this.readBlockZip64EndOfCentral(); } var r = this.centralDirOffset + this.centralDirSize; this.zip64 && (r += 20, r += 12 + this.zip64EndOfCentralSize); var n = t - r; if (n > 0) this.isSignature(t, a.CENTRAL_FILE_HEADER) || (this.reader.zero = n); else if (0 > n) throw new Error("Corrupted zip: missing " + Math.abs(n) + " bytes."); }, prepareReader: function(e) { this.reader = n(e); }, load: function(e) { this.prepareReader(e), this.readEndOfCentral(), this.readCentralDir(), this.readLocalFiles(); } }, t.exports = r; }, { "./reader/readerFor": 22, "./signature": 23, "./support": 30, "./utf8": 31, "./utils": 32, "./zipEntry": 34 } ], 34: [ function(e, t) { "use strict"; function r(e, t) { this.options = e, this.loadOptions = t; } var n = e("./reader/readerFor"), i = e("./utils"), a = e("./compressedObject"), s = e("./crc32"), o = e("./utf8"), u = e("./compressions"), h = e("./support"), l = function(e) { for (var t in u) if (u.hasOwnProperty(t) && u[t].magic === e) return u[t]; return null; }; r.prototype = { isEncrypted: function() { return 1 == (1 & this.bitFlag); }, useUTF8: function() { return 2048 == (2048 & this.bitFlag); }, readLocalPart: function(e) { var t, r; if (e.skip(22), this.fileNameLength = e.readInt(2), r = e.readInt(2), this.fileName = e.readData(this.fileNameLength), e.skip(r), -1 === this.compressedSize || -1 === this.uncompressedSize) throw new Error("Bug or corrupted zip : didn't get enough informations from the central directory (compressedSize === -1 || uncompressedSize === -1)"); if (null === (t = l(this.compressionMethod))) throw new Error("Corrupted zip : compression " + i.pretty(this.compressionMethod) + " unknown (inner file : " + i.transformTo("string", this.fileName) + ")"); this.decompressed = new a(this.compressedSize, this.uncompressedSize, this.crc32, t, e.readData(this.compressedSize)); }, readCentralPart: function(e) { this.versionMadeBy = e.readInt(2), e.skip(2), this.bitFlag = e.readInt(2), this.compressionMethod = e.readString(2), this.date = e.readDate(), this.crc32 = e.readInt(4), this.compressedSize = e.readInt(4), this.uncompressedSize = e.readInt(4); var t = e.readInt(2); if (this.extraFieldsLength = e.readInt(2), this.fileCommentLength = e.readInt(2), this.diskNumberStart = e.readInt(2), this.internalFileAttributes = e.readInt(2), this.externalFileAttributes = e.readInt(4), this.localHeaderOffset = e.readInt(4), this.isEncrypted()) throw new Error("Encrypted zip are not supported"); e.skip(t), this.readExtraFields(e), this.parseZIP64ExtraField(e), this.fileComment = e.readData(this.fileCommentLength); }, processAttributes: function() { this.unixPermissions = null, this.dosPermissions = null; var e = this.versionMadeBy >> 8; this.dir = !!(16 & this.externalFileAttributes), 0 === e && (this.dosPermissions = 63 & this.externalFileAttributes), 3 === e && (this.unixPermissions = this.externalFileAttributes >> 16 & 65535), this.dir || "/" !== this.fileNameStr.slice(-1) || (this.dir = !0); }, parseZIP64ExtraField: function() { if (this.extraFields[1]) { var e = n(this.extraFields[1].value); this.uncompressedSize === i.MAX_VALUE_32BITS && (this.uncompressedSize = e.readInt(8)), this.compressedSize === i.MAX_VALUE_32BITS && (this.compressedSize = e.readInt(8)), this.localHeaderOffset === i.MAX_VALUE_32BITS && (this.localHeaderOffset = e.readInt(8)), this.diskNumberStart === i.MAX_VALUE_32BITS && (this.diskNumberStart = e.readInt(4)); } }, readExtraFields: function(e) { var t, r, n, i = e.index + this.extraFieldsLength; for (this.extraFields || (this.extraFields = {}); e.index < i; ) t = e.readInt(2), r = e.readInt(2), n = e.readData(r), this.extraFields[t] = { id: t, length: r, value: n }; }, handleUTF8: function() { var e = h.uint8array ? "uint8array" : "array"; if (this.useUTF8()) this.fileNameStr = o.utf8decode(this.fileName), this.fileCommentStr = o.utf8decode(this.fileComment); else { var t = this.findExtraFieldUnicodePath(); if (null !== t) this.fileNameStr = t; else { var r = i.transformTo(e, this.fileName); this.fileNameStr = this.loadOptions.decodeFileName(r); } var n = this.findExtraFieldUnicodeComment(); if (null !== n) this.fileCommentStr = n; else { var a = i.transformTo(e, this.fileComment); this.fileCommentStr = this.loadOptions.decodeFileName(a); } } }, findExtraFieldUnicodePath: function() { var e = this.extraFields[28789]; if (e) { var t = n(e.value); return 1 !== t.readInt(1) ? null : s(this.fileName) !== t.readInt(4) ? null : o.utf8decode(t.readData(e.length - 5)); } return null; }, findExtraFieldUnicodeComment: function() { var e = this.extraFields[25461]; if (e) { var t = n(e.value); return 1 !== t.readInt(1) ? null : s(this.fileComment) !== t.readInt(4) ? null : o.utf8decode(t.readData(e.length - 5)); } return null; } }, t.exports = r; }, { "./compressedObject": 2, "./compressions": 3, "./crc32": 4, "./reader/readerFor": 22, "./support": 30, "./utf8": 31, "./utils": 32 } ], 35: [ function(e, t) { "use strict"; var r = e("./stream/StreamHelper"), n = e("./stream/DataWorker"), i = e("./utf8"), a = e("./compressedObject"), s = e("./stream/GenericWorker"), o = function(e, t, r) { this.name = e, this.dir = r.dir, this.date = r.date, this.comment = r.comment, this.unixPermissions = r.unixPermissions, this.dosPermissions = r.dosPermissions, this._data = t, this._dataBinary = r.binary, this.options = { compression: r.compression, compressionOptions: r.compressionOptions }; }; o.prototype = { internalStream: function(e) { var t = null, n = "string"; try { if (!e) throw new Error("No output type specified."); var a = "string" === (n = e.toLowerCase()) || "text" === n; ("binarystring" === n || "text" === n) && (n = "string"), t = this._decompressWorker(); var o = !this._dataBinary; o && !a && (t = t.pipe(new i.Utf8EncodeWorker())), !o && a && (t = t.pipe(new i.Utf8DecodeWorker())); } catch (e) { (t = new s("error")).error(e); } return new r(t, n, ""); }, async: function(e, t) { return this.internalStream(e).accumulate(t); }, nodeStream: function(e, t) { return this.internalStream(e || "nodebuffer").toNodejsStream(t); }, _compressWorker: function(e, t) { if (this._data instanceof a && this._data.compression.magic === e.magic) return this._data.getCompressedWorker(); var r = this._decompressWorker(); return this._dataBinary || (r = r.pipe(new i.Utf8EncodeWorker())), a.createWorkerFrom(r, e, t); }, _decompressWorker: function() { return this._data instanceof a ? this._data.getContentWorker() : this._data instanceof s ? this._data : new n(this._data); } }; for (var u = [ "asText", "asBinary", "asNodeBuffer", "asUint8Array", "asArrayBuffer" ], h = function() { throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide."); }, l = 0; l < u.length; l++) o.prototype[u[l]] = h; t.exports = o; }, { "./compressedObject": 2, "./stream/DataWorker": 27, "./stream/GenericWorker": 28, "./stream/StreamHelper": 29, "./utf8": 31 } ], 36: [ function(e, t) { e("../modules/web.immediate"), t.exports = e("../modules/_core").setImmediate; }, { "../modules/_core": 40, "../modules/web.immediate": 56 } ], 37: [ function(e, t) { t.exports = function(e) { if ("function" != typeof e) throw TypeError(e + " is not a function!"); return e; }; }, {} ], 38: [ function(e, t) { var r = e("./_is-object"); t.exports = function(e) { if (!r(e)) throw TypeError(e + " is not an object!"); return e; }; }, { "./_is-object": 51 } ], 39: [ function(e, t) { var r = {}.toString; t.exports = function(e) { return r.call(e).slice(8, -1); }; }, {} ], 40: [ function(e, t) { var r = t.exports = { version: "2.3.0" }; "number" == typeof __e && (__e = r); }, {} ], 41: [ function(e, t) { var r = e("./_a-function"); t.exports = function(e, t, n) { if (r(e), void 0 === t) return e; switch (n) { case 1: return function(r) { return e.call(t, r); }; case 2: return function(r, n) { return e.call(t, r, n); }; case 3: return function(r, n, i) { return e.call(t, r, n, i); }; } return function() { return e.apply(t, arguments); }; }; }, { "./_a-function": 37 } ], 42: [ function(e, t) { t.exports = !e("./_fails")(function() { return 7 != Object.defineProperty({}, "a", { get: function() { return 7; } }).a; }); }, { "./_fails": 45 } ], 43: [ function(e, t) { var r = e("./_is-object"), n = e("./_global").document, i = r(n) && r(n.createElement); t.exports = function(e) { return i ? n.createElement(e) : {}; }; }, { "./_global": 46, "./_is-object": 51 } ], 44: [ function(e, t) { var r = e("./_global"), n = e("./_core"), i = e("./_ctx"), a = e("./_hide"), s = "prototype", o = function(e, t, u) { var h, l, c, f = e & o.F, d = e & o.G, p = e & o.S, m = e & o.P, _ = e & o.B, g = e & o.W, b = d ? n : n[t] || (n[t] = {}), v = b[s], w = d ? r : p ? r[t] : (r[t] || {})[s]; d && (u = t); for (h in u) (l = !f && w && void 0 !== w[h]) && h in b || (c = l ? w[h] : u[h], b[h] = d && "function" != typeof w[h] ? u[h] : _ && l ? i(c, r) : g && w[h] == c ? function(e) { var t = function(t, r, n) { if (this instanceof e) { switch (arguments.length) { case 0: return new e(); case 1: return new e(t); case 2: return new e(t, r); } return new e(t, r, n); } return e.apply(this, arguments); }; return t[s] = e[s], t; }(c) : m && "function" == typeof c ? i(Function.call, c) : c, m && ((b.virtual || (b.virtual = {}))[h] = c, e & o.R && v && !v[h] && a(v, h, c))); }; o.F = 1, o.G = 2, o.S = 4, o.P = 8, o.B = 16, o.W = 32, o.U = 64, o.R = 128, t.exports = o; }, { "./_core": 40, "./_ctx": 41, "./_global": 46, "./_hide": 47 } ], 45: [ function(e, t) { t.exports = function(e) { try { return !!e(); } catch (e) { return !0; } }; }, {} ], 46: [ function(e, t) { var r = t.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("", "return this")(); "number" == typeof __g && (__g = r); }, {} ], 47: [ function(e, t) { var r = e("./_object-dp"), n = e("./_property-desc"); t.exports = e("./_descriptors") ? function(e, t, i) { return r.f(e, t, n(1, i)); } : function(e, t, r) { return e[t] = r, e; }; }, { "./_descriptors": 42, "./_object-dp": 52, "./_property-desc": 53 } ], 48: [ function(e, t) { t.exports = e("./_global").document && document.documentElement; }, { "./_global": 46 } ], 49: [ function(e, t) { t.exports = !e("./_descriptors") && !e("./_fails")(function() { return 7 != Object.defineProperty(e("./_dom-create")("div"), "a", { get: function() { return 7; } }).a; }); }, { "./_descriptors": 42, "./_dom-create": 43, "./_fails": 45 } ], 50: [ function(e, t) { t.exports = function(e, t, r) { var n = void 0 === r; switch (t.length) { case 0: return n ? e() : e.call(r); case 1: return n ? e(t[0]) : e.call(r, t[0]); case 2: return n ? e(t[0], t[1]) : e.call(r, t[0], t[1]); case 3: return n ? e(t[0], t[1], t[2]) : e.call(r, t[0], t[1], t[2]); case 4: return n ? e(t[0], t[1], t[2], t[3]) : e.call(r, t[0], t[1], t[2], t[3]); } return e.apply(r, t); }; }, {} ], 51: [ function(e, t) { t.exports = function(e) { return "object" == typeof e ? null !== e : "function" == typeof e; }; }, {} ], 52: [ function(e, t, r) { var n = e("./_an-object"), i = e("./_ie8-dom-define"), a = e("./_to-primitive"), s = Object.defineProperty; r.f = e("./_descriptors") ? Object.defineProperty : function(e, t, r) { if (n(e), t = a(t, !0), n(r), i) try { return s(e, t, r); } catch (e) {} if ("get" in r || "set" in r) throw TypeError("Accessors not supported!"); return "value" in r && (e[t] = r.value), e; }; }, { "./_an-object": 38, "./_descriptors": 42, "./_ie8-dom-define": 49, "./_to-primitive": 55 } ], 53: [ function(e, t) { t.exports = function(e, t) { return { enumerable: !(1 & e), configurable: !(2 & e), writable: !(4 & e), value: t }; }; }, {} ], 54: [ function(e, t) { var r, n, i, a = e("./_ctx"), s = e("./_invoke"), o = e("./_html"), u = e("./_dom-create"), h = e("./_global"), l = h.process, c = h.setImmediate, f = h.clearImmediate, d = h.MessageChannel, p = 0, m = {}, _ = "onreadystatechange", g = function() { var e = +this; if (m.hasOwnProperty(e)) { var t = m[e]; delete m[e], t(); } }, b = function(e) { g.call(e.data); }; c && f || (c = function(e) { for (var t = [], n = 1; arguments.length > n; ) t.push(arguments[n++]); return m[++p] = function() { s("function" == typeof e ? e : Function(e), t); }, r(p), p; }, f = function(e) { delete m[e]; }, "process" == e("./_cof")(l) ? r = function(e) { l.nextTick(a(g, e, 1)); } : d ? (i = (n = new d()).port2, n.port1.onmessage = b, r = a(i.postMessage, i, 1)) : h.addEventListener && "function" == typeof postMessage && !h.importScripts ? (r = function(e) { h.postMessage(e + "", "*"); }, h.addEventListener("message", b, !1)) : r = _ in u("script") ? function(e) { o.appendChild(u("script"))[_] = function() { o.removeChild(this), g.call(e); }; } : function(e) { setTimeout(a(g, e, 1), 0); }), t.exports = { set: c, clear: f }; }, { "./_cof": 39, "./_ctx": 41, "./_dom-create": 43, "./_global": 46, "./_html": 48, "./_invoke": 50 } ], 55: [ function(e, t) { var r = e("./_is-object"); t.exports = function(e, t) { if (!r(e)) return e; var n, i; if (t && "function" == typeof (n = e.toString) && !r(i = n.call(e))) return i; if ("function" == typeof (n = e.valueOf) && !r(i = n.call(e))) return i; if (!t && "function" == typeof (n = e.toString) && !r(i = n.call(e))) return i; throw TypeError("Can't convert object to primitive value"); }; }, { "./_is-object": 51 } ], 56: [ function(e) { var t = e("./_export"), r = e("./_task"); t(t.G + t.B, { setImmediate: r.set, clearImmediate: r.clear }); }, { "./_export": 44, "./_task": 54 } ], 57: [ function(e, t) { (function(e) { "use strict"; function r() { h = !0; for (var e, t, r = l.length; r; ) { for (t = l, l = [], e = -1; ++e < r; ) t[e](); r = l.length; } h = !1; } var n, i = e.MutationObserver || e.WebKitMutationObserver; if (i) { var a = 0, s = new i(r), o = e.document.createTextNode(""); s.observe(o, { characterData: !0 }), n = function() { o.data = a = ++a % 2; }; } else if (e.setImmediate || "undefined" == typeof e.MessageChannel) n = "document" in e && "onreadystatechange" in e.document.createElement("script") ? function() { var t = e.document.createElement("script"); t.onreadystatechange = function() { r(), t.onreadystatechange = null, t.parentNode.removeChild(t), t = null; }, e.document.documentElement.appendChild(t); } : function() { setTimeout(r, 0); }; else { var u = new e.MessageChannel(); u.port1.onmessage = r, n = function() { u.port2.postMessage(0); }; } var h, l = []; t.exports = function(e) { 1 !== l.push(e) || h || n(); }; }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}); }, {} ], 58: [ function(e, t) { "use strict"; function r() {} function n(e) { if ("function" != typeof e) throw new TypeError("resolver must be a function"); this.state = d, this.queue = [], this.outcome = void 0, e !== r && o(this, e); } function i(e, t, r) { this.promise = e, "function" == typeof t && (this.onFulfilled = t, this.callFulfilled = this.otherCallFulfilled), "function" == typeof r && (this.onRejected = r, this.callRejected = this.otherCallRejected); } function a(e, t, r) { h(function() { var n; try { n = t(r); } catch (t) { return l.reject(e, t); } n === e ? l.reject(e, new TypeError("Cannot resolve promise with itself")) : l.resolve(e, n); }); } function s(e) { var t = e && e.then; return !e || "object" != typeof e && "function" != typeof e || "function" != typeof t ? void 0 : function() { t.apply(e, arguments); }; } function o(e, t) { function r(t) { i || (i = !0, l.reject(e, t)); } function n(t) { i || (i = !0, l.resolve(e, t)); } var i = !1, a = u(function() { t(n, r); }); "error" === a.status && r(a.value); } function u(e, t) { var r = {}; try { r.value = e(t), r.status = "success"; } catch (e) { r.status = "error", r.value = e; } return r; } var h = e("immediate"), l = {}, c = [ "REJECTED" ], f = [ "FULFILLED" ], d = [ "PENDING" ]; t.exports = n, n.prototype.catch = function(e) { return this.then(null, e); }, n.prototype.then = function(e, t) { if ("function" != typeof e && this.state === f || "function" != typeof t && this.state === c) return this; var n = new this.constructor(r); this.state !== d ? a(n, this.state === f ? e : t, this.outcome) : this.queue.push(new i(n, e, t)); return n; }, i.prototype.callFulfilled = function(e) { l.resolve(this.promise, e); }, i.prototype.otherCallFulfilled = function(e) { a(this.promise, this.onFulfilled, e); }, i.prototype.callRejected = function(e) { l.reject(this.promise, e); }, i.prototype.otherCallRejected = function(e) { a(this.promise, this.onRejected, e); }, l.resolve = function(e, t) { var r = u(s, t); if ("error" === r.status) return l.reject(e, r.value); var n = r.value; if (n) o(e, n); else { e.state = f, e.outcome = t; for (var i = -1, a = e.queue.length; ++i < a; ) e.queue[i].callFulfilled(t); } return e; }, l.reject = function(e, t) { e.state = c, e.outcome = t; for (var r = -1, n = e.queue.length; ++r < n; ) e.queue[r].callRejected(t); return e; }, n.resolve = function(e) { return e instanceof this ? e : l.resolve(new this(r), e); }, n.reject = function(e) { var t = new this(r); return l.reject(t, e); }, n.all = function(e) { function t(e, t) { n.resolve(e).then(function(e) { s[t] = e, ++o !== i || a || (a = !0, l.resolve(h, s)); }, function(e) { a || (a = !0, l.reject(h, e)); }); } var n = this; if ("[object Array]" !== Object.prototype.toString.call(e)) return this.reject(new TypeError("must be an array")); var i = e.length, a = !1; if (!i) return this.resolve([]); for (var s = new Array(i), o = 0, u = -1, h = new this(r); ++u < i; ) t(e[u], u); return h; }, n.race = function(e) { function t(e) { n.resolve(e).then(function(e) { a || (a = !0, l.resolve(o, e)); }, function(e) { a || (a = !0, l.reject(o, e)); }); } var n = this; if ("[object Array]" !== Object.prototype.toString.call(e)) return this.reject(new TypeError("must be an array")); var i = e.length, a = !1; if (!i) return this.resolve([]); for (var s = -1, o = new this(r); ++s < i; ) t(e[s]); return o; }; }, { immediate: 57 } ], 59: [ function(e, t) { "use strict"; var r = {}; (0, e("./lib/utils/common").assign)(r, e("./lib/deflate"), e("./lib/inflate"), e("./lib/zlib/constants")), t.exports = r; }, { "./lib/deflate": 60, "./lib/inflate": 61, "./lib/utils/common": 62, "./lib/zlib/constants": 65 } ], 60: [ function(e, t, r) { "use strict"; function n(e) { if (!(this instanceof n)) return new n(e); this.options = s.assign({ level: f, method: p, chunkSize: 16384, windowBits: 15, memLevel: 8, strategy: d, to: "" }, e || {}); var t = this.options; t.raw && t.windowBits > 0 ? t.windowBits = -t.windowBits : t.gzip && t.windowBits > 0 && t.windowBits < 16 && (t.windowBits += 16), this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new h(), this.strm.avail_out = 0; var r = a.deflateInit2(this.strm, t.level, t.method, t.windowBits, t.memLevel, t.strategy); if (r !== c) throw new Error(u[r]); if (t.header && a.deflateSetHeader(this.strm, t.header), t.dictionary) { var i; if (i = "string" == typeof t.dictionary ? o.string2buf(t.dictionary) : "[object ArrayBuffer]" === l.call(t.dictionary) ? new Uint8Array(t.dictionary) : t.dictionary, (r = a.deflateSetDictionary(this.strm, i)) !== c) throw new Error(u[r]); this._dict_set = !0; } } function i(e, t) { var r = new n(t); if (r.push(e, !0), r.err) throw r.msg || u[r.err]; return r.result; } var a = e("./zlib/deflate"), s = e("./utils/common"), o = e("./utils/strings"), u = e("./zlib/messages"), h = e("./zlib/zstream"), l = Object.prototype.toString, c = 0, f = -1, d = 0, p = 8; n.prototype.push = function(e, t) { var r, n, i = this.strm, u = this.options.chunkSize; if (this.ended) return !1; n = t === ~~t ? t : !0 === t ? 4 : 0, "string" == typeof e ? i.input = o.string2buf(e) : "[object ArrayBuffer]" === l.call(e) ? i.input = new Uint8Array(e) : i.input = e, i.next_in = 0, i.avail_in = i.input.length; do { if (0 === i.avail_out && (i.output = new s.Buf8(u), i.next_out = 0, i.avail_out = u), 1 !== (r = a.deflate(i, n)) && r !== c) return this.onEnd(r), this.ended = !0, !1; (0 === i.avail_out || 0 === i.avail_in && (4 === n || 2 === n)) && ("string" === this.options.to ? this.onData(o.buf2binstring(s.shrinkBuf(i.output, i.next_out))) : this.onData(s.shrinkBuf(i.output, i.next_out))); } while ((i.avail_in > 0 || 0 === i.avail_out) && 1 !== r); return 4 === n ? (r = a.deflateEnd(this.strm), this.onEnd(r), this.ended = !0, r === c) : 2 !== n || (this.onEnd(c), i.avail_out = 0, !0); }, n.prototype.onData = function(e) { this.chunks.push(e); }, n.prototype.onEnd = function(e) { e === c && ("string" === this.options.to ? this.result = this.chunks.join("") : this.result = s.flattenChunks(this.chunks)), this.chunks = [], this.err = e, this.msg = this.strm.msg; }, r.Deflate = n, r.deflate = i, r.deflateRaw = function(e, t) { return (t = t || {}).raw = !0, i(e, t); }, r.gzip = function(e, t) { return (t = t || {}).gzip = !0, i(e, t); }; }, { "./utils/common": 62, "./utils/strings": 63, "./zlib/deflate": 67, "./zlib/messages": 72, "./zlib/zstream": 74 } ], 61: [ function(e, t, r) { "use strict"; function n(e) { if (!(this instanceof n)) return new n(e); this.options = s.assign({ chunkSize: 16384, windowBits: 0, to: "" }, e || {}); var t = this.options; t.raw && t.windowBits >= 0 && t.windowBits < 16 && (t.windowBits = -t.windowBits, 0 === t.windowBits && (t.windowBits = -15)), !(t.windowBits >= 0 && t.windowBits < 16) || e && e.windowBits || (t.windowBits += 32), t.windowBits > 15 && t.windowBits < 48 && 0 == (15 & t.windowBits) && (t.windowBits |= 15), this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new l(), this.strm.avail_out = 0; var r = a.inflateInit2(this.strm, t.windowBits); if (r !== u.Z_OK) throw new Error(h[r]); this.header = new c(), a.inflateGetHeader(this.strm, this.header); } function i(e, t) { var r = new n(t); if (r.push(e, !0), r.err) throw r.msg || h[r.err]; return r.result; } var a = e("./zlib/inflate"), s = e("./utils/common"), o = e("./utils/strings"), u = e("./zlib/constants"), h = e("./zlib/messages"), l = e("./zlib/zstream"), c = e("./zlib/gzheader"), f = Object.prototype.toString; n.prototype.push = function(e, t) { var r, n, i, h, l, c, d = this.strm, p = this.options.chunkSize, m = this.options.dictionary, _ = !1; if (this.ended) return !1; n = t === ~~t ? t : !0 === t ? u.Z_FINISH : u.Z_NO_FLUSH, "string" == typeof e ? d.input = o.binstring2buf(e) : "[object ArrayBuffer]" === f.call(e) ? d.input = new Uint8Array(e) : d.input = e, d.next_in = 0, d.avail_in = d.input.length; do { if (0 === d.avail_out && (d.output = new s.Buf8(p), d.next_out = 0, d.avail_out = p), (r = a.inflate(d, u.Z_NO_FLUSH)) === u.Z_NEED_DICT && m && (c = "string" == typeof m ? o.string2buf(m) : "[object ArrayBuffer]" === f.call(m) ? new Uint8Array(m) : m, r = a.inflateSetDictionary(this.strm, c)), r === u.Z_BUF_ERROR && !0 === _ && (r = u.Z_OK, _ = !1), r !== u.Z_STREAM_END && r !== u.Z_OK) return this.onEnd(r), this.ended = !0, !1; d.next_out && (0 === d.avail_out || r === u.Z_STREAM_END || 0 === d.avail_in && (n === u.Z_FINISH || n === u.Z_SYNC_FLUSH)) && ("string" === this.options.to ? (i = o.utf8border(d.output, d.next_out), h = d.next_out - i, l = o.buf2string(d.output, i), d.next_out = h, d.avail_out = p - h, h && s.arraySet(d.output, d.output, i, h, 0), this.onData(l)) : this.onData(s.shrinkBuf(d.output, d.next_out))), 0 === d.avail_in && 0 === d.avail_out && (_ = !0); } while ((d.avail_in > 0 || 0 === d.avail_out) && r !== u.Z_STREAM_END); return r === u.Z_STREAM_END && (n = u.Z_FINISH), n === u.Z_FINISH ? (r = a.inflateEnd(this.strm), this.onEnd(r), this.ended = !0, r === u.Z_OK) : n !== u.Z_SYNC_FLUSH || (this.onEnd(u.Z_OK), d.avail_out = 0, !0); }, n.prototype.onData = function(e) { this.chunks.push(e); }, n.prototype.onEnd = function(e) { e === u.Z_OK && ("string" === this.options.to ? this.result = this.chunks.join("") : this.result = s.flattenChunks(this.chunks)), this.chunks = [], this.err = e, this.msg = this.strm.msg; }, r.Inflate = n, r.inflate = i, r.inflateRaw = function(e, t) { return (t = t || {}).raw = !0, i(e, t); }, r.ungzip = i; }, { "./utils/common": 62, "./utils/strings": 63, "./zlib/constants": 65, "./zlib/gzheader": 68, "./zlib/inflate": 70, "./zlib/messages": 72, "./zlib/zstream": 74 } ], 62: [ function(e, t, r) { "use strict"; var n = "undefined" != typeof Uint8Array && "undefined" != typeof Uint16Array && "undefined" != typeof Int32Array; r.assign = function(e) { for (var t = Array.prototype.slice.call(arguments, 1); t.length; ) { var r = t.shift(); if (r) { if ("object" != typeof r) throw new TypeError(r + "must be non-object"); for (var n in r) r.hasOwnProperty(n) && (e[n] = r[n]); } } return e; }, r.shrinkBuf = function(e, t) { return e.length === t ? e : e.subarray ? e.subarray(0, t) : (e.length = t, e); }; var i = { arraySet: function(e, t, r, n, i) { if (t.subarray && e.subarray) e.set(t.subarray(r, r + n), i); else for (var a = 0; n > a; a++) e[i + a] = t[r + a]; }, flattenChunks: function(e) { var t, r, n, i, a, s; for (n = 0, t = 0, r = e.length; r > t; t++) n += e[t].length; for (s = new Uint8Array(n), i = 0, t = 0, r = e.length; r > t; t++) a = e[t], s.set(a, i), i += a.length; return s; } }, a = { arraySet: function(e, t, r, n, i) { for (var a = 0; n > a; a++) e[i + a] = t[r + a]; }, flattenChunks: function(e) { return [].concat.apply([], e); } }; r.setTyped = function(e) { e ? (r.Buf8 = Uint8Array, r.Buf16 = Uint16Array, r.Buf32 = Int32Array, r.assign(r, i)) : (r.Buf8 = Array, r.Buf16 = Array, r.Buf32 = Array, r.assign(r, a)); }, r.setTyped(n); }, {} ], 63: [ function(e, t, r) { "use strict"; function n(e, t) { if (65537 > t && (e.subarray && s || !e.subarray && a)) return String.fromCharCode.apply(null, i.shrinkBuf(e, t)); for (var r = "", n = 0; t > n; n++) r += String.fromCharCode(e[n]); return r; } var i = e("./common"), a = !0, s = !0; try { String.fromCharCode.apply(null, [ 0 ]); } catch (e) { a = !1; } try { String.fromCharCode.apply(null, new Uint8Array(1)); } catch (e) { s = !1; } for (var o = new i.Buf8(256), u = 0; 256 > u; u++) o[u] = u >= 252 ? 6 : u >= 248 ? 5 : u >= 240 ? 4 : u >= 224 ? 3 : u >= 192 ? 2 : 1; o[254] = o[254] = 1, r.string2buf = function(e) { var t, r, n, a, s, o = e.length, u = 0; for (a = 0; o > a; a++) 55296 == (64512 & (r = e.charCodeAt(a))) && o > a + 1 && 56320 == (64512 & (n = e.charCodeAt(a + 1))) && (r = 65536 + (r - 55296 << 10) + (n - 56320), a++), u += 128 > r ? 1 : 2048 > r ? 2 : 65536 > r ? 3 : 4; for (t = new i.Buf8(u), s = 0, a = 0; u > s; a++) 55296 == (64512 & (r = e.charCodeAt(a))) && o > a + 1 && 56320 == (64512 & (n = e.charCodeAt(a + 1))) && (r = 65536 + (r - 55296 << 10) + (n - 56320), a++), 128 > r ? t[s++] = r : 2048 > r ? (t[s++] = 192 | r >>> 6, t[s++] = 128 | 63 & r) : 65536 > r ? (t[s++] = 224 | r >>> 12, t[s++] = 128 | r >>> 6 & 63, t[s++] = 128 | 63 & r) : (t[s++] = 240 | r >>> 18, t[s++] = 128 | r >>> 12 & 63, t[s++] = 128 | r >>> 6 & 63, t[s++] = 128 | 63 & r); return t; }, r.buf2binstring = function(e) { return n(e, e.length); }, r.binstring2buf = function(e) { for (var t = new i.Buf8(e.length), r = 0, n = t.length; n > r; r++) t[r] = e.charCodeAt(r); return t; }, r.buf2string = function(e, t) { var r, i, a, s, u = t || e.length, h = new Array(2 * u); for (i = 0, r = 0; u > r; ) if (128 > (a = e[r++])) h[i++] = a; else if ((s = o[a]) > 4) h[i++] = 65533, r += s - 1; else { for (a &= 2 === s ? 31 : 3 === s ? 15 : 7; s > 1 && u > r; ) a = a << 6 | 63 & e[r++], s--; s > 1 ? h[i++] = 65533 : 65536 > a ? h[i++] = a : (a -= 65536, h[i++] = 55296 | a >> 10 & 1023, h[i++] = 56320 | 1023 & a); } return n(h, i); }, r.utf8border = function(e, t) { var r; for ((t = t || e.length) > e.length && (t = e.length), r = t - 1; r >= 0 && 128 == (192 & e[r]); ) r--; return 0 > r ? t : 0 === r ? t : r + o[e[r]] > t ? r : t; }; }, { "./common": 62 } ], 64: [ function(e, t) { "use strict"; t.exports = function(e, t, r, n) { for (var i = 65535 & e | 0, a = e >>> 16 & 65535 | 0, s = 0; 0 !== r; ) { r -= s = r > 2e3 ? 2e3 : r; do { a = a + (i = i + t[n++] | 0) | 0; } while (--s); i %= 65521, a %= 65521; } return i | a << 16 | 0; }; }, {} ], 65: [ function(e, t) { "use strict"; t.exports = { Z_NO_FLUSH: 0, Z_PARTIAL_FLUSH: 1, Z_SYNC_FLUSH: 2, Z_FULL_FLUSH: 3, Z_FINISH: 4, Z_BLOCK: 5, Z_TREES: 6, Z_OK: 0, Z_STREAM_END: 1, Z_NEED_DICT: 2, Z_ERRNO: -1, Z_STREAM_ERROR: -2, Z_DATA_ERROR: -3, Z_BUF_ERROR: -5, Z_NO_COMPRESSION: 0, Z_BEST_SPEED: 1, Z_BEST_COMPRESSION: 9, Z_DEFAULT_COMPRESSION: -1, Z_FILTERED: 1, Z_HUFFMAN_ONLY: 2, Z_RLE: 3, Z_FIXED: 4, Z_DEFAULT_STRATEGY: 0, Z_BINARY: 0, Z_TEXT: 1, Z_UNKNOWN: 2, Z_DEFLATED: 8 }; }, {} ], 66: [ function(e, t) { "use strict"; var r = function() { for (var e, t = [], r = 0; 256 > r; r++) { e = r; for (var n = 0; 8 > n; n++) e = 1 & e ? 3988292384 ^ e >>> 1 : e >>> 1; t[r] = e; } return t; }(); t.exports = function(e, t, n, i) { var a = r, s = i + n; e ^= -1; for (var o = i; s > o; o++) e = e >>> 8 ^ a[255 & (e ^ t[o])]; return -1 ^ e; }; }, {} ], 67: [ function(e, t, r) { "use strict"; function n(e, t) { return e.msg = A[t], t; } function i(e) { return (e << 1) - (e > 4 ? 9 : 0); } function a(e) { for (var t = e.length; --t >= 0; ) e[t] = 0; } function s(e) { var t = e.state, r = t.pending; r > e.avail_out && (r = e.avail_out), 0 !== r && (S.arraySet(e.output, t.pending_buf, t.pending_out, r, e.next_out), e.next_out += r, t.pending_out += r, e.total_out += r, e.avail_out -= r, t.pending -= r, 0 === t.pending && (t.pending_out = 0)); } function o(e, t) { z._tr_flush_block(e, e.block_start >= 0 ? e.block_start : -1, e.strstart - e.block_start, t), e.block_start = e.strstart, s(e.strm); } function u(e, t) { e.pending_buf[e.pending++] = t; } function h(e, t) { e.pending_buf[e.pending++] = t >>> 8 & 255, e.pending_buf[e.pending++] = 255 & t; } function l(e, t, r, n) { var i = e.avail_in; return i > n && (i = n), 0 === i ? 0 : (e.avail_in -= i, S.arraySet(t, e.input, e.next_in, i, r), 1 === e.state.wrap ? e.adler = E(e.adler, t, i, r) : 2 === e.state.wrap && (e.adler = C(e.adler, t, i, r)), e.next_in += i, e.total_in += i, i); } function c(e, t) { var r, n, i = e.max_chain_length, a = e.strstart, s = e.prev_length, o = e.nice_match, u = e.strstart > e.w_size - K ? e.strstart - (e.w_size - K) : 0, h = e.window, l = e.w_mask, c = e.prev, f = e.strstart + G, d = h[a + s - 1], p = h[a + s]; e.prev_length >= e.good_match && (i >>= 2), o > e.lookahead && (o = e.lookahead); do { if (h[(r = t) + s] === p && h[r + s - 1] === d && h[r] === h[a] && h[++r] === h[a + 1]) { a += 2, r++; do {} while (h[++a] === h[++r] && h[++a] === h[++r] && h[++a] === h[++r] && h[++a] === h[++r] && h[++a] === h[++r] && h[++a] === h[++r] && h[++a] === h[++r] && h[++a] === h[++r] && f > a); if (n = G - (f - a), a = f - G, n > s) { if (e.match_start = t, s = n, n >= o) break; d = h[a + s - 1], p = h[a + s]; } } } while ((t = c[t & l]) > u && 0 != --i); return s <= e.lookahead ? s : e.lookahead; } function f(e) { var t, r, n, i, a, s = e.w_size; do { if (i = e.window_size - e.lookahead - e.strstart, e.strstart >= s + (s - K)) { S.arraySet(e.window, e.window, s, s, 0), e.match_start -= s, e.strstart -= s, e.block_start -= s, t = r = e.hash_size; do { n = e.head[--t], e.head[t] = n >= s ? n - s : 0; } while (--r); t = r = s; do { n = e.prev[--t], e.prev[t] = n >= s ? n - s : 0; } while (--r); i += s; } if (0 === e.strm.avail_in) break; if (r = l(e.strm, e.window, e.strstart + e.lookahead, i), e.lookahead += r, e.lookahead + e.insert >= H) for (a = e.strstart - e.insert, e.ins_h = e.window[a], e.ins_h = (e.ins_h << e.hash_shift ^ e.window[a + 1]) & e.hash_mask; e.insert && (e.ins_h = (e.ins_h << e.hash_shift ^ e.window[a + H - 1]) & e.hash_mask, e.prev[a & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = a, a++, e.insert--, !(e.lookahead + e.insert < H)); ) ; } while (e.lookahead < K && 0 !== e.strm.avail_in); } function d(e, t) { for (var r, n; ;) { if (e.lookahead < K) { if (f(e), e.lookahead < K && t === I) return V; if (0 === e.lookahead) break; } if (r = 0, e.lookahead >= H && (e.ins_h = (e.ins_h << e.hash_shift ^ e.window[e.strstart + H - 1]) & e.hash_mask, r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart), 0 !== r && e.strstart - r <= e.w_size - K && (e.match_length = c(e, r)), e.match_length >= H) if (n = z._tr_tally(e, e.strstart - e.match_start, e.match_length - H), e.lookahead -= e.match_length, e.match_length <= e.max_lazy_match && e.lookahead >= H) { e.match_length--; do { e.strstart++, e.ins_h = (e.ins_h << e.hash_shift ^ e.window[e.strstart + H - 1]) & e.hash_mask, r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart; } while (0 != --e.match_length); e.strstart++; } else e.strstart += e.match_length, e.match_length = 0, e.ins_h = e.window[e.strstart], e.ins_h = (e.ins_h << e.hash_shift ^ e.window[e.strstart + 1]) & e.hash_mask; else n = z._tr_tally(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++; if (n && (o(e, !1), 0 === e.strm.avail_out)) return V; } return e.insert = e.strstart < H - 1 ? e.strstart : H - 1, t === O ? (o(e, !0), 0 === e.strm.avail_out ? J : Q) : e.last_lit && (o(e, !1), 0 === e.strm.avail_out) ? V : q; } function p(e, t) { for (var r, n, i; ;) { if (e.lookahead < K) { if (f(e), e.lookahead < K && t === I) return V; if (0 === e.lookahead) break; } if (r = 0, e.lookahead >= H && (e.ins_h = (e.ins_h << e.hash_shift ^ e.window[e.strstart + H - 1]) & e.hash_mask, r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart), e.prev_length = e.match_length, e.prev_match = e.match_start, e.match_length = H - 1, 0 !== r && e.prev_length < e.max_lazy_match && e.strstart - r <= e.w_size - K && (e.match_length = c(e, r), e.match_length <= 5 && (e.strategy === D || e.match_length === H && e.strstart - e.match_start > 4096) && (e.match_length = H - 1)), e.prev_length >= H && e.match_length <= e.prev_length) { i = e.strstart + e.lookahead - H, n = z._tr_tally(e, e.strstart - 1 - e.prev_match, e.prev_length - H), e.lookahead -= e.prev_length - 1, e.prev_length -= 2; do { ++e.strstart <= i && (e.ins_h = (e.ins_h << e.hash_shift ^ e.window[e.strstart + H - 1]) & e.hash_mask, r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart); } while (0 != --e.prev_length); if (e.match_available = 0, e.match_length = H - 1, e.strstart++, n && (o(e, !1), 0 === e.strm.avail_out)) return V; } else if (e.match_available) { if ((n = z._tr_tally(e, 0, e.window[e.strstart - 1])) && o(e, !1), e.strstart++, e.lookahead--, 0 === e.strm.avail_out) return V; } else e.match_available = 1, e.strstart++, e.lookahead--; } return e.match_available && (n = z._tr_tally(e, 0, e.window[e.strstart - 1]), e.match_available = 0), e.insert = e.strstart < H - 1 ? e.strstart : H - 1, t === O ? (o(e, !0), 0 === e.strm.avail_out ? J : Q) : e.last_lit && (o(e, !1), 0 === e.strm.avail_out) ? V : q; } function m(e, t) { for (var r, n, i, a, s = e.window; ;) { if (e.lookahead <= G) { if (f(e), e.lookahead <= G && t === I) return V; if (0 === e.lookahead) break; } if (e.match_length = 0, e.lookahead >= H && e.strstart > 0 && (n = s[i = e.strstart - 1]) === s[++i] && n === s[++i] && n === s[++i]) { a = e.strstart + G; do {} while (n === s[++i] && n === s[++i] && n === s[++i] && n === s[++i] && n === s[++i] && n === s[++i] && n === s[++i] && n === s[++i] && a > i); e.match_length = G - (a - i), e.match_length > e.lookahead && (e.match_length = e.lookahead); } if (e.match_length >= H ? (r = z._tr_tally(e, 1, e.match_length - H), e.lookahead -= e.match_length, e.strstart += e.match_length, e.match_length = 0) : (r = z._tr_tally(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++), r && (o(e, !1), 0 === e.strm.avail_out)) return V; } return e.insert = 0, t === O ? (o(e, !0), 0 === e.strm.avail_out ? J : Q) : e.last_lit && (o(e, !1), 0 === e.strm.avail_out) ? V : q; } function _(e, t) { for (var r; ;) { if (0 === e.lookahead && (f(e), 0 === e.lookahead)) { if (t === I) return V; break; } if (e.match_length = 0, r = z._tr_tally(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++, r && (o(e, !1), 0 === e.strm.avail_out)) return V; } return e.insert = 0, t === O ? (o(e, !0), 0 === e.strm.avail_out ? J : Q) : e.last_lit && (o(e, !1), 0 === e.strm.avail_out) ? V : q; } function g(e, t, r, n, i) { this.good_length = e, this.max_lazy = t, this.nice_length = r, this.max_chain = n, this.func = i; } function b(e) { e.window_size = 2 * e.w_size, a(e.head), e.max_lazy_match = x[e.level].max_lazy, e.good_match = x[e.level].good_length, e.nice_match = x[e.level].nice_length, e.max_chain_length = x[e.level].max_chain, e.strstart = 0, e.block_start = 0, e.lookahead = 0, e.insert = 0, e.match_length = e.prev_length = H - 1, e.match_available = 0, e.ins_h = 0; } function v() { this.strm = null, this.status = 0, this.pending_buf = null, this.pending_buf_size = 0, this.pending_out = 0, this.pending = 0, this.wrap = 0, this.gzhead = null, this.gzindex = 0, this.method = P, this.last_flush = -1, this.w_size = 0, this.w_bits = 0, this.w_mask = 0, this.window = null, this.window_size = 0, this.prev = null, this.head = null, this.ins_h = 0, this.hash_size = 0, this.hash_bits = 0, this.hash_mask = 0, this.hash_shift = 0, this.block_start = 0, this.match_length = 0, this.prev_match = 0, this.match_available = 0, this.strstart = 0, this.match_start = 0, this.lookahead = 0, this.prev_length = 0, this.max_chain_length = 0, this.max_lazy_match = 0, this.level = 0, this.strategy = 0, this.good_match = 0, this.nice_match = 0, this.dyn_ltree = new S.Buf16(2 * W), this.dyn_dtree = new S.Buf16(2 * (2 * j + 1)), this.bl_tree = new S.Buf16(2 * (2 * Z + 1)), a(this.dyn_ltree), a(this.dyn_dtree), a(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new S.Buf16(M + 1), this.heap = new S.Buf16(2 * L + 1), a(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new S.Buf16(2 * L + 1), a(this.depth), this.l_buf = 0, this.lit_bufsize = 0, this.last_lit = 0, this.d_buf = 0, this.opt_len = 0, this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0; } function w(e) { var t; return e && e.state ? (e.total_in = e.total_out = 0, e.data_type = N, (t = e.state).pending = 0, t.pending_out = 0, t.wrap < 0 && (t.wrap = -t.wrap), t.status = t.wrap ? Y : X, e.adler = 2 === t.wrap ? 0 : 1, t.last_flush = I, z._tr_init(t), B) : n(e, R); } function y(e) { var t = w(e); return t === B && b(e.state), t; } function k(e, t, r, i, a, s) { if (!e) return R; var o = 1; if (t === T && (t = 6), 0 > i ? (o = 0, i = -i) : i > 15 && (o = 2, i -= 16), 1 > a || a > U || r !== P || 8 > i || i > 15 || 0 > t || t > 9 || 0 > s || s > F) return n(e, R); 8 === i && (i = 9); var u = new v(); return e.state = u, u.strm = e, u.wrap = o, u.gzhead = null, u.w_bits = i, u.w_size = 1 << u.w_bits, u.w_mask = u.w_size - 1, u.hash_bits = a + 7, u.hash_size = 1 << u.hash_bits, u.hash_mask = u.hash_size - 1, u.hash_shift = ~~((u.hash_bits + H - 1) / H), u.window = new S.Buf8(2 * u.w_size), u.head = new S.Buf16(u.hash_size), u.prev = new S.Buf16(u.w_size), u.lit_bufsize = 1 << a + 6, u.pending_buf_size = 4 * u.lit_bufsize, u.pending_buf = new S.Buf8(u.pending_buf_size), u.d_buf = 1 * u.lit_bufsize, u.l_buf = 3 * u.lit_bufsize, u.level = t, u.strategy = s, u.method = r, y(e); } var x, S = e("../utils/common"), z = e("./trees"), E = e("./adler32"), C = e("./crc32"), A = e("./messages"), I = 0, O = 4, B = 0, R = -2, T = -1, D = 1, F = 4, N = 2, P = 8, U = 9, L = 286, j = 30, Z = 19, W = 2 * L + 1, M = 15, H = 3, G = 258, K = G + H + 1, Y = 42, X = 113, V = 1, q = 2, J = 3, Q = 4; x = [ new g(0, 0, 0, 0, function(e, t) { var r = 65535; for (r > e.pending_buf_size - 5 && (r = e.pending_buf_size - 5); ;) { if (e.lookahead <= 1) { if (f(e), 0 === e.lookahead && t === I) return V; if (0 === e.lookahead) break; } e.strstart += e.lookahead, e.lookahead = 0; var n = e.block_start + r; if ((0 === e.strstart || e.strstart >= n) && (e.lookahead = e.strstart - n, e.strstart = n, o(e, !1), 0 === e.strm.avail_out)) return V; if (e.strstart - e.block_start >= e.w_size - K && (o(e, !1), 0 === e.strm.avail_out)) return V; } return e.insert = 0, t === O ? (o(e, !0), 0 === e.strm.avail_out ? J : Q) : (e.strstart > e.block_start && (o(e, !1), e.strm.avail_out), V); }), new g(4, 4, 8, 4, d), new g(4, 5, 16, 8, d), new g(4, 6, 32, 32, d), new g(4, 4, 16, 16, p), new g(8, 16, 32, 32, p), new g(8, 16, 128, 128, p), new g(8, 32, 128, 256, p), new g(32, 128, 258, 1024, p), new g(32, 258, 258, 4096, p) ], r.deflateInit = function(e, t) { return k(e, t, P, 15, 8, 0); }, r.deflateInit2 = k, r.deflateReset = y, r.deflateResetKeep = w, r.deflateSetHeader = function(e, t) { return e && e.state ? 2 !== e.state.wrap ? R : (e.state.gzhead = t, B) : R; }, r.deflate = function(e, t) { var r, o, l, c; if (!e || !e.state || t > 5 || 0 > t) return e ? n(e, R) : R; if (o = e.state, !e.output || !e.input && 0 !== e.avail_in || 666 === o.status && t !== O) return n(e, 0 === e.avail_out ? -5 : R); if (o.strm = e, r = o.last_flush, o.last_flush = t, o.status === Y) if (2 === o.wrap) e.adler = 0, u(o, 31), u(o, 139), u(o, 8), o.gzhead ? (u(o, (o.gzhead.text ? 1 : 0) + (o.gzhead.hcrc ? 2 : 0) + (o.gzhead.extra ? 4 : 0) + (o.gzhead.name ? 8 : 0) + (o.gzhead.comment ? 16 : 0)), u(o, 255 & o.gzhead.time), u(o, o.gzhead.time >> 8 & 255), u(o, o.gzhead.time >> 16 & 255), u(o, o.gzhead.time >> 24 & 255), u(o, 9 === o.level ? 2 : o.strategy >= 2 || o.level < 2 ? 4 : 0), u(o, 255 & o.gzhead.os), o.gzhead.extra && o.gzhead.extra.length && (u(o, 255 & o.gzhead.extra.length), u(o, o.gzhead.extra.length >> 8 & 255)), o.gzhead.hcrc && (e.adler = C(e.adler, o.pending_buf, o.pending, 0)), o.gzindex = 0, o.status = 69) : (u(o, 0), u(o, 0), u(o, 0), u(o, 0), u(o, 0), u(o, 9 === o.level ? 2 : o.strategy >= 2 || o.level < 2 ? 4 : 0), u(o, 3), o.status = X); else { var f = P + (o.w_bits - 8 << 4) << 8; f |= (o.strategy >= 2 || o.level < 2 ? 0 : o.level < 6 ? 1 : 6 === o.level ? 2 : 3) << 6, 0 !== o.strstart && (f |= 32), f += 31 - f % 31, o.status = X, h(o, f), 0 !== o.strstart && (h(o, e.adler >>> 16), h(o, 65535 & e.adler)), e.adler = 1; } if (69 === o.status) if (o.gzhead.extra) { for (l = o.pending; o.gzindex < (65535 & o.gzhead.extra.length) && (o.pending !== o.pending_buf_size || (o.gzhead.hcrc && o.pending > l && (e.adler = C(e.adler, o.pending_buf, o.pending - l, l)), s(e), l = o.pending, o.pending !== o.pending_buf_size)); ) u(o, 255 & o.gzhead.extra[o.gzindex]), o.gzindex++; o.gzhead.hcrc && o.pending > l && (e.adler = C(e.adler, o.pending_buf, o.pending - l, l)), o.gzindex === o.gzhead.extra.length && (o.gzindex = 0, o.status = 73); } else o.status = 73; if (73 === o.status) if (o.gzhead.name) { l = o.pending; do { if (o.pending === o.pending_buf_size && (o.gzhead.hcrc && o.pending > l && (e.adler = C(e.adler, o.pending_buf, o.pending - l, l)), s(e), l = o.pending, o.pending === o.pending_buf_size)) { c = 1; break; } c = o.gzindex < o.gzhead.name.length ? 255 & o.gzhead.name.charCodeAt(o.gzindex++) : 0, u(o, c); } while (0 !== c); o.gzhead.hcrc && o.pending > l && (e.adler = C(e.adler, o.pending_buf, o.pending - l, l)), 0 === c && (o.gzindex = 0, o.status = 91); } else o.status = 91; if (91 === o.status) if (o.gzhead.comment) { l = o.pending; do { if (o.pending === o.pending_buf_size && (o.gzhead.hcrc && o.pending > l && (e.adler = C(e.adler, o.pending_buf, o.pending - l, l)), s(e), l = o.pending, o.pending === o.pending_buf_size)) { c = 1; break; } c = o.gzindex < o.gzhead.comment.length ? 255 & o.gzhead.comment.charCodeAt(o.gzindex++) : 0, u(o, c); } while (0 !== c); o.gzhead.hcrc && o.pending > l && (e.adler = C(e.adler, o.pending_buf, o.pending - l, l)), 0 === c && (o.status = 103); } else o.status = 103; if (103 === o.status && (o.gzhead.hcrc ? (o.pending + 2 > o.pending_buf_size && s(e), o.pending + 2 <= o.pending_buf_size && (u(o, 255 & e.adler), u(o, e.adler >> 8 & 255), e.adler = 0, o.status = X)) : o.status = X), 0 !== o.pending) { if (s(e), 0 === e.avail_out) return o.last_flush = -1, B; } else if (0 === e.avail_in && i(t) <= i(r) && t !== O) return n(e, -5); if (666 === o.status && 0 !== e.avail_in) return n(e, -5); if (0 !== e.avail_in || 0 !== o.lookahead || t !== I && 666 !== o.status) { var d = 2 === o.strategy ? _(o, t) : 3 === o.strategy ? m(o, t) : x[o.level].func(o, t); if ((d === J || d === Q) && (o.status = 666), d === V || d === J) return 0 === e.avail_out && (o.last_flush = -1), B; if (d === q && (1 === t ? z._tr_align(o) : 5 !== t && (z._tr_stored_block(o, 0, 0, !1), 3 === t && (a(o.head), 0 === o.lookahead && (o.strstart = 0, o.block_start = 0, o.insert = 0))), s(e), 0 === e.avail_out)) return o.last_flush = -1, B; } return t !== O ? B : o.wrap <= 0 ? 1 : (2 === o.wrap ? (u(o, 255 & e.adler), u(o, e.adler >> 8 & 255), u(o, e.adler >> 16 & 255), u(o, e.adler >> 24 & 255), u(o, 255 & e.total_in), u(o, e.total_in >> 8 & 255), u(o, e.total_in >> 16 & 255), u(o, e.total_in >> 24 & 255)) : (h(o, e.adler >>> 16), h(o, 65535 & e.adler)), s(e), o.wrap > 0 && (o.wrap = -o.wrap), 0 !== o.pending ? B : 1); }, r.deflateEnd = function(e) { var t; return e && e.state ? (t = e.state.status) !== Y && 69 !== t && 73 !== t && 91 !== t && 103 !== t && t !== X && 666 !== t ? n(e, R) : (e.state = null, t === X ? n(e, -3) : B) : R; }, r.deflateSetDictionary = function(e, t) { var r, n, i, s, o, u, h, l, c = t.length; if (!e || !e.state) return R; if (2 === (s = (r = e.state).wrap) || 1 === s && r.status !== Y || r.lookahead) return R; for (1 === s && (e.adler = E(e.adler, t, c, 0)), r.wrap = 0, c >= r.w_size && (0 === s && (a(r.head), r.strstart = 0, r.block_start = 0, r.insert = 0), l = new S.Buf8(r.w_size), S.arraySet(l, t, c - r.w_size, r.w_size, 0), t = l, c = r.w_size), o = e.avail_in, u = e.next_in, h = e.input, e.avail_in = c, e.next_in = 0, e.input = t, f(r); r.lookahead >= H; ) { n = r.strstart, i = r.lookahead - (H - 1); do { r.ins_h = (r.ins_h << r.hash_shift ^ r.window[n + H - 1]) & r.hash_mask, r.prev[n & r.w_mask] = r.head[r.ins_h], r.head[r.ins_h] = n, n++; } while (--i); r.strstart = n, r.lookahead = H - 1, f(r); } return r.strstart += r.lookahead, r.block_start = r.strstart, r.insert = r.lookahead, r.lookahead = 0, r.match_length = r.prev_length = H - 1, r.match_available = 0, e.next_in = u, e.input = h, e.avail_in = o, r.wrap = s, B; }, r.deflateInfo = "pako deflate (from Nodeca project)"; }, { "../utils/common": 62, "./adler32": 64, "./crc32": 66, "./messages": 72, "./trees": 73 } ], 68: [ function(e, t) { "use strict"; t.exports = function() { this.text = 0, this.time = 0, this.xflags = 0, this.os = 0, this.extra = null, this.extra_len = 0, this.name = "", this.comment = "", this.hcrc = 0, this.done = !1; }; }, {} ], 69: [ function(e, t) { "use strict"; t.exports = function(e, t) { var r, n, i, a, s, o, u, h, l, c, f, d, p, m, _, g, b, v, w, y, k, x, S, z, E; r = e.state, n = e.next_in, z = e.input, i = n + (e.avail_in - 5), a = e.next_out, E = e.output, s = a - (t - e.avail_out), o = a + (e.avail_out - 257), u = r.dmax, h = r.wsize, l = r.whave, c = r.wnext, f = r.window, d = r.hold, p = r.bits, m = r.lencode, _ = r.distcode, g = (1 << r.lenbits) - 1, b = (1 << r.distbits) - 1; e: do { 15 > p && (d += z[n++] << p, p += 8, d += z[n++] << p, p += 8), v = m[d & g]; t: for (;;) { if (d >>>= w = v >>> 24, p -= w, 0 == (w = v >>> 16 & 255)) E[a++] = 65535 & v; else { if (!(16 & w)) { if (0 == (64 & w)) { v = m[(65535 & v) + (d & (1 << w) - 1)]; continue t; } if (32 & w) { r.mode = 12; break e; } e.msg = "invalid literal/length code", r.mode = 30; break e; } y = 65535 & v, (w &= 15) && (w > p && (d += z[n++] << p, p += 8), y += d & (1 << w) - 1, d >>>= w, p -= w), 15 > p && (d += z[n++] << p, p += 8, d += z[n++] << p, p += 8), v = _[d & b]; r: for (;;) { if (d >>>= w = v >>> 24, p -= w, !(16 & (w = v >>> 16 & 255))) { if (0 == (64 & w)) { v = _[(65535 & v) + (d & (1 << w) - 1)]; continue r; } e.msg = "invalid distance code", r.mode = 30; break e; } if (k = 65535 & v, (w &= 15) > p && (d += z[n++] << p, w > (p += 8) && (d += z[n++] << p, p += 8)), (k += d & (1 << w) - 1) > u) { e.msg = "invalid distance too far back", r.mode = 30; break e; } if (d >>>= w, p -= w, k > (w = a - s)) { if ((w = k - w) > l && r.sane) { e.msg = "invalid distance too far back", r.mode = 30; break e; } if (x = 0, S = f, 0 === c) { if (x += h - w, y > w) { y -= w; do { E[a++] = f[x++]; } while (--w); x = a - k, S = E; } } else if (w > c) { if (x += h + c - w, y > (w -= c)) { y -= w; do { E[a++] = f[x++]; } while (--w); if (x = 0, y > c) { y -= w = c; do { E[a++] = f[x++]; } while (--w); x = a - k, S = E; } } } else if (x += c - w, y > w) { y -= w; do { E[a++] = f[x++]; } while (--w); x = a - k, S = E; } for (;y > 2; ) E[a++] = S[x++], E[a++] = S[x++], E[a++] = S[x++], y -= 3; y && (E[a++] = S[x++], y > 1 && (E[a++] = S[x++])); } else { x = a - k; do { E[a++] = E[x++], E[a++] = E[x++], E[a++] = E[x++], y -= 3; } while (y > 2); y && (E[a++] = E[x++], y > 1 && (E[a++] = E[x++])); } break; } } break; } } while (i > n && o > a); n -= y = p >> 3, d &= (1 << (p -= y << 3)) - 1, e.next_in = n, e.next_out = a, e.avail_in = i > n ? i - n + 5 : 5 - (n - i), e.avail_out = o > a ? o - a + 257 : 257 - (a - o), r.hold = d, r.bits = p; }; }, {} ], 70: [ function(e, t, r) { "use strict"; function n(e) { return (e >>> 24 & 255) + (e >>> 8 & 65280) + ((65280 & e) << 8) + ((255 & e) << 24); } function i() { this.mode = 0, this.last = !1, this.wrap = 0, this.havedict = !1, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new d.Buf16(320), this.work = new d.Buf16(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0; } function a(e) { var t; return e && e.state ? (t = e.state, e.total_in = e.total_out = t.total = 0, e.msg = "", t.wrap && (e.adler = 1 & t.wrap), t.mode = k, t.last = 0, t.havedict = 0, t.dmax = 32768, t.head = null, t.hold = 0, t.bits = 0, t.lencode = t.lendyn = new d.Buf32(S), t.distcode = t.distdyn = new d.Buf32(z), t.sane = 1, t.back = -1, w) : y; } function s(e) { var t; return e && e.state ? ((t = e.state).wsize = 0, t.whave = 0, t.wnext = 0, a(e)) : y; } function o(e, t) { var r, n; return e && e.state ? (n = e.state, 0 > t ? (r = 0, t = -t) : (r = 1 + (t >> 4), 48 > t && (t &= 15)), t && (8 > t || t > 15) ? y : (null !== n.window && n.wbits !== t && (n.window = null), n.wrap = r, n.wbits = t, s(e))) : y; } function u(e, t) { var r, n; return e ? (n = new i(), e.state = n, n.window = null, (r = o(e, t)) !== w && (e.state = null), r) : y; } function h(e) { if (E) { var t; for (c = new d.Buf32(512), f = new d.Buf32(32), t = 0; 144 > t; ) e.lens[t++] = 8; for (;256 > t; ) e.lens[t++] = 9; for (;280 > t; ) e.lens[t++] = 7; for (;288 > t; ) e.lens[t++] = 8; for (g(b, e.lens, 0, 288, c, 0, e.work, { bits: 9 }), t = 0; 32 > t; ) e.lens[t++] = 5; g(v, e.lens, 0, 32, f, 0, e.work, { bits: 5 }), E = !1; } e.lencode = c, e.lenbits = 9, e.distcode = f, e.distbits = 5; } function l(e, t, r, n) { var i, a = e.state; return null === a.window && (a.wsize = 1 << a.wbits, a.wnext = 0, a.whave = 0, a.window = new d.Buf8(a.wsize)), n >= a.wsize ? (d.arraySet(a.window, t, r - a.wsize, a.wsize, 0), a.wnext = 0, a.whave = a.wsize) : ((i = a.wsize - a.wnext) > n && (i = n), d.arraySet(a.window, t, r - n, i, a.wnext), (n -= i) ? (d.arraySet(a.window, t, r - n, n, 0), a.wnext = n, a.whave = a.wsize) : (a.wnext += i, a.wnext === a.wsize && (a.wnext = 0), a.whave < a.wsize && (a.whave += i))), 0; } var c, f, d = e("../utils/common"), p = e("./adler32"), m = e("./crc32"), _ = e("./inffast"), g = e("./inftrees"), b = 1, v = 2, w = 0, y = -2, k = 1, x = 12, S = 852, z = 592, E = !0; r.inflateReset = s, r.inflateReset2 = o, r.inflateResetKeep = a, r.inflateInit = function(e) { return u(e, 15); }, r.inflateInit2 = u, r.inflate = function(e, t) { var r, i, a, s, o, u, c, f, S, z, E, C, A, I, O, B, R, T, D, F, N, P, U, L, j = 0, Z = new d.Buf8(4), W = [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ]; if (!e || !e.state || !e.output || !e.input && 0 !== e.avail_in) return y; (r = e.state).mode === x && (r.mode = 13), o = e.next_out, a = e.output, c = e.avail_out, s = e.next_in, i = e.input, u = e.avail_in, f = r.hold, S = r.bits, z = u, E = c, P = w; e: for (;;) switch (r.mode) { case k: if (0 === r.wrap) { r.mode = 13; break; } for (;16 > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } if (2 & r.wrap && 35615 === f) { r.check = 0, Z[0] = 255 & f, Z[1] = f >>> 8 & 255, r.check = m(r.check, Z, 2, 0), f = 0, S = 0, r.mode = 2; break; } if (r.flags = 0, r.head && (r.head.done = !1), !(1 & r.wrap) || (((255 & f) << 8) + (f >> 8)) % 31) { e.msg = "incorrect header check", r.mode = 30; break; } if (8 != (15 & f)) { e.msg = "unknown compression method", r.mode = 30; break; } if (S -= 4, N = 8 + (15 & (f >>>= 4)), 0 === r.wbits) r.wbits = N; else if (N > r.wbits) { e.msg = "invalid window size", r.mode = 30; break; } r.dmax = 1 << N, e.adler = r.check = 1, r.mode = 512 & f ? 10 : x, f = 0, S = 0; break; case 2: for (;16 > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } if (r.flags = f, 8 != (255 & r.flags)) { e.msg = "unknown compression method", r.mode = 30; break; } if (57344 & r.flags) { e.msg = "unknown header flags set", r.mode = 30; break; } r.head && (r.head.text = f >> 8 & 1), 512 & r.flags && (Z[0] = 255 & f, Z[1] = f >>> 8 & 255, r.check = m(r.check, Z, 2, 0)), f = 0, S = 0, r.mode = 3; case 3: for (;32 > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } r.head && (r.head.time = f), 512 & r.flags && (Z[0] = 255 & f, Z[1] = f >>> 8 & 255, Z[2] = f >>> 16 & 255, Z[3] = f >>> 24 & 255, r.check = m(r.check, Z, 4, 0)), f = 0, S = 0, r.mode = 4; case 4: for (;16 > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } r.head && (r.head.xflags = 255 & f, r.head.os = f >> 8), 512 & r.flags && (Z[0] = 255 & f, Z[1] = f >>> 8 & 255, r.check = m(r.check, Z, 2, 0)), f = 0, S = 0, r.mode = 5; case 5: if (1024 & r.flags) { for (;16 > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } r.length = f, r.head && (r.head.extra_len = f), 512 & r.flags && (Z[0] = 255 & f, Z[1] = f >>> 8 & 255, r.check = m(r.check, Z, 2, 0)), f = 0, S = 0; } else r.head && (r.head.extra = null); r.mode = 6; case 6: if (1024 & r.flags && ((C = r.length) > u && (C = u), C && (r.head && (N = r.head.extra_len - r.length, r.head.extra || (r.head.extra = new Array(r.head.extra_len)), d.arraySet(r.head.extra, i, s, C, N)), 512 & r.flags && (r.check = m(r.check, i, C, s)), u -= C, s += C, r.length -= C), r.length)) break e; r.length = 0, r.mode = 7; case 7: if (2048 & r.flags) { if (0 === u) break e; C = 0; do { N = i[s + C++], r.head && N && r.length < 65536 && (r.head.name += String.fromCharCode(N)); } while (N && u > C); if (512 & r.flags && (r.check = m(r.check, i, C, s)), u -= C, s += C, N) break e; } else r.head && (r.head.name = null); r.length = 0, r.mode = 8; case 8: if (4096 & r.flags) { if (0 === u) break e; C = 0; do { N = i[s + C++], r.head && N && r.length < 65536 && (r.head.comment += String.fromCharCode(N)); } while (N && u > C); if (512 & r.flags && (r.check = m(r.check, i, C, s)), u -= C, s += C, N) break e; } else r.head && (r.head.comment = null); r.mode = 9; case 9: if (512 & r.flags) { for (;16 > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } if (f !== (65535 & r.check)) { e.msg = "header crc mismatch", r.mode = 30; break; } f = 0, S = 0; } r.head && (r.head.hcrc = r.flags >> 9 & 1, r.head.done = !0), e.adler = r.check = 0, r.mode = x; break; case 10: for (;32 > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } e.adler = r.check = n(f), f = 0, S = 0, r.mode = 11; case 11: if (0 === r.havedict) return e.next_out = o, e.avail_out = c, e.next_in = s, e.avail_in = u, r.hold = f, r.bits = S, 2; e.adler = r.check = 1, r.mode = x; case x: if (5 === t || 6 === t) break e; case 13: if (r.last) { f >>>= 7 & S, S -= 7 & S, r.mode = 27; break; } for (;3 > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } switch (r.last = 1 & f, S -= 1, 3 & (f >>>= 1)) { case 0: r.mode = 14; break; case 1: if (h(r), r.mode = 20, 6 === t) { f >>>= 2, S -= 2; break e; } break; case 2: r.mode = 17; break; case 3: e.msg = "invalid block type", r.mode = 30; } f >>>= 2, S -= 2; break; case 14: for (f >>>= 7 & S, S -= 7 & S; 32 > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } if ((65535 & f) != (f >>> 16 ^ 65535)) { e.msg = "invalid stored block lengths", r.mode = 30; break; } if (r.length = 65535 & f, f = 0, S = 0, r.mode = 15, 6 === t) break e; case 15: r.mode = 16; case 16: if (C = r.length) { if (C > u && (C = u), C > c && (C = c), 0 === C) break e; d.arraySet(a, i, s, C, o), u -= C, s += C, c -= C, o += C, r.length -= C; break; } r.mode = x; break; case 17: for (;14 > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } if (r.nlen = 257 + (31 & f), f >>>= 5, S -= 5, r.ndist = 1 + (31 & f), f >>>= 5, S -= 5, r.ncode = 4 + (15 & f), f >>>= 4, S -= 4, r.nlen > 286 || r.ndist > 30) { e.msg = "too many length or distance symbols", r.mode = 30; break; } r.have = 0, r.mode = 18; case 18: for (;r.have < r.ncode; ) { for (;3 > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } r.lens[W[r.have++]] = 7 & f, f >>>= 3, S -= 3; } for (;r.have < 19; ) r.lens[W[r.have++]] = 0; if (r.lencode = r.lendyn, r.lenbits = 7, U = { bits: r.lenbits }, P = g(0, r.lens, 0, 19, r.lencode, 0, r.work, U), r.lenbits = U.bits, P) { e.msg = "invalid code lengths set", r.mode = 30; break; } r.have = 0, r.mode = 19; case 19: for (;r.have < r.nlen + r.ndist; ) { for (;B = (j = r.lencode[f & (1 << r.lenbits) - 1]) >>> 16 & 255, R = 65535 & j, !(S >= (O = j >>> 24)); ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } if (16 > R) f >>>= O, S -= O, r.lens[r.have++] = R; else { if (16 === R) { for (L = O + 2; L > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } if (f >>>= O, S -= O, 0 === r.have) { e.msg = "invalid bit length repeat", r.mode = 30; break; } N = r.lens[r.have - 1], C = 3 + (3 & f), f >>>= 2, S -= 2; } else if (17 === R) { for (L = O + 3; L > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } S -= O, N = 0, C = 3 + (7 & (f >>>= O)), f >>>= 3, S -= 3; } else { for (L = O + 7; L > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } S -= O, N = 0, C = 11 + (127 & (f >>>= O)), f >>>= 7, S -= 7; } if (r.have + C > r.nlen + r.ndist) { e.msg = "invalid bit length repeat", r.mode = 30; break; } for (;C--; ) r.lens[r.have++] = N; } } if (30 === r.mode) break; if (0 === r.lens[256]) { e.msg = "invalid code -- missing end-of-block", r.mode = 30; break; } if (r.lenbits = 9, U = { bits: r.lenbits }, P = g(b, r.lens, 0, r.nlen, r.lencode, 0, r.work, U), r.lenbits = U.bits, P) { e.msg = "invalid literal/lengths set", r.mode = 30; break; } if (r.distbits = 6, r.distcode = r.distdyn, U = { bits: r.distbits }, P = g(v, r.lens, r.nlen, r.ndist, r.distcode, 0, r.work, U), r.distbits = U.bits, P) { e.msg = "invalid distances set", r.mode = 30; break; } if (r.mode = 20, 6 === t) break e; case 20: r.mode = 21; case 21: if (u >= 6 && c >= 258) { e.next_out = o, e.avail_out = c, e.next_in = s, e.avail_in = u, r.hold = f, r.bits = S, _(e, E), o = e.next_out, a = e.output, c = e.avail_out, s = e.next_in, i = e.input, u = e.avail_in, f = r.hold, S = r.bits, r.mode === x && (r.back = -1); break; } for (r.back = 0; B = (j = r.lencode[f & (1 << r.lenbits) - 1]) >>> 16 & 255, R = 65535 & j, !(S >= (O = j >>> 24)); ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } if (B && 0 == (240 & B)) { for (T = O, D = B, F = R; B = (j = r.lencode[F + ((f & (1 << T + D) - 1) >> T)]) >>> 16 & 255, R = 65535 & j, !(S >= T + (O = j >>> 24)); ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } f >>>= T, S -= T, r.back += T; } if (f >>>= O, S -= O, r.back += O, r.length = R, 0 === B) { r.mode = 26; break; } if (32 & B) { r.back = -1, r.mode = x; break; } if (64 & B) { e.msg = "invalid literal/length code", r.mode = 30; break; } r.extra = 15 & B, r.mode = 22; case 22: if (r.extra) { for (L = r.extra; L > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } r.length += f & (1 << r.extra) - 1, f >>>= r.extra, S -= r.extra, r.back += r.extra; } r.was = r.length, r.mode = 23; case 23: for (;B = (j = r.distcode[f & (1 << r.distbits) - 1]) >>> 16 & 255, R = 65535 & j, !(S >= (O = j >>> 24)); ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } if (0 == (240 & B)) { for (T = O, D = B, F = R; B = (j = r.distcode[F + ((f & (1 << T + D) - 1) >> T)]) >>> 16 & 255, R = 65535 & j, !(S >= T + (O = j >>> 24)); ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } f >>>= T, S -= T, r.back += T; } if (f >>>= O, S -= O, r.back += O, 64 & B) { e.msg = "invalid distance code", r.mode = 30; break; } r.offset = R, r.extra = 15 & B, r.mode = 24; case 24: if (r.extra) { for (L = r.extra; L > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } r.offset += f & (1 << r.extra) - 1, f >>>= r.extra, S -= r.extra, r.back += r.extra; } if (r.offset > r.dmax) { e.msg = "invalid distance too far back", r.mode = 30; break; } r.mode = 25; case 25: if (0 === c) break e; if (C = E - c, r.offset > C) { if ((C = r.offset - C) > r.whave && r.sane) { e.msg = "invalid distance too far back", r.mode = 30; break; } C > r.wnext ? (C -= r.wnext, A = r.wsize - C) : A = r.wnext - C, C > r.length && (C = r.length), I = r.window; } else I = a, A = o - r.offset, C = r.length; C > c && (C = c), c -= C, r.length -= C; do { a[o++] = I[A++]; } while (--C); 0 === r.length && (r.mode = 21); break; case 26: if (0 === c) break e; a[o++] = r.length, c--, r.mode = 21; break; case 27: if (r.wrap) { for (;32 > S; ) { if (0 === u) break e; u--, f |= i[s++] << S, S += 8; } if (E -= c, e.total_out += E, r.total += E, E && (e.adler = r.check = r.flags ? m(r.check, a, E, o - E) : p(r.check, a, E, o - E)), E = c, (r.flags ? f : n(f)) !== r.check) { e.msg = "incorrect data check", r.mode = 30; break; } f = 0, S = 0; } r.mode = 28; case 28: if (r.wrap && r.flags) { for (;32 > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } if (f !== (4294967295 & r.total)) { e.msg = "incorrect length check", r.mode = 30; break; } f = 0, S = 0; } r.mode = 29; case 29: P = 1; break e; case 30: P = -3; break e; case 31: return -4; case 32: default: return y; } return e.next_out = o, e.avail_out = c, e.next_in = s, e.avail_in = u, r.hold = f, r.bits = S, (r.wsize || E !== e.avail_out && r.mode < 30 && (r.mode < 27 || 4 !== t)) && l(e, e.output, e.next_out, E - e.avail_out) ? (r.mode = 31, -4) : (z -= e.avail_in, E -= e.avail_out, e.total_in += z, e.total_out += E, r.total += E, r.wrap && E && (e.adler = r.check = r.flags ? m(r.check, a, E, e.next_out - E) : p(r.check, a, E, e.next_out - E)), e.data_type = r.bits + (r.last ? 64 : 0) + (r.mode === x ? 128 : 0) + (20 === r.mode || 15 === r.mode ? 256 : 0), (0 === z && 0 === E || 4 === t) && P === w && (P = -5), P); }, r.inflateEnd = function(e) { if (!e || !e.state) return y; var t = e.state; return t.window && (t.window = null), e.state = null, w; }, r.inflateGetHeader = function(e, t) { var r; return e && e.state ? 0 == (2 & (r = e.state).wrap) ? y : (r.head = t, t.done = !1, w) : y; }, r.inflateSetDictionary = function(e, t) { var r, n = t.length; return e && e.state ? 0 !== (r = e.state).wrap && 11 !== r.mode ? y : 11 === r.mode && p(1, t, n, 0) !== r.check ? -3 : l(e, t, n, n) ? (r.mode = 31, -4) : (r.havedict = 1, w) : y; }, r.inflateInfo = "pako inflate (from Nodeca project)"; }, { "../utils/common": 62, "./adler32": 64, "./crc32": 66, "./inffast": 69, "./inftrees": 71 } ], 71: [ function(e, t) { "use strict"; var r = e("../utils/common"), n = [ 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0 ], i = [ 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78 ], a = [ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577, 0, 0 ], s = [ 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 64, 64 ]; t.exports = function(e, t, o, u, h, l, c, f) { var d, p, m, _, g, b, v, w, y, k = f.bits, x = 0, S = 0, z = 0, E = 0, C = 0, A = 0, I = 0, O = 0, B = 0, R = 0, T = null, D = 0, F = new r.Buf16(16), N = new r.Buf16(16), P = null, U = 0; for (x = 0; 15 >= x; x++) F[x] = 0; for (S = 0; u > S; S++) F[t[o + S]]++; for (C = k, E = 15; E >= 1 && 0 === F[E]; E--) ; if (C > E && (C = E), 0 === E) return h[l++] = 20971520, h[l++] = 20971520, f.bits = 1, 0; for (z = 1; E > z && 0 === F[z]; z++) ; for (z > C && (C = z), O = 1, x = 1; 15 >= x; x++) if (O <<= 1, 0 > (O -= F[x])) return -1; if (O > 0 && (0 === e || 1 !== E)) return -1; for (N[1] = 0, x = 1; 15 > x; x++) N[x + 1] = N[x] + F[x]; for (S = 0; u > S; S++) 0 !== t[o + S] && (c[N[t[o + S]]++] = S); if (0 === e ? (T = P = c, b = 19) : 1 === e ? (T = n, D -= 257, P = i, U -= 257, b = 256) : (T = a, P = s, b = -1), R = 0, S = 0, x = z, g = l, A = C, I = 0, m = -1, _ = (B = 1 << C) - 1, 1 === e && B > 852 || 2 === e && B > 592) return 1; for (;;) { v = x - I, c[S] < b ? (w = 0, y = c[S]) : c[S] > b ? (w = P[U + c[S]], y = T[D + c[S]]) : (w = 96, y = 0), d = 1 << x - I, z = p = 1 << A; do { h[g + (R >> I) + (p -= d)] = v << 24 | w << 16 | y | 0; } while (0 !== p); for (d = 1 << x - 1; R & d; ) d >>= 1; if (0 !== d ? (R &= d - 1, R += d) : R = 0, S++, 0 == --F[x]) { if (x === E) break; x = t[o + c[S]]; } if (x > C && (R & _) !== m) { for (0 === I && (I = C), g += z, O = 1 << (A = x - I); E > A + I && !(0 >= (O -= F[A + I])); ) A++, O <<= 1; if (B += 1 << A, 1 === e && B > 852 || 2 === e && B > 592) return 1; h[m = R & _] = C << 24 | A << 16 | g - l | 0; } } return 0 !== R && (h[g + R] = x - I << 24 | 64 << 16 | 0), f.bits = C, 0; }; }, { "../utils/common": 62 } ], 72: [ function(e, t) { "use strict"; t.exports = { 2: "need dictionary", 1: "stream end", 0: "", "-1": "file error", "-2": "stream error", "-3": "data error", "-4": "insufficient memory", "-5": "buffer error", "-6": "incompatible version" }; }, {} ], 73: [ function(e, t, r) { "use strict"; function n(e) { for (var t = e.length; --t >= 0; ) e[t] = 0; } function i(e, t, r, n, i) { this.static_tree = e, this.extra_bits = t, this.extra_base = r, this.elems = n, this.max_length = i, this.has_stree = e && e.length; } function a(e, t) { this.dyn_tree = e, this.max_code = 0, this.stat_desc = t; } function s(e) { return 256 > e ? J[e] : J[256 + (e >>> 7)]; } function o(e, t) { e.pending_buf[e.pending++] = 255 & t, e.pending_buf[e.pending++] = t >>> 8 & 255; } function u(e, t, r) { e.bi_valid > L - r ? (e.bi_buf |= t << e.bi_valid & 65535, o(e, e.bi_buf), e.bi_buf = t >> L - e.bi_valid, e.bi_valid += r - L) : (e.bi_buf |= t << e.bi_valid & 65535, e.bi_valid += r); } function h(e, t, r) { u(e, r[2 * t], r[2 * t + 1]); } function l(e, t) { var r = 0; do { r |= 1 & e, e >>>= 1, r <<= 1; } while (--t > 0); return r >>> 1; } function c(e) { 16 === e.bi_valid ? (o(e, e.bi_buf), e.bi_buf = 0, e.bi_valid = 0) : e.bi_valid >= 8 && (e.pending_buf[e.pending++] = 255 & e.bi_buf, e.bi_buf >>= 8, e.bi_valid -= 8); } function f(e, t) { var r, n, i, a, s, o, u = t.dyn_tree, h = t.max_code, l = t.stat_desc.static_tree, c = t.stat_desc.has_stree, f = t.stat_desc.extra_bits, d = t.stat_desc.extra_base, p = t.stat_desc.max_length, m = 0; for (a = 0; U >= a; a++) e.bl_count[a] = 0; for (u[2 * e.heap[e.heap_max] + 1] = 0, r = e.heap_max + 1; P > r; r++) (a = u[2 * u[2 * (n = e.heap[r]) + 1] + 1] + 1) > p && (a = p, m++), u[2 * n + 1] = a, n > h || (e.bl_count[a]++, s = 0, n >= d && (s = f[n - d]), o = u[2 * n], e.opt_len += o * (a + s), c && (e.static_len += o * (l[2 * n + 1] + s))); if (0 !== m) { do { for (a = p - 1; 0 === e.bl_count[a]; ) a--; e.bl_count[a]--, e.bl_count[a + 1] += 2, e.bl_count[p]--, m -= 2; } while (m > 0); for (a = p; 0 !== a; a--) for (n = e.bl_count[a]; 0 !== n; ) (i = e.heap[--r]) > h || (u[2 * i + 1] !== a && (e.opt_len += (a - u[2 * i + 1]) * u[2 * i], u[2 * i + 1] = a), n--); } } function d(e, t, r) { var n, i, a = new Array(U + 1), s = 0; for (n = 1; U >= n; n++) a[n] = s = s + r[n - 1] << 1; for (i = 0; t >= i; i++) { var o = e[2 * i + 1]; 0 !== o && (e[2 * i] = l(a[o]++, o)); } } function p() { var e, t, r, n, a, s = new Array(U + 1); for (r = 0, n = 0; R - 1 > n; n++) for ($[n] = r, e = 0; e < 1 << G[n]; e++) Q[r++] = n; for (Q[r - 1] = n, a = 0, n = 0; 16 > n; n++) for (ee[n] = a, e = 0; e < 1 << K[n]; e++) J[a++] = n; for (a >>= 7; F > n; n++) for (ee[n] = a << 7, e = 0; e < 1 << K[n] - 7; e++) J[256 + a++] = n; for (t = 0; U >= t; t++) s[t] = 0; for (e = 0; 143 >= e; ) V[2 * e + 1] = 8, e++, s[8]++; for (;255 >= e; ) V[2 * e + 1] = 9, e++, s[9]++; for (;279 >= e; ) V[2 * e + 1] = 7, e++, s[7]++; for (;287 >= e; ) V[2 * e + 1] = 8, e++, s[8]++; for (d(V, D + 1, s), e = 0; F > e; e++) q[2 * e + 1] = 5, q[2 * e] = l(e, 5); te = new i(V, G, T + 1, D, U), re = new i(q, K, 0, F, U), ne = new i(new Array(0), Y, 0, N, j); } function m(e) { var t; for (t = 0; D > t; t++) e.dyn_ltree[2 * t] = 0; for (t = 0; F > t; t++) e.dyn_dtree[2 * t] = 0; for (t = 0; N > t; t++) e.bl_tree[2 * t] = 0; e.dyn_ltree[2 * Z] = 1, e.opt_len = e.static_len = 0, e.last_lit = e.matches = 0; } function _(e) { e.bi_valid > 8 ? o(e, e.bi_buf) : e.bi_valid > 0 && (e.pending_buf[e.pending++] = e.bi_buf), e.bi_buf = 0, e.bi_valid = 0; } function g(e, t, r, n) { _(e), n && (o(e, r), o(e, ~r)), A.arraySet(e.pending_buf, e.window, t, r, e.pending), e.pending += r; } function b(e, t, r, n) { var i = 2 * t, a = 2 * r; return e[i] < e[a] || e[i] === e[a] && n[t] <= n[r]; } function v(e, t, r) { for (var n = e.heap[r], i = r << 1; i <= e.heap_len && (i < e.heap_len && b(t, e.heap[i + 1], e.heap[i], e.depth) && i++, !b(t, n, e.heap[i], e.depth)); ) e.heap[r] = e.heap[i], r = i, i <<= 1; e.heap[r] = n; } function w(e, t, r) { var n, i, a, o, l = 0; if (0 !== e.last_lit) do { n = e.pending_buf[e.d_buf + 2 * l] << 8 | e.pending_buf[e.d_buf + 2 * l + 1], i = e.pending_buf[e.l_buf + l], l++, 0 === n ? h(e, i, t) : (h(e, (a = Q[i]) + T + 1, t), 0 !== (o = G[a]) && u(e, i -= $[a], o), h(e, a = s(--n), r), 0 !== (o = K[a]) && u(e, n -= ee[a], o)); } while (l < e.last_lit); h(e, Z, t); } function y(e, t) { var r, n, i, a = t.dyn_tree, s = t.stat_desc.static_tree, o = t.stat_desc.has_stree, u = t.stat_desc.elems, h = -1; for (e.heap_len = 0, e.heap_max = P, r = 0; u > r; r++) 0 !== a[2 * r] ? (e.heap[++e.heap_len] = h = r, e.depth[r] = 0) : a[2 * r + 1] = 0; for (;e.heap_len < 2; ) a[2 * (i = e.heap[++e.heap_len] = 2 > h ? ++h : 0)] = 1, e.depth[i] = 0, e.opt_len--, o && (e.static_len -= s[2 * i + 1]); for (t.max_code = h, r = e.heap_len >> 1; r >= 1; r--) v(e, a, r); i = u; do { r = e.heap[1], e.heap[1] = e.heap[e.heap_len--], v(e, a, 1), n = e.heap[1], e.heap[--e.heap_max] = r, e.heap[--e.heap_max] = n, a[2 * i] = a[2 * r] + a[2 * n], e.depth[i] = (e.depth[r] >= e.depth[n] ? e.depth[r] : e.depth[n]) + 1, a[2 * r + 1] = a[2 * n + 1] = i, e.heap[1] = i++, v(e, a, 1); } while (e.heap_len >= 2); e.heap[--e.heap_max] = e.heap[1], f(e, t), d(a, h, e.bl_count); } function k(e, t, r) { var n, i, a = -1, s = t[1], o = 0, u = 7, h = 4; for (0 === s && (u = 138, h = 3), t[2 * (r + 1) + 1] = 65535, n = 0; r >= n; n++) i = s, s = t[2 * (n + 1) + 1], ++o < u && i === s || (h > o ? e.bl_tree[2 * i] += o : 0 !== i ? (i !== a && e.bl_tree[2 * i]++, e.bl_tree[2 * W]++) : 10 >= o ? e.bl_tree[2 * M]++ : e.bl_tree[2 * H]++, o = 0, a = i, 0 === s ? (u = 138, h = 3) : i === s ? (u = 6, h = 3) : (u = 7, h = 4)); } function x(e, t, r) { var n, i, a = -1, s = t[1], o = 0, l = 7, c = 4; for (0 === s && (l = 138, c = 3), n = 0; r >= n; n++) if (i = s, s = t[2 * (n + 1) + 1], !(++o < l && i === s)) { if (c > o) do { h(e, i, e.bl_tree); } while (0 != --o); else 0 !== i ? (i !== a && (h(e, i, e.bl_tree), o--), h(e, W, e.bl_tree), u(e, o - 3, 2)) : 10 >= o ? (h(e, M, e.bl_tree), u(e, o - 3, 3)) : (h(e, H, e.bl_tree), u(e, o - 11, 7)); o = 0, a = i, 0 === s ? (l = 138, c = 3) : i === s ? (l = 6, c = 3) : (l = 7, c = 4); } } function S(e) { var t; for (k(e, e.dyn_ltree, e.l_desc.max_code), k(e, e.dyn_dtree, e.d_desc.max_code), y(e, e.bl_desc), t = N - 1; t >= 3 && 0 === e.bl_tree[2 * X[t] + 1]; t--) ; return e.opt_len += 14 + 3 * (t + 1), t; } function z(e, t, r, n) { var i; for (u(e, t - 257, 5), u(e, r - 1, 5), u(e, n - 4, 4), i = 0; n > i; i++) u(e, e.bl_tree[2 * X[i] + 1], 3); x(e, e.dyn_ltree, t - 1), x(e, e.dyn_dtree, r - 1); } function E(e) { var t, r = 4093624447; for (t = 0; 31 >= t; t++, r >>>= 1) if (1 & r && 0 !== e.dyn_ltree[2 * t]) return I; if (0 !== e.dyn_ltree[18] || 0 !== e.dyn_ltree[20] || 0 !== e.dyn_ltree[26]) return O; for (t = 32; T > t; t++) if (0 !== e.dyn_ltree[2 * t]) return O; return I; } function C(e, t, r, n) { u(e, (B << 1) + (n ? 1 : 0), 3), g(e, t, r, !0); } var A = e("../utils/common"), I = 0, O = 1, B = 0, R = 29, T = 256, D = T + 1 + R, F = 30, N = 19, P = 2 * D + 1, U = 15, L = 16, j = 7, Z = 256, W = 16, M = 17, H = 18, G = [ 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0 ], K = [ 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13 ], Y = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7 ], X = [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ], V = new Array(2 * (D + 2)); n(V); var q = new Array(2 * F); n(q); var J = new Array(512); n(J); var Q = new Array(256); n(Q); var $ = new Array(R); n($); var ee = new Array(F); n(ee); var te, re, ne, ie = !1; r._tr_init = function(e) { ie || (p(), ie = !0), e.l_desc = new a(e.dyn_ltree, te), e.d_desc = new a(e.dyn_dtree, re), e.bl_desc = new a(e.bl_tree, ne), e.bi_buf = 0, e.bi_valid = 0, m(e); }, r._tr_stored_block = C, r._tr_flush_block = function(e, t, r, n) { var i, a, s = 0; e.level > 0 ? (2 === e.strm.data_type && (e.strm.data_type = E(e)), y(e, e.l_desc), y(e, e.d_desc), s = S(e), (i = e.opt_len + 3 + 7 >>> 3) >= (a = e.static_len + 3 + 7 >>> 3) && (i = a)) : i = a = r + 5, i >= r + 4 && -1 !== t ? C(e, t, r, n) : 4 === e.strategy || a === i ? (u(e, 2 + (n ? 1 : 0), 3), w(e, V, q)) : (u(e, 4 + (n ? 1 : 0), 3), z(e, e.l_desc.max_code + 1, e.d_desc.max_code + 1, s + 1), w(e, e.dyn_ltree, e.dyn_dtree)), m(e), n && _(e); }, r._tr_tally = function(e, t, r) { return e.pending_buf[e.d_buf + 2 * e.last_lit] = t >>> 8 & 255, e.pending_buf[e.d_buf + 2 * e.last_lit + 1] = 255 & t, e.pending_buf[e.l_buf + e.last_lit] = 255 & r, e.last_lit++, 0 === t ? e.dyn_ltree[2 * r]++ : (e.matches++, t--, e.dyn_ltree[2 * (Q[r] + T + 1)]++, e.dyn_dtree[2 * s(t)]++), e.last_lit === e.lit_bufsize - 1; }, r._tr_align = function(e) { u(e, 2, 3), h(e, Z, V), c(e); }; }, { "../utils/common": 62 } ], 74: [ function(e, t) { "use strict"; t.exports = function() { this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = "", this.state = null, this.data_type = 2, this.adler = 0; }; }, {} ] }, {}, [ 10 ])(10); }), function(e) { "object" == typeof exports && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define([], e) : ("undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this).JSZip = e(); }(function() { return function e(t, r, n) { function i(s, o) { if (!r[s]) { if (!t[s]) { var u = "function" == typeof require && require; if (!o && u) return u(s, !0); if (a) return a(s, !0); var h = new Error("Cannot find module '" + s + "'"); throw h.code = "MODULE_NOT_FOUND", h; } var l = r[s] = { exports: {} }; t[s][0].call(l.exports, function(e) { return i(t[s][1][e] || e); }, l, l.exports, e, t, r, n); } return r[s].exports; } for (var a = "function" == typeof require && require, s = 0; s < n.length; s++) i(n[s]); return i; }({ 1: [ function(e, t, r) { "use strict"; var n = e("./utils"), i = e("./support"), a = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; r.encode = function(e) { for (var t, r, i, s, o, u, h, l = [], c = 0, f = e.length, d = f, p = "string" !== n.getTypeOf(e); c < e.length; ) d = f - c, p ? (t = e[c++], r = f > c ? e[c++] : 0, i = f > c ? e[c++] : 0) : (t = e.charCodeAt(c++), r = f > c ? e.charCodeAt(c++) : 0, i = f > c ? e.charCodeAt(c++) : 0), s = t >> 2, o = (3 & t) << 4 | r >> 4, u = d > 1 ? (15 & r) << 2 | i >> 6 : 64, h = d > 2 ? 63 & i : 64, l.push(a.charAt(s) + a.charAt(o) + a.charAt(u) + a.charAt(h)); return l.join(""); }, r.decode = function(e) { var t, r, n, s, o, u, h = 0, l = 0, c = "data:"; if (e.substr(0, c.length) === c) throw new Error("Invalid base64 input, it looks like a data url."); var f, d = 3 * (e = e.replace(/[^A-Za-z0-9\+\/\=]/g, "")).length / 4; if (e.charAt(e.length - 1) === a.charAt(64) && d--, e.charAt(e.length - 2) === a.charAt(64) && d--, d % 1 != 0) throw new Error("Invalid base64 input, bad content length."); for (f = i.uint8array ? new Uint8Array(0 | d) : new Array(0 | d); h < e.length; ) t = a.indexOf(e.charAt(h++)) << 2 | (s = a.indexOf(e.charAt(h++))) >> 4, r = (15 & s) << 4 | (o = a.indexOf(e.charAt(h++))) >> 2, n = (3 & o) << 6 | (u = a.indexOf(e.charAt(h++))), f[l++] = t, 64 !== o && (f[l++] = r), 64 !== u && (f[l++] = n); return f; }; }, { "./support": 30, "./utils": 32 } ], 2: [ function(e, t) { "use strict"; function r(e, t, r, n, i) { this.compressedSize = e, this.uncompressedSize = t, this.crc32 = r, this.compression = n, this.compressedContent = i; } var n = e("./external"), i = e("./stream/DataWorker"), a = e("./stream/DataLengthProbe"), s = e("./stream/Crc32Probe"); a = e("./stream/DataLengthProbe"); r.prototype = { getContentWorker: function() { var e = new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a("data_length")), t = this; return e.on("end", function() { if (this.streamInfo.data_length !== t.uncompressedSize) throw new Error("Bug : uncompressed data size mismatch"); }), e; }, getCompressedWorker: function() { return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize", this.compressedSize).withStreamInfo("uncompressedSize", this.uncompressedSize).withStreamInfo("crc32", this.crc32).withStreamInfo("compression", this.compression); } }, r.createWorkerFrom = function(e, t, r) { return e.pipe(new s()).pipe(new a("uncompressedSize")).pipe(t.compressWorker(r)).pipe(new a("compressedSize")).withStreamInfo("compression", t); }, t.exports = r; }, { "./external": 6, "./stream/Crc32Probe": 25, "./stream/DataLengthProbe": 26, "./stream/DataWorker": 27 } ], 3: [ function(e, t, r) { "use strict"; var n = e("./stream/GenericWorker"); r.STORE = { magic: "\0\0", compressWorker: function() { return new n("STORE compression"); }, uncompressWorker: function() { return new n("STORE decompression"); } }, r.DEFLATE = e("./flate"); }, { "./flate": 7, "./stream/GenericWorker": 28 } ], 4: [ function(e, t) { "use strict"; function r(e, t, r, n) { var i = a, s = n + r; e ^= -1; for (var o = n; s > o; o++) e = e >>> 8 ^ i[255 & (e ^ t[o])]; return -1 ^ e; } function n(e, t, r, n) { var i = a, s = n + r; e ^= -1; for (var o = n; s > o; o++) e = e >>> 8 ^ i[255 & (e ^ t.charCodeAt(o))]; return -1 ^ e; } var i = e("./utils"), a = function() { for (var e, t = [], r = 0; 256 > r; r++) { e = r; for (var n = 0; 8 > n; n++) e = 1 & e ? 3988292384 ^ e >>> 1 : e >>> 1; t[r] = e; } return t; }(); t.exports = function(e, t) { return "undefined" != typeof e && e.length ? "string" !== i.getTypeOf(e) ? r(0 | t, e, e.length, 0) : n(0 | t, e, e.length, 0) : 0; }; }, { "./utils": 32 } ], 5: [ function(e, t, r) { "use strict"; r.base64 = !1, r.binary = !1, r.dir = !1, r.createFolders = !0, r.date = null, r.compression = null, r.compressionOptions = null, r.comment = null, r.unixPermissions = null, r.dosPermissions = null; }, {} ], 6: [ function(e, t) { "use strict"; var r; r = "undefined" != typeof Promise ? Promise : e("lie"), t.exports = { Promise: r }; }, { lie: 58 } ], 7: [ function(e, t, r) { "use strict"; function n(e, t) { o.call(this, "FlateWorker/" + e), this._pako = null, this._pakoAction = e, this._pakoOptions = t, this.meta = {}; } var i = "undefined" != typeof Uint8Array && "undefined" != typeof Uint16Array && "undefined" != typeof Uint32Array, a = e("pako"), s = e("./utils"), o = e("./stream/GenericWorker"), u = i ? "uint8array" : "array"; r.magic = "\b\0", s.inherits(n, o), n.prototype.processChunk = function(e) { this.meta = e.meta, null === this._pako && this._createPako(), this._pako.push(s.transformTo(u, e.data), !1); }, n.prototype.flush = function() { o.prototype.flush.call(this), null === this._pako && this._createPako(), this._pako.push([], !0); }, n.prototype.cleanUp = function() { o.prototype.cleanUp.call(this), this._pako = null; }, n.prototype._createPako = function() { this._pako = new a[this._pakoAction]({ raw: !0, level: this._pakoOptions.level || -1 }); var e = this; this._pako.onData = function(t) { e.push({ data: t, meta: e.meta }); }; }, r.compressWorker = function(e) { return new n("Deflate", e); }, r.uncompressWorker = function() { return new n("Inflate", {}); }; }, { "./stream/GenericWorker": 28, "./utils": 32, pako: 59 } ], 8: [ function(e, t) { "use strict"; function r(e, t, r, n) { i.call(this, "ZipFileWorker"), this.bytesWritten = 0, this.zipComment = t, this.zipPlatform = r, this.encodeFileName = n, this.streamFiles = e, this.accumulate = !1, this.contentBuffer = [], this.dirRecords = [], this.currentSourceOffset = 0, this.entriesCount = 0, this.currentFile = null, this._sources = []; } var n = e("../utils"), i = e("../stream/GenericWorker"), a = e("../utf8"), s = e("../crc32"), o = e("../signature"), u = function(e, t) { var r, n = ""; for (r = 0; t > r; r++) n += String.fromCharCode(255 & e), e >>>= 8; return n; }, h = function(e, t) { var r = e; return e || (r = t ? 16893 : 33204), (65535 & r) << 16; }, l = function(e) { return 63 & (e || 0); }, c = function(e, t, r, i, c, f) { var d, p, m = e.file, _ = e.compression, g = f !== a.utf8encode, b = n.transformTo("string", f(m.name)), v = n.transformTo("string", a.utf8encode(m.name)), w = m.comment, y = n.transformTo("string", f(w)), k = n.transformTo("string", a.utf8encode(w)), x = v.length !== m.name.length, S = k.length !== w.length, z = "", E = "", C = "", A = m.dir, I = m.date, O = { crc32: 0, compressedSize: 0, uncompressedSize: 0 }; t && !r || (O.crc32 = e.crc32, O.compressedSize = e.compressedSize, O.uncompressedSize = e.uncompressedSize); var B = 0; t && (B |= 8), g || !x && !S || (B |= 2048); var R = 0, T = 0; A && (R |= 16), "UNIX" === c ? (T = 798, R |= h(m.unixPermissions, A)) : (T = 20, R |= l(m.dosPermissions)), d = I.getUTCHours(), d <<= 6, d |= I.getUTCMinutes(), d <<= 5, d |= I.getUTCSeconds() / 2, p = I.getUTCFullYear() - 1980, p <<= 4, p |= I.getUTCMonth() + 1, p <<= 5, p |= I.getUTCDate(), x && (E = u(1, 1) + u(s(b), 4) + v, z += "up" + u(E.length, 2) + E), S && (C = u(1, 1) + u(s(y), 4) + k, z += "uc" + u(C.length, 2) + C); var D = ""; D += "\n\0", D += u(B, 2), D += _.magic, D += u(d, 2), D += u(p, 2), D += u(O.crc32, 4), D += u(O.compressedSize, 4), D += u(O.uncompressedSize, 4), D += u(b.length, 2), D += u(z.length, 2); return { fileRecord: o.LOCAL_FILE_HEADER + D + b + z, dirRecord: o.CENTRAL_FILE_HEADER + u(T, 2) + D + u(y.length, 2) + "\0\0\0\0" + u(R, 4) + u(i, 4) + b + z + y }; }, f = function(e, t, r, i, a) { var s = n.transformTo("string", a(i)); return o.CENTRAL_DIRECTORY_END + "\0\0\0\0" + u(e, 2) + u(e, 2) + u(t, 4) + u(r, 4) + u(s.length, 2) + s; }, d = function(e) { return o.DATA_DESCRIPTOR + u(e.crc32, 4) + u(e.compressedSize, 4) + u(e.uncompressedSize, 4); }; n.inherits(r, i), r.prototype.push = function(e) { var t = e.meta.percent || 0, r = this.entriesCount, n = this._sources.length; this.accumulate ? this.contentBuffer.push(e) : (this.bytesWritten += e.data.length, i.prototype.push.call(this, { data: e.data, meta: { currentFile: this.currentFile, percent: r ? (t + 100 * (r - n - 1)) / r : 100 } })); }, r.prototype.openedSource = function(e) { this.currentSourceOffset = this.bytesWritten, this.currentFile = e.file.name; var t = this.streamFiles && !e.file.dir; if (t) { var r = c(e, t, !1, this.currentSourceOffset, this.zipPlatform, this.encodeFileName); this.push({ data: r.fileRecord, meta: { percent: 0 } }); } else this.accumulate = !0; }, r.prototype.closedSource = function(e) { this.accumulate = !1; var t = this.streamFiles && !e.file.dir, r = c(e, t, !0, this.currentSourceOffset, this.zipPlatform, this.encodeFileName); if (this.dirRecords.push(r.dirRecord), t) this.push({ data: d(e), meta: { percent: 100 } }); else for (this.push({ data: r.fileRecord, meta: { percent: 0 } }); this.contentBuffer.length; ) this.push(this.contentBuffer.shift()); this.currentFile = null; }, r.prototype.flush = function() { for (var e = this.bytesWritten, t = 0; t < this.dirRecords.length; t++) this.push({ data: this.dirRecords[t], meta: { percent: 100 } }); var r = this.bytesWritten - e, n = f(this.dirRecords.length, r, e, this.zipComment, this.encodeFileName); this.push({ data: n, meta: { percent: 100 } }); }, r.prototype.prepareNextSource = function() { this.previous = this._sources.shift(), this.openedSource(this.previous.streamInfo), this.isPaused ? this.previous.pause() : this.previous.resume(); }, r.prototype.registerPrevious = function(e) { this._sources.push(e); var t = this; return e.on("data", function(e) { t.processChunk(e); }), e.on("end", function() { t.closedSource(t.previous.streamInfo), t._sources.length ? t.prepareNextSource() : t.end(); }), e.on("error", function(e) { t.error(e); }), this; }, r.prototype.resume = function() { return !!i.prototype.resume.call(this) && (!this.previous && this._sources.length ? (this.prepareNextSource(), !0) : this.previous || this._sources.length || this.generatedError ? void 0 : (this.end(), !0)); }, r.prototype.error = function(e) { var t = this._sources; if (!i.prototype.error.call(this, e)) return !1; for (var r = 0; r < t.length; r++) try { t[r].error(e); } catch (e) {} return !0; }, r.prototype.lock = function() { i.prototype.lock.call(this); for (var e = this._sources, t = 0; t < e.length; t++) e[t].lock(); }, t.exports = r; }, { "../crc32": 4, "../signature": 23, "../stream/GenericWorker": 28, "../utf8": 31, "../utils": 32 } ], 9: [ function(e, t, r) { "use strict"; var n = e("../compressions"), i = e("./ZipFileWorker"), a = function(e, t) { var r = e || t, i = n[r]; if (!i) throw new Error(r + " is not a valid compression method !"); return i; }; r.generateWorker = function(e, t, r) { var n = new i(t.streamFiles, r, t.platform, t.encodeFileName), s = 0; try { e.forEach(function(e, r) { s++; var i = a(r.options.compression, t.compression), o = r.options.compressionOptions || t.compressionOptions || {}, u = r.dir, h = r.date; r._compressWorker(i, o).withStreamInfo("file", { name: e, dir: u, date: h, comment: r.comment || "", unixPermissions: r.unixPermissions, dosPermissions: r.dosPermissions }).pipe(n); }), n.entriesCount = s; } catch (e) { n.error(e); } return n; }; }, { "../compressions": 3, "./ZipFileWorker": 8 } ], 10: [ function(e, t) { "use strict"; function r() { if (!(this instanceof r)) return new r(); if (arguments.length) throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide."); this.files = {}, this.comment = null, this.root = "", this.clone = function() { var e = new r(); for (var t in this) "function" != typeof this[t] && (e[t] = this[t]); return e; }; } r.prototype = e("./object"), r.prototype.loadAsync = e("./load"), r.support = e("./support"), r.defaults = e("./defaults"), r.version = "3.1.5", r.loadAsync = function(e, t) { return new r().loadAsync(e, t); }, r.external = e("./external"), t.exports = r; }, { "./defaults": 5, "./external": 6, "./load": 11, "./object": 15, "./support": 30 } ], 11: [ function(e, t) { "use strict"; function r(e) { return new i.Promise(function(t, r) { var n = e.decompressed.getContentWorker().pipe(new o()); n.on("error", function(e) { r(e); }).on("end", function() { n.streamInfo.crc32 !== e.decompressed.crc32 ? r(new Error("Corrupted zip : CRC32 mismatch")) : t(); }).resume(); }); } var n = e("./utils"), i = e("./external"), a = e("./utf8"), s = (n = e("./utils"), e("./zipEntries")), o = e("./stream/Crc32Probe"), u = e("./nodejsUtils"); t.exports = function(e, t) { var o = this; return t = n.extend(t || {}, { base64: !1, checkCRC32: !1, optimizedBinaryString: !1, createFolders: !1, decodeFileName: a.utf8decode }), u.isNode && u.isStream(e) ? i.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")) : n.prepareContent("the loaded zip file", e, !0, t.optimizedBinaryString, t.base64).then(function(e) { var r = new s(t); return r.load(e), r; }).then(function(e) { var n = [ i.Promise.resolve(e) ], a = e.files; if (t.checkCRC32) for (var s = 0; s < a.length; s++) n.push(r(a[s])); return i.Promise.all(n); }).then(function(e) { for (var r = e.shift(), n = r.files, i = 0; i < n.length; i++) { var a = n[i]; o.file(a.fileNameStr, a.decompressed, { binary: !0, optimizedBinaryString: !0, date: a.date, dir: a.dir, comment: a.fileCommentStr.length ? a.fileCommentStr : null, unixPermissions: a.unixPermissions, dosPermissions: a.dosPermissions, createFolders: t.createFolders }); } return r.zipComment.length && (o.comment = r.zipComment), o; }); }; }, { "./external": 6, "./nodejsUtils": 14, "./stream/Crc32Probe": 25, "./utf8": 31, "./utils": 32, "./zipEntries": 33 } ], 12: [ function(e, t) { "use strict"; function r(e, t) { i.call(this, "Nodejs stream input adapter for " + e), this._upstreamEnded = !1, this._bindStream(t); } var n = e("../utils"), i = e("../stream/GenericWorker"); n.inherits(r, i), r.prototype._bindStream = function(e) { var t = this; this._stream = e, e.pause(), e.on("data", function(e) { t.push({ data: e, meta: { percent: 0 } }); }).on("error", function(e) { t.isPaused ? this.generatedError = e : t.error(e); }).on("end", function() { t.isPaused ? t._upstreamEnded = !0 : t.end(); }); }, r.prototype.pause = function() { return !!i.prototype.pause.call(this) && (this._stream.pause(), !0); }, r.prototype.resume = function() { return !!i.prototype.resume.call(this) && (this._upstreamEnded ? this.end() : this._stream.resume(), !0); }, t.exports = r; }, { "../stream/GenericWorker": 28, "../utils": 32 } ], 13: [ function(e, t) { "use strict"; function r(e, t, r) { n.call(this, t), this._helper = e; var i = this; e.on("data", function(e, t) { i.push(e) || i._helper.pause(), r && r(t); }).on("error", function(e) { i.emit("error", e); }).on("end", function() { i.push(null); }); } var n = e("readable-stream").Readable; e("../utils").inherits(r, n), r.prototype._read = function() { this._helper.resume(); }, t.exports = r; }, { "../utils": 32, "readable-stream": 16 } ], 14: [ function(e, t) { "use strict"; t.exports = { isNode: "undefined" != typeof Buffer, newBufferFrom: function(e, t) { return new Buffer(e, t); }, allocBuffer: function(e) { return Buffer.alloc ? Buffer.alloc(e) : new Buffer(e); }, isBuffer: function(e) { return Buffer.isBuffer(e); }, isStream: function(e) { return e && "function" == typeof e.on && "function" == typeof e.pause && "function" == typeof e.resume; } }; }, {} ], 15: [ function(e, t) { "use strict"; function r(e) { return "[object RegExp]" === Object.prototype.toString.call(e); } var n = e("./utf8"), i = e("./utils"), a = e("./stream/GenericWorker"), s = e("./stream/StreamHelper"), o = e("./defaults"), u = e("./compressedObject"), h = e("./zipObject"), l = e("./generate"), c = e("./nodejsUtils"), f = e("./nodejs/NodejsStreamInputAdapter"), d = function(e, t, r) { var n, s = i.getTypeOf(t), l = i.extend(r || {}, o); l.date = l.date || new Date(), null !== l.compression && (l.compression = l.compression.toUpperCase()), "string" == typeof l.unixPermissions && (l.unixPermissions = parseInt(l.unixPermissions, 8)), l.unixPermissions && 16384 & l.unixPermissions && (l.dir = !0), l.dosPermissions && 16 & l.dosPermissions && (l.dir = !0), l.dir && (e = m(e)), l.createFolders && (n = p(e)) && _.call(this, n, !0); var d, g = "string" === s && !1 === l.binary && !1 === l.base64; r && "undefined" != typeof r.binary || (l.binary = !g); (t instanceof u && 0 === t.uncompressedSize || l.dir || !t || 0 === t.length) && (l.base64 = !1, l.binary = !0, t = "", l.compression = "STORE", s = "string"); d = t instanceof u || t instanceof a ? t : c.isNode && c.isStream(t) ? new f(e, t) : i.prepareContent(e, t, l.binary, l.optimizedBinaryString, l.base64); var b = new h(e, d, l); this.files[e] = b; }, p = function(e) { "/" === e.slice(-1) && (e = e.substring(0, e.length - 1)); var t = e.lastIndexOf("/"); return t > 0 ? e.substring(0, t) : ""; }, m = function(e) { return "/" !== e.slice(-1) && (e += "/"), e; }, _ = function(e, t) { return t = "undefined" != typeof t ? t : o.createFolders, e = m(e), this.files[e] || d.call(this, e, null, { dir: !0, createFolders: t }), this.files[e]; }, g = { load: function() { throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide."); }, forEach: function(e) { var t, r, n; for (t in this.files) this.files.hasOwnProperty(t) && (n = this.files[t], (r = t.slice(this.root.length, t.length)) && t.slice(0, this.root.length) === this.root && e(r, n)); }, filter: function(e) { var t = []; return this.forEach(function(r, n) { e(r, n) && t.push(n); }), t; }, file: function(e, t, n) { if (1 === arguments.length) { if (r(e)) { var i = e; return this.filter(function(e, t) { return !t.dir && i.test(e); }); } var a = this.files[this.root + e]; return a && !a.dir ? a : null; } return e = this.root + e, d.call(this, e, t, n), this; }, folder: function(e) { if (!e) return this; if (r(e)) return this.filter(function(t, r) { return r.dir && e.test(t); }); var t = this.root + e, n = _.call(this, t), i = this.clone(); return i.root = n.name, i; }, remove: function(e) { e = this.root + e; var t = this.files[e]; if (t || ("/" !== e.slice(-1) && (e += "/"), t = this.files[e]), t && !t.dir) delete this.files[e]; else for (var r = this.filter(function(t, r) { return r.name.slice(0, e.length) === e; }), n = 0; n < r.length; n++) delete this.files[r[n].name]; return this; }, generate: function() { throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide."); }, generateInternalStream: function(e) { var t, r = {}; try { if ((r = i.extend(e || {}, { streamFiles: !1, compression: "STORE", compressionOptions: null, type: "", platform: "DOS", comment: null, mimeType: "application/zip", encodeFileName: n.utf8encode })).type = r.type.toLowerCase(), r.compression = r.compression.toUpperCase(), "binarystring" === r.type && (r.type = "string"), !r.type) throw new Error("No output type specified."); i.checkSupport(r.type), "darwin" !== r.platform && "freebsd" !== r.platform && "linux" !== r.platform && "sunos" !== r.platform || (r.platform = "UNIX"), "win32" === r.platform && (r.platform = "DOS"); var o = r.comment || this.comment || ""; t = l.generateWorker(this, r, o); } catch (e) { (t = new a("error")).error(e); } return new s(t, r.type || "string", r.mimeType); }, generateAsync: function(e, t) { return this.generateInternalStream(e).accumulate(t); }, generateNodeStream: function(e, t) { return (e = e || {}).type || (e.type = "nodebuffer"), this.generateInternalStream(e).toNodejsStream(t); } }; t.exports = g; }, { "./compressedObject": 2, "./defaults": 5, "./generate": 9, "./nodejs/NodejsStreamInputAdapter": 12, "./nodejsUtils": 14, "./stream/GenericWorker": 28, "./stream/StreamHelper": 29, "./utf8": 31, "./utils": 32, "./zipObject": 35 } ], 16: [ function(e, t) { t.exports = e("stream"); }, { stream: void 0 } ], 17: [ function(e, t) { "use strict"; function r(e) { n.call(this, e); for (var t = 0; t < this.data.length; t++) e[t] = 255 & e[t]; } var n = e("./DataReader"); e("../utils").inherits(r, n), r.prototype.byteAt = function(e) { return this.data[this.zero + e]; }, r.prototype.lastIndexOfSignature = function(e) { for (var t = e.charCodeAt(0), r = e.charCodeAt(1), n = e.charCodeAt(2), i = e.charCodeAt(3), a = this.length - 4; a >= 0; --a) if (this.data[a] === t && this.data[a + 1] === r && this.data[a + 2] === n && this.data[a + 3] === i) return a - this.zero; return -1; }, r.prototype.readAndCheckSignature = function(e) { var t = e.charCodeAt(0), r = e.charCodeAt(1), n = e.charCodeAt(2), i = e.charCodeAt(3), a = this.readData(4); return t === a[0] && r === a[1] && n === a[2] && i === a[3]; }, r.prototype.readData = function(e) { if (this.checkOffset(e), 0 === e) return []; var t = this.data.slice(this.zero + this.index, this.zero + this.index + e); return this.index += e, t; }, t.exports = r; }, { "../utils": 32, "./DataReader": 18 } ], 18: [ function(e, t) { "use strict"; function r(e) { this.data = e, this.length = e.length, this.index = 0, this.zero = 0; } var n = e("../utils"); r.prototype = { checkOffset: function(e) { this.checkIndex(this.index + e); }, checkIndex: function(e) { if (this.length < this.zero + e || 0 > e) throw new Error("End of data reached (data length = " + this.length + ", asked index = " + e + "). Corrupted zip ?"); }, setIndex: function(e) { this.checkIndex(e), this.index = e; }, skip: function(e) { this.setIndex(this.index + e); }, byteAt: function() {}, readInt: function(e) { var t, r = 0; for (this.checkOffset(e), t = this.index + e - 1; t >= this.index; t--) r = (r << 8) + this.byteAt(t); return this.index += e, r; }, readString: function(e) { return n.transformTo("string", this.readData(e)); }, readData: function() {}, lastIndexOfSignature: function() {}, readAndCheckSignature: function() {}, readDate: function() { var e = this.readInt(4); return new Date(Date.UTC(1980 + (e >> 25 & 127), (e >> 21 & 15) - 1, e >> 16 & 31, e >> 11 & 31, e >> 5 & 63, (31 & e) << 1)); } }, t.exports = r; }, { "../utils": 32 } ], 19: [ function(e, t) { "use strict"; function r(e) { n.call(this, e); } var n = e("./Uint8ArrayReader"); e("../utils").inherits(r, n), r.prototype.readData = function(e) { this.checkOffset(e); var t = this.data.slice(this.zero + this.index, this.zero + this.index + e); return this.index += e, t; }, t.exports = r; }, { "../utils": 32, "./Uint8ArrayReader": 21 } ], 20: [ function(e, t) { "use strict"; function r(e) { n.call(this, e); } var n = e("./DataReader"); e("../utils").inherits(r, n), r.prototype.byteAt = function(e) { return this.data.charCodeAt(this.zero + e); }, r.prototype.lastIndexOfSignature = function(e) { return this.data.lastIndexOf(e) - this.zero; }, r.prototype.readAndCheckSignature = function(e) { return e === this.readData(4); }, r.prototype.readData = function(e) { this.checkOffset(e); var t = this.data.slice(this.zero + this.index, this.zero + this.index + e); return this.index += e, t; }, t.exports = r; }, { "../utils": 32, "./DataReader": 18 } ], 21: [ function(e, t) { "use strict"; function r(e) { n.call(this, e); } var n = e("./ArrayReader"); e("../utils").inherits(r, n), r.prototype.readData = function(e) { if (this.checkOffset(e), 0 === e) return new Uint8Array(0); var t = this.data.subarray(this.zero + this.index, this.zero + this.index + e); return this.index += e, t; }, t.exports = r; }, { "../utils": 32, "./ArrayReader": 17 } ], 22: [ function(e, t) { "use strict"; var r = e("../utils"), n = e("../support"), i = e("./ArrayReader"), a = e("./StringReader"), s = e("./NodeBufferReader"), o = e("./Uint8ArrayReader"); t.exports = function(e) { var t = r.getTypeOf(e); return r.checkSupport(t), "string" !== t || n.uint8array ? "nodebuffer" === t ? new s(e) : n.uint8array ? new o(r.transformTo("uint8array", e)) : new i(r.transformTo("array", e)) : new a(e); }; }, { "../support": 30, "../utils": 32, "./ArrayReader": 17, "./NodeBufferReader": 19, "./StringReader": 20, "./Uint8ArrayReader": 21 } ], 23: [ function(e, t, r) { "use strict"; r.LOCAL_FILE_HEADER = "PK", r.CENTRAL_FILE_HEADER = "PK", r.CENTRAL_DIRECTORY_END = "PK", r.ZIP64_CENTRAL_DIRECTORY_LOCATOR = "PK", r.ZIP64_CENTRAL_DIRECTORY_END = "PK", r.DATA_DESCRIPTOR = "PK\b"; }, {} ], 24: [ function(e, t) { "use strict"; function r(e) { n.call(this, "ConvertWorker to " + e), this.destType = e; } var n = e("./GenericWorker"), i = e("../utils"); i.inherits(r, n), r.prototype.processChunk = function(e) { this.push({ data: i.transformTo(this.destType, e.data), meta: e.meta }); }, t.exports = r; }, { "../utils": 32, "./GenericWorker": 28 } ], 25: [ function(e, t) { "use strict"; function r() { n.call(this, "Crc32Probe"), this.withStreamInfo("crc32", 0); } var n = e("./GenericWorker"), i = e("../crc32"); e("../utils").inherits(r, n), r.prototype.processChunk = function(e) { this.streamInfo.crc32 = i(e.data, this.streamInfo.crc32 || 0), this.push(e); }, t.exports = r; }, { "../crc32": 4, "../utils": 32, "./GenericWorker": 28 } ], 26: [ function(e, t) { "use strict"; function r(e) { i.call(this, "DataLengthProbe for " + e), this.propName = e, this.withStreamInfo(e, 0); } var n = e("../utils"), i = e("./GenericWorker"); n.inherits(r, i), r.prototype.processChunk = function(e) { if (e) { var t = this.streamInfo[this.propName] || 0; this.streamInfo[this.propName] = t + e.data.length; } i.prototype.processChunk.call(this, e); }, t.exports = r; }, { "../utils": 32, "./GenericWorker": 28 } ], 27: [ function(e, t) { "use strict"; function r(e) { i.call(this, "DataWorker"); var t = this; this.dataIsReady = !1, this.index = 0, this.max = 0, this.data = null, this.type = "", this._tickScheduled = !1, e.then(function(e) { t.dataIsReady = !0, t.data = e, t.max = e && e.length || 0, t.type = n.getTypeOf(e), t.isPaused || t._tickAndRepeat(); }, function(e) { t.error(e); }); } var n = e("../utils"), i = e("./GenericWorker"); n.inherits(r, i), r.prototype.cleanUp = function() { i.prototype.cleanUp.call(this), this.data = null; }, r.prototype.resume = function() { return !!i.prototype.resume.call(this) && (!this._tickScheduled && this.dataIsReady && (this._tickScheduled = !0, n.delay(this._tickAndRepeat, [], this)), !0); }, r.prototype._tickAndRepeat = function() { this._tickScheduled = !1, this.isPaused || this.isFinished || (this._tick(), this.isFinished || (n.delay(this._tickAndRepeat, [], this), this._tickScheduled = !0)); }, r.prototype._tick = function() { if (this.isPaused || this.isFinished) return !1; var e = null, t = Math.min(this.max, this.index + 16384); if (this.index >= this.max) return this.end(); switch (this.type) { case "string": e = this.data.substring(this.index, t); break; case "uint8array": e = this.data.subarray(this.index, t); break; case "array": case "nodebuffer": e = this.data.slice(this.index, t); } return this.index = t, this.push({ data: e, meta: { percent: this.max ? this.index / this.max * 100 : 0 } }); }, t.exports = r; }, { "../utils": 32, "./GenericWorker": 28 } ], 28: [ function(e, t) { "use strict"; function r(e) { this.name = e || "default", this.streamInfo = {}, this.generatedError = null, this.extraStreamInfo = {}, this.isPaused = !0, this.isFinished = !1, this.isLocked = !1, this._listeners = { data: [], end: [], error: [] }, this.previous = null; } r.prototype = { push: function(e) { this.emit("data", e); }, end: function() { if (this.isFinished) return !1; this.flush(); try { this.emit("end"), this.cleanUp(), this.isFinished = !0; } catch (e) { this.emit("error", e); } return !0; }, error: function(e) { return !this.isFinished && (this.isPaused ? this.generatedError = e : (this.isFinished = !0, this.emit("error", e), this.previous && this.previous.error(e), this.cleanUp()), !0); }, on: function(e, t) { return this._listeners[e].push(t), this; }, cleanUp: function() { this.streamInfo = this.generatedError = this.extraStreamInfo = null, this._listeners = []; }, emit: function(e, t) { if (this._listeners[e]) for (var r = 0; r < this._listeners[e].length; r++) this._listeners[e][r].call(this, t); }, pipe: function(e) { return e.registerPrevious(this); }, registerPrevious: function(e) { if (this.isLocked) throw new Error("The stream '" + this + "' has already been used."); this.streamInfo = e.streamInfo, this.mergeStreamInfo(), this.previous = e; var t = this; return e.on("data", function(e) { t.processChunk(e); }), e.on("end", function() { t.end(); }), e.on("error", function(e) { t.error(e); }), this; }, pause: function() { return !this.isPaused && !this.isFinished && (this.isPaused = !0, this.previous && this.previous.pause(), !0); }, resume: function() { if (!this.isPaused || this.isFinished) return !1; this.isPaused = !1; var e = !1; return this.generatedError && (this.error(this.generatedError), e = !0), this.previous && this.previous.resume(), !e; }, flush: function() {}, processChunk: function(e) { this.push(e); }, withStreamInfo: function(e, t) { return this.extraStreamInfo[e] = t, this.mergeStreamInfo(), this; }, mergeStreamInfo: function() { for (var e in this.extraStreamInfo) this.extraStreamInfo.hasOwnProperty(e) && (this.streamInfo[e] = this.extraStreamInfo[e]); }, lock: function() { if (this.isLocked) throw new Error("The stream '" + this + "' has already been used."); this.isLocked = !0, this.previous && this.previous.lock(); }, toString: function() { var e = "Worker " + this.name; return this.previous ? this.previous + " -> " + e : e; } }, t.exports = r; }, {} ], 29: [ function(e, t) { "use strict"; function r(e, t, r) { switch (e) { case "blob": return s.newBlob(s.transformTo("arraybuffer", t), r); case "base64": return h.encode(t); default: return s.transformTo(e, t); } } function n(e, t) { var r, n = 0, i = null, a = 0; for (r = 0; r < t.length; r++) a += t[r].length; switch (e) { case "string": return t.join(""); case "array": return Array.prototype.concat.apply([], t); case "uint8array": for (i = new Uint8Array(a), r = 0; r < t.length; r++) i.set(t[r], n), n += t[r].length; return i; case "nodebuffer": return Buffer.concat(t); default: throw new Error("concat : unsupported type '" + e + "'"); } } function i(e, t) { return new c.Promise(function(i, a) { var s = [], o = e._internalType, u = e._outputType, h = e._mimeType; e.on("data", function(e, r) { s.push(e), t && t(r); }).on("error", function(e) { s = [], a(e); }).on("end", function() { try { var e = r(u, n(o, s), h); i(e); } catch (e) { a(e); } s = []; }).resume(); }); } function a(e, t, r) { var n = t; switch (t) { case "blob": case "arraybuffer": n = "uint8array"; break; case "base64": n = "string"; } try { this._internalType = n, this._outputType = t, this._mimeType = r, s.checkSupport(n), this._worker = e.pipe(new o(n)), e.lock(); } catch (e) { this._worker = new u("error"), this._worker.error(e); } } var s = e("../utils"), o = e("./ConvertWorker"), u = e("./GenericWorker"), h = e("../base64"), l = e("../support"), c = e("../external"), f = null; if (l.nodestream) try { f = e("../nodejs/NodejsStreamOutputAdapter"); } catch (e) {} a.prototype = { accumulate: function(e) { return i(this, e); }, on: function(e, t) { var r = this; return "data" === e ? this._worker.on(e, function(e) { t.call(r, e.data, e.meta); }) : this._worker.on(e, function() { s.delay(t, arguments, r); }), this; }, resume: function() { return s.delay(this._worker.resume, [], this._worker), this; }, pause: function() { return this._worker.pause(), this; }, toNodejsStream: function(e) { if (s.checkSupport("nodestream"), "nodebuffer" !== this._outputType) throw new Error(this._outputType + " is not supported by this method"); return new f(this, { objectMode: "nodebuffer" !== this._outputType }, e); } }, t.exports = a; }, { "../base64": 1, "../external": 6, "../nodejs/NodejsStreamOutputAdapter": 13, "../support": 30, "../utils": 32, "./ConvertWorker": 24, "./GenericWorker": 28 } ], 30: [ function(e, t, r) { "use strict"; if (r.base64 = !0, r.array = !0, r.string = !0, r.arraybuffer = "undefined" != typeof ArrayBuffer && "undefined" != typeof Uint8Array, r.nodebuffer = "undefined" != typeof Buffer, r.uint8array = "undefined" != typeof Uint8Array, "undefined" == typeof ArrayBuffer) r.blob = !1; else { var n = new ArrayBuffer(0); try { r.blob = 0 === new Blob([ n ], { type: "application/zip" }).size; } catch (e) { try { var i = new (self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder)(); i.append(n), r.blob = 0 === i.getBlob("application/zip").size; } catch (e) { r.blob = !1; } } } try { r.nodestream = !!e("readable-stream").Readable; } catch (e) { r.nodestream = !1; } }, { "readable-stream": 16 } ], 31: [ function(e, t, r) { "use strict"; function n() { u.call(this, "utf-8 decode"), this.leftOver = null; } function i() { u.call(this, "utf-8 encode"); } for (var a = e("./utils"), s = e("./support"), o = e("./nodejsUtils"), u = e("./stream/GenericWorker"), h = new Array(256), l = 0; 256 > l; l++) h[l] = l >= 252 ? 6 : l >= 248 ? 5 : l >= 240 ? 4 : l >= 224 ? 3 : l >= 192 ? 2 : 1; h[254] = h[254] = 1; var c = function(e) { var t, r, n, i, a, o = e.length, u = 0; for (i = 0; o > i; i++) 55296 == (64512 & (r = e.charCodeAt(i))) && o > i + 1 && 56320 == (64512 & (n = e.charCodeAt(i + 1))) && (r = 65536 + (r - 55296 << 10) + (n - 56320), i++), u += 128 > r ? 1 : 2048 > r ? 2 : 65536 > r ? 3 : 4; for (t = s.uint8array ? new Uint8Array(u) : new Array(u), a = 0, i = 0; u > a; i++) 55296 == (64512 & (r = e.charCodeAt(i))) && o > i + 1 && 56320 == (64512 & (n = e.charCodeAt(i + 1))) && (r = 65536 + (r - 55296 << 10) + (n - 56320), i++), 128 > r ? t[a++] = r : 2048 > r ? (t[a++] = 192 | r >>> 6, t[a++] = 128 | 63 & r) : 65536 > r ? (t[a++] = 224 | r >>> 12, t[a++] = 128 | r >>> 6 & 63, t[a++] = 128 | 63 & r) : (t[a++] = 240 | r >>> 18, t[a++] = 128 | r >>> 12 & 63, t[a++] = 128 | r >>> 6 & 63, t[a++] = 128 | 63 & r); return t; }, f = function(e, t) { var r; for ((t = t || e.length) > e.length && (t = e.length), r = t - 1; r >= 0 && 128 == (192 & e[r]); ) r--; return 0 > r ? t : 0 === r ? t : r + h[e[r]] > t ? r : t; }, d = function(e) { var t, r, n, i, s = e.length, o = new Array(2 * s); for (r = 0, t = 0; s > t; ) if (128 > (n = e[t++])) o[r++] = n; else if ((i = h[n]) > 4) o[r++] = 65533, t += i - 1; else { for (n &= 2 === i ? 31 : 3 === i ? 15 : 7; i > 1 && s > t; ) n = n << 6 | 63 & e[t++], i--; i > 1 ? o[r++] = 65533 : 65536 > n ? o[r++] = n : (n -= 65536, o[r++] = 55296 | n >> 10 & 1023, o[r++] = 56320 | 1023 & n); } return o.length !== r && (o.subarray ? o = o.subarray(0, r) : o.length = r), a.applyFromCharCode(o); }; r.utf8encode = function(e) { return s.nodebuffer ? o.newBufferFrom(e, "utf-8") : c(e); }, r.utf8decode = function(e) { return s.nodebuffer ? a.transformTo("nodebuffer", e).toString("utf-8") : (e = a.transformTo(s.uint8array ? "uint8array" : "array", e), d(e)); }, a.inherits(n, u), n.prototype.processChunk = function(e) { var t = a.transformTo(s.uint8array ? "uint8array" : "array", e.data); if (this.leftOver && this.leftOver.length) { if (s.uint8array) { var n = t; (t = new Uint8Array(n.length + this.leftOver.length)).set(this.leftOver, 0), t.set(n, this.leftOver.length); } else t = this.leftOver.concat(t); this.leftOver = null; } var i = f(t), o = t; i !== t.length && (s.uint8array ? (o = t.subarray(0, i), this.leftOver = t.subarray(i, t.length)) : (o = t.slice(0, i), this.leftOver = t.slice(i, t.length))), this.push({ data: r.utf8decode(o), meta: e.meta }); }, n.prototype.flush = function() { this.leftOver && this.leftOver.length && (this.push({ data: r.utf8decode(this.leftOver), meta: {} }), this.leftOver = null); }, r.Utf8DecodeWorker = n, a.inherits(i, u), i.prototype.processChunk = function(e) { this.push({ data: r.utf8encode(e.data), meta: e.meta }); }, r.Utf8EncodeWorker = i; }, { "./nodejsUtils": 14, "./stream/GenericWorker": 28, "./support": 30, "./utils": 32 } ], 32: [ function(e, t, r) { "use strict"; function n(e) { return a(e, u.uint8array ? new Uint8Array(e.length) : new Array(e.length)); } function i(e) { return e; } function a(e, t) { for (var r = 0; r < e.length; ++r) t[r] = 255 & e.charCodeAt(r); return t; } function s(e) { var t = 65536, n = r.getTypeOf(e), i = !0; if ("uint8array" === n ? i = d.applyCanBeUsed.uint8array : "nodebuffer" === n && (i = d.applyCanBeUsed.nodebuffer), i) for (;t > 1; ) try { return d.stringifyByChunk(e, n, t); } catch (e) { t = Math.floor(t / 2); } return d.stringifyByChar(e); } function o(e, t) { for (var r = 0; r < e.length; r++) t[r] = e[r]; return t; } var u = e("./support"), h = e("./base64"), l = e("./nodejsUtils"), c = e("core-js/library/fn/set-immediate"), f = e("./external"); r.newBlob = function(e, t) { r.checkSupport("blob"); try { return new Blob([ e ], { type: t }); } catch (r) { try { var n = new (self.BlobBuilder || self.WebKitBlobBuilder || self.MozBlobBuilder || self.MSBlobBuilder)(); return n.append(e), n.getBlob(t); } catch (e) { throw new Error("Bug : can't construct the Blob."); } } }; var d = { stringifyByChunk: function(e, t, r) { var n = [], i = 0, a = e.length; if (r >= a) return String.fromCharCode.apply(null, e); for (;a > i; ) "array" === t || "nodebuffer" === t ? n.push(String.fromCharCode.apply(null, e.slice(i, Math.min(i + r, a)))) : n.push(String.fromCharCode.apply(null, e.subarray(i, Math.min(i + r, a)))), i += r; return n.join(""); }, stringifyByChar: function(e) { for (var t = "", r = 0; r < e.length; r++) t += String.fromCharCode(e[r]); return t; }, applyCanBeUsed: { uint8array: function() { try { return u.uint8array && 1 === String.fromCharCode.apply(null, new Uint8Array(1)).length; } catch (e) { return !1; } }(), nodebuffer: function() { try { return u.nodebuffer && 1 === String.fromCharCode.apply(null, l.allocBuffer(1)).length; } catch (e) { return !1; } }() } }; r.applyFromCharCode = s; var p = {}; p.string = { string: i, array: function(e) { return a(e, new Array(e.length)); }, arraybuffer: function(e) { return p.string.uint8array(e).buffer; }, uint8array: function(e) { return a(e, new Uint8Array(e.length)); }, nodebuffer: function(e) { return a(e, l.allocBuffer(e.length)); } }, p.array = { string: s, array: i, arraybuffer: function(e) { return new Uint8Array(e).buffer; }, uint8array: function(e) { return new Uint8Array(e); }, nodebuffer: function(e) { return l.newBufferFrom(e); } }, p.arraybuffer = { string: function(e) { return s(new Uint8Array(e)); }, array: function(e) { return o(new Uint8Array(e), new Array(e.byteLength)); }, arraybuffer: i, uint8array: function(e) { return new Uint8Array(e); }, nodebuffer: function(e) { return l.newBufferFrom(new Uint8Array(e)); } }, p.uint8array = { string: s, array: function(e) { return o(e, new Array(e.length)); }, arraybuffer: function(e) { return e.buffer; }, uint8array: i, nodebuffer: function(e) { return l.newBufferFrom(e); } }, p.nodebuffer = { string: s, array: function(e) { return o(e, new Array(e.length)); }, arraybuffer: function(e) { return p.nodebuffer.uint8array(e).buffer; }, uint8array: function(e) { return o(e, new Uint8Array(e.length)); }, nodebuffer: i }, r.transformTo = function(e, t) { if (t || (t = ""), !e) return t; r.checkSupport(e); var n = r.getTypeOf(t); return p[n][e](t); }, r.getTypeOf = function(e) { return "string" == typeof e ? "string" : "[object Array]" === Object.prototype.toString.call(e) ? "array" : u.nodebuffer && l.isBuffer(e) ? "nodebuffer" : u.uint8array && e instanceof Uint8Array ? "uint8array" : u.arraybuffer && e instanceof ArrayBuffer ? "arraybuffer" : void 0; }, r.checkSupport = function(e) { if (!u[e.toLowerCase()]) throw new Error(e + " is not supported by this platform"); }, r.MAX_VALUE_16BITS = 65535, r.MAX_VALUE_32BITS = -1, r.pretty = function(e) { var t, r, n = ""; for (r = 0; r < (e || "").length; r++) n += "\\x" + (16 > (t = e.charCodeAt(r)) ? "0" : "") + t.toString(16).toUpperCase(); return n; }, r.delay = function(e, t, r) { c(function() { e.apply(r || null, t || []); }); }, r.inherits = function(e, t) { var r = function() {}; r.prototype = t.prototype, e.prototype = new r(); }, r.extend = function() { var e, t, r = {}; for (e = 0; e < arguments.length; e++) for (t in arguments[e]) arguments[e].hasOwnProperty(t) && "undefined" == typeof r[t] && (r[t] = arguments[e][t]); return r; }, r.prepareContent = function(e, t, i, a, s) { return f.Promise.resolve(t).then(function(e) { return u.blob && (e instanceof Blob || -1 !== [ "[object File]", "[object Blob]" ].indexOf(Object.prototype.toString.call(e))) && "undefined" != typeof FileReader ? new f.Promise(function(t, r) { var n = new FileReader(); n.onload = function(e) { t(e.target.result); }, n.onerror = function(e) { r(e.target.error); }, n.readAsArrayBuffer(e); }) : e; }).then(function(t) { var o = r.getTypeOf(t); return o ? ("arraybuffer" === o ? t = r.transformTo("uint8array", t) : "string" === o && (s ? t = h.decode(t) : i && !0 !== a && (t = n(t))), t) : f.Promise.reject(new Error("Can't read the data of '" + e + "'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?")); }); }; }, { "./base64": 1, "./external": 6, "./nodejsUtils": 14, "./support": 30, "core-js/library/fn/set-immediate": 36 } ], 33: [ function(e, t) { "use strict"; function r(e) { this.files = [], this.loadOptions = e; } var n = e("./reader/readerFor"), i = e("./utils"), a = e("./signature"), s = e("./zipEntry"), o = (e("./utf8"), e("./support")); r.prototype = { checkSignature: function(e) { if (!this.reader.readAndCheckSignature(e)) { this.reader.index -= 4; var t = this.reader.readString(4); throw new Error("Corrupted zip or bug: unexpected signature (" + i.pretty(t) + ", expected " + i.pretty(e) + ")"); } }, isSignature: function(e, t) { var r = this.reader.index; this.reader.setIndex(e); var n = this.reader.readString(4) === t; return this.reader.setIndex(r), n; }, readBlockEndOfCentral: function() { this.diskNumber = this.reader.readInt(2), this.diskWithCentralDirStart = this.reader.readInt(2), this.centralDirRecordsOnThisDisk = this.reader.readInt(2), this.centralDirRecords = this.reader.readInt(2), this.centralDirSize = this.reader.readInt(4), this.centralDirOffset = this.reader.readInt(4), this.zipCommentLength = this.reader.readInt(2); var e = this.reader.readData(this.zipCommentLength), t = o.uint8array ? "uint8array" : "array", r = i.transformTo(t, e); this.zipComment = this.loadOptions.decodeFileName(r); }, readBlockZip64EndOfCentral: function() { this.zip64EndOfCentralSize = this.reader.readInt(8), this.reader.skip(4), this.diskNumber = this.reader.readInt(4), this.diskWithCentralDirStart = this.reader.readInt(4), this.centralDirRecordsOnThisDisk = this.reader.readInt(8), this.centralDirRecords = this.reader.readInt(8), this.centralDirSize = this.reader.readInt(8), this.centralDirOffset = this.reader.readInt(8), this.zip64ExtensibleData = {}; for (var e, t, r, n = this.zip64EndOfCentralSize - 44; n > 0; ) e = this.reader.readInt(2), t = this.reader.readInt(4), r = this.reader.readData(t), this.zip64ExtensibleData[e] = { id: e, length: t, value: r }; }, readBlockZip64EndOfCentralLocator: function() { if (this.diskWithZip64CentralDirStart = this.reader.readInt(4), this.relativeOffsetEndOfZip64CentralDir = this.reader.readInt(8), this.disksCount = this.reader.readInt(4), this.disksCount > 1) throw new Error("Multi-volumes zip are not supported"); }, readLocalFiles: function() { var e, t; for (e = 0; e < this.files.length; e++) t = this.files[e], this.reader.setIndex(t.localHeaderOffset), this.checkSignature(a.LOCAL_FILE_HEADER), t.readLocalPart(this.reader), t.handleUTF8(), t.processAttributes(); }, readCentralDir: function() { var e; for (this.reader.setIndex(this.centralDirOffset); this.reader.readAndCheckSignature(a.CENTRAL_FILE_HEADER); ) (e = new s({ zip64: this.zip64 }, this.loadOptions)).readCentralPart(this.reader), this.files.push(e); if (this.centralDirRecords !== this.files.length && 0 !== this.centralDirRecords && 0 === this.files.length) throw new Error("Corrupted zip or bug: expected " + this.centralDirRecords + " records in central dir, got " + this.files.length); }, readEndOfCentral: function() { var e = this.reader.lastIndexOfSignature(a.CENTRAL_DIRECTORY_END); if (0 > e) throw this.isSignature(0, a.LOCAL_FILE_HEADER) ? new Error("Corrupted zip: can't find end of central directory") : new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html"); this.reader.setIndex(e); var t = e; if (this.checkSignature(a.CENTRAL_DIRECTORY_END), this.readBlockEndOfCentral(), this.diskNumber === i.MAX_VALUE_16BITS || this.diskWithCentralDirStart === i.MAX_VALUE_16BITS || this.centralDirRecordsOnThisDisk === i.MAX_VALUE_16BITS || this.centralDirRecords === i.MAX_VALUE_16BITS || this.centralDirSize === i.MAX_VALUE_32BITS || this.centralDirOffset === i.MAX_VALUE_32BITS) { if (this.zip64 = !0, 0 > (e = this.reader.lastIndexOfSignature(a.ZIP64_CENTRAL_DIRECTORY_LOCATOR))) throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator"); if (this.reader.setIndex(e), this.checkSignature(a.ZIP64_CENTRAL_DIRECTORY_LOCATOR), this.readBlockZip64EndOfCentralLocator(), !this.isSignature(this.relativeOffsetEndOfZip64CentralDir, a.ZIP64_CENTRAL_DIRECTORY_END) && (this.relativeOffsetEndOfZip64CentralDir = this.reader.lastIndexOfSignature(a.ZIP64_CENTRAL_DIRECTORY_END), this.relativeOffsetEndOfZip64CentralDir < 0)) throw new Error("Corrupted zip: can't find the ZIP64 end of central directory"); this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir), this.checkSignature(a.ZIP64_CENTRAL_DIRECTORY_END), this.readBlockZip64EndOfCentral(); } var r = this.centralDirOffset + this.centralDirSize; this.zip64 && (r += 20, r += 12 + this.zip64EndOfCentralSize); var n = t - r; if (n > 0) this.isSignature(t, a.CENTRAL_FILE_HEADER) || (this.reader.zero = n); else if (0 > n) throw new Error("Corrupted zip: missing " + Math.abs(n) + " bytes."); }, prepareReader: function(e) { this.reader = n(e); }, load: function(e) { this.prepareReader(e), this.readEndOfCentral(), this.readCentralDir(), this.readLocalFiles(); } }, t.exports = r; }, { "./reader/readerFor": 22, "./signature": 23, "./support": 30, "./utf8": 31, "./utils": 32, "./zipEntry": 34 } ], 34: [ function(e, t) { "use strict"; function r(e, t) { this.options = e, this.loadOptions = t; } var n = e("./reader/readerFor"), i = e("./utils"), a = e("./compressedObject"), s = e("./crc32"), o = e("./utf8"), u = e("./compressions"), h = e("./support"), l = function(e) { for (var t in u) if (u.hasOwnProperty(t) && u[t].magic === e) return u[t]; return null; }; r.prototype = { isEncrypted: function() { return 1 == (1 & this.bitFlag); }, useUTF8: function() { return 2048 == (2048 & this.bitFlag); }, readLocalPart: function(e) { var t, r; if (e.skip(22), this.fileNameLength = e.readInt(2), r = e.readInt(2), this.fileName = e.readData(this.fileNameLength), e.skip(r), -1 === this.compressedSize || -1 === this.uncompressedSize) throw new Error("Bug or corrupted zip : didn't get enough informations from the central directory (compressedSize === -1 || uncompressedSize === -1)"); if (null === (t = l(this.compressionMethod))) throw new Error("Corrupted zip : compression " + i.pretty(this.compressionMethod) + " unknown (inner file : " + i.transformTo("string", this.fileName) + ")"); this.decompressed = new a(this.compressedSize, this.uncompressedSize, this.crc32, t, e.readData(this.compressedSize)); }, readCentralPart: function(e) { this.versionMadeBy = e.readInt(2), e.skip(2), this.bitFlag = e.readInt(2), this.compressionMethod = e.readString(2), this.date = e.readDate(), this.crc32 = e.readInt(4), this.compressedSize = e.readInt(4), this.uncompressedSize = e.readInt(4); var t = e.readInt(2); if (this.extraFieldsLength = e.readInt(2), this.fileCommentLength = e.readInt(2), this.diskNumberStart = e.readInt(2), this.internalFileAttributes = e.readInt(2), this.externalFileAttributes = e.readInt(4), this.localHeaderOffset = e.readInt(4), this.isEncrypted()) throw new Error("Encrypted zip are not supported"); e.skip(t), this.readExtraFields(e), this.parseZIP64ExtraField(e), this.fileComment = e.readData(this.fileCommentLength); }, processAttributes: function() { this.unixPermissions = null, this.dosPermissions = null; var e = this.versionMadeBy >> 8; this.dir = !!(16 & this.externalFileAttributes), 0 === e && (this.dosPermissions = 63 & this.externalFileAttributes), 3 === e && (this.unixPermissions = this.externalFileAttributes >> 16 & 65535), this.dir || "/" !== this.fileNameStr.slice(-1) || (this.dir = !0); }, parseZIP64ExtraField: function() { if (this.extraFields[1]) { var e = n(this.extraFields[1].value); this.uncompressedSize === i.MAX_VALUE_32BITS && (this.uncompressedSize = e.readInt(8)), this.compressedSize === i.MAX_VALUE_32BITS && (this.compressedSize = e.readInt(8)), this.localHeaderOffset === i.MAX_VALUE_32BITS && (this.localHeaderOffset = e.readInt(8)), this.diskNumberStart === i.MAX_VALUE_32BITS && (this.diskNumberStart = e.readInt(4)); } }, readExtraFields: function(e) { var t, r, n, i = e.index + this.extraFieldsLength; for (this.extraFields || (this.extraFields = {}); e.index < i; ) t = e.readInt(2), r = e.readInt(2), n = e.readData(r), this.extraFields[t] = { id: t, length: r, value: n }; }, handleUTF8: function() { var e = h.uint8array ? "uint8array" : "array"; if (this.useUTF8()) this.fileNameStr = o.utf8decode(this.fileName), this.fileCommentStr = o.utf8decode(this.fileComment); else { var t = this.findExtraFieldUnicodePath(); if (null !== t) this.fileNameStr = t; else { var r = i.transformTo(e, this.fileName); this.fileNameStr = this.loadOptions.decodeFileName(r); } var n = this.findExtraFieldUnicodeComment(); if (null !== n) this.fileCommentStr = n; else { var a = i.transformTo(e, this.fileComment); this.fileCommentStr = this.loadOptions.decodeFileName(a); } } }, findExtraFieldUnicodePath: function() { var e = this.extraFields[28789]; if (e) { var t = n(e.value); return 1 !== t.readInt(1) ? null : s(this.fileName) !== t.readInt(4) ? null : o.utf8decode(t.readData(e.length - 5)); } return null; }, findExtraFieldUnicodeComment: function() { var e = this.extraFields[25461]; if (e) { var t = n(e.value); return 1 !== t.readInt(1) ? null : s(this.fileComment) !== t.readInt(4) ? null : o.utf8decode(t.readData(e.length - 5)); } return null; } }, t.exports = r; }, { "./compressedObject": 2, "./compressions": 3, "./crc32": 4, "./reader/readerFor": 22, "./support": 30, "./utf8": 31, "./utils": 32 } ], 35: [ function(e, t) { "use strict"; var r = e("./stream/StreamHelper"), n = e("./stream/DataWorker"), i = e("./utf8"), a = e("./compressedObject"), s = e("./stream/GenericWorker"), o = function(e, t, r) { this.name = e, this.dir = r.dir, this.date = r.date, this.comment = r.comment, this.unixPermissions = r.unixPermissions, this.dosPermissions = r.dosPermissions, this._data = t, this._dataBinary = r.binary, this.options = { compression: r.compression, compressionOptions: r.compressionOptions }; }; o.prototype = { internalStream: function(e) { var t = null, n = "string"; try { if (!e) throw new Error("No output type specified."); var a = "string" === (n = e.toLowerCase()) || "text" === n; "binarystring" !== n && "text" !== n || (n = "string"), t = this._decompressWorker(); var o = !this._dataBinary; o && !a && (t = t.pipe(new i.Utf8EncodeWorker())), !o && a && (t = t.pipe(new i.Utf8DecodeWorker())); } catch (e) { (t = new s("error")).error(e); } return new r(t, n, ""); }, async: function(e, t) { return this.internalStream(e).accumulate(t); }, nodeStream: function(e, t) { return this.internalStream(e || "nodebuffer").toNodejsStream(t); }, _compressWorker: function(e, t) { if (this._data instanceof a && this._data.compression.magic === e.magic) return this._data.getCompressedWorker(); var r = this._decompressWorker(); return this._dataBinary || (r = r.pipe(new i.Utf8EncodeWorker())), a.createWorkerFrom(r, e, t); }, _decompressWorker: function() { return this._data instanceof a ? this._data.getContentWorker() : this._data instanceof s ? this._data : new n(this._data); } }; for (var u = [ "asText", "asBinary", "asNodeBuffer", "asUint8Array", "asArrayBuffer" ], h = function() { throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide."); }, l = 0; l < u.length; l++) o.prototype[u[l]] = h; t.exports = o; }, { "./compressedObject": 2, "./stream/DataWorker": 27, "./stream/GenericWorker": 28, "./stream/StreamHelper": 29, "./utf8": 31 } ], 36: [ function(e, t) { e("../modules/web.immediate"), t.exports = e("../modules/_core").setImmediate; }, { "../modules/_core": 40, "../modules/web.immediate": 56 } ], 37: [ function(e, t) { t.exports = function(e) { if ("function" != typeof e) throw TypeError(e + " is not a function!"); return e; }; }, {} ], 38: [ function(e, t) { var r = e("./_is-object"); t.exports = function(e) { if (!r(e)) throw TypeError(e + " is not an object!"); return e; }; }, { "./_is-object": 51 } ], 39: [ function(e, t) { var r = {}.toString; t.exports = function(e) { return r.call(e).slice(8, -1); }; }, {} ], 40: [ function(e, t) { var r = t.exports = { version: "2.3.0" }; "number" == typeof __e && (__e = r); }, {} ], 41: [ function(e, t) { var r = e("./_a-function"); t.exports = function(e, t, n) { if (r(e), void 0 === t) return e; switch (n) { case 1: return function(r) { return e.call(t, r); }; case 2: return function(r, n) { return e.call(t, r, n); }; case 3: return function(r, n, i) { return e.call(t, r, n, i); }; } return function() { return e.apply(t, arguments); }; }; }, { "./_a-function": 37 } ], 42: [ function(e, t) { t.exports = !e("./_fails")(function() { return 7 != Object.defineProperty({}, "a", { get: function() { return 7; } }).a; }); }, { "./_fails": 45 } ], 43: [ function(e, t) { var r = e("./_is-object"), n = e("./_global").document, i = r(n) && r(n.createElement); t.exports = function(e) { return i ? n.createElement(e) : {}; }; }, { "./_global": 46, "./_is-object": 51 } ], 44: [ function(e, t) { var r = e("./_global"), n = e("./_core"), i = e("./_ctx"), a = e("./_hide"), s = "prototype", o = function(e, t, u) { var h, l, c, f = e & o.F, d = e & o.G, p = e & o.S, m = e & o.P, _ = e & o.B, g = e & o.W, b = d ? n : n[t] || (n[t] = {}), v = b[s], w = d ? r : p ? r[t] : (r[t] || {})[s]; d && (u = t); for (h in u) (l = !f && w && void 0 !== w[h]) && h in b || (c = l ? w[h] : u[h], b[h] = d && "function" != typeof w[h] ? u[h] : _ && l ? i(c, r) : g && w[h] == c ? function(e) { var t = function(t, r, n) { if (this instanceof e) { switch (arguments.length) { case 0: return new e(); case 1: return new e(t); case 2: return new e(t, r); } return new e(t, r, n); } return e.apply(this, arguments); }; return t[s] = e[s], t; }(c) : m && "function" == typeof c ? i(Function.call, c) : c, m && ((b.virtual || (b.virtual = {}))[h] = c, e & o.R && v && !v[h] && a(v, h, c))); }; o.F = 1, o.G = 2, o.S = 4, o.P = 8, o.B = 16, o.W = 32, o.U = 64, o.R = 128, t.exports = o; }, { "./_core": 40, "./_ctx": 41, "./_global": 46, "./_hide": 47 } ], 45: [ function(e, t) { t.exports = function(e) { try { return !!e(); } catch (e) { return !0; } }; }, {} ], 46: [ function(e, t) { var r = t.exports = "undefined" != typeof window && window.Math == Math ? window : "undefined" != typeof self && self.Math == Math ? self : Function("", "return this")(); "number" == typeof __g && (__g = r); }, {} ], 47: [ function(e, t) { var r = e("./_object-dp"), n = e("./_property-desc"); t.exports = e("./_descriptors") ? function(e, t, i) { return r.f(e, t, n(1, i)); } : function(e, t, r) { return e[t] = r, e; }; }, { "./_descriptors": 42, "./_object-dp": 52, "./_property-desc": 53 } ], 48: [ function(e, t) { t.exports = e("./_global").document && document.documentElement; }, { "./_global": 46 } ], 49: [ function(e, t) { t.exports = !e("./_descriptors") && !e("./_fails")(function() { return 7 != Object.defineProperty(e("./_dom-create")("div"), "a", { get: function() { return 7; } }).a; }); }, { "./_descriptors": 42, "./_dom-create": 43, "./_fails": 45 } ], 50: [ function(e, t) { t.exports = function(e, t, r) { var n = void 0 === r; switch (t.length) { case 0: return n ? e() : e.call(r); case 1: return n ? e(t[0]) : e.call(r, t[0]); case 2: return n ? e(t[0], t[1]) : e.call(r, t[0], t[1]); case 3: return n ? e(t[0], t[1], t[2]) : e.call(r, t[0], t[1], t[2]); case 4: return n ? e(t[0], t[1], t[2], t[3]) : e.call(r, t[0], t[1], t[2], t[3]); } return e.apply(r, t); }; }, {} ], 51: [ function(e, t) { t.exports = function(e) { return "object" == typeof e ? null !== e : "function" == typeof e; }; }, {} ], 52: [ function(e, t, r) { var n = e("./_an-object"), i = e("./_ie8-dom-define"), a = e("./_to-primitive"), s = Object.defineProperty; r.f = e("./_descriptors") ? Object.defineProperty : function(e, t, r) { if (n(e), t = a(t, !0), n(r), i) try { return s(e, t, r); } catch (e) {} if ("get" in r || "set" in r) throw TypeError("Accessors not supported!"); return "value" in r && (e[t] = r.value), e; }; }, { "./_an-object": 38, "./_descriptors": 42, "./_ie8-dom-define": 49, "./_to-primitive": 55 } ], 53: [ function(e, t) { t.exports = function(e, t) { return { enumerable: !(1 & e), configurable: !(2 & e), writable: !(4 & e), value: t }; }; }, {} ], 54: [ function(e, t) { var r, n, i, a = e("./_ctx"), s = e("./_invoke"), o = e("./_html"), u = e("./_dom-create"), h = e("./_global"), l = h.process, c = h.setImmediate, f = h.clearImmediate, d = h.MessageChannel, p = 0, m = {}, _ = "onreadystatechange", g = function() { var e = +this; if (m.hasOwnProperty(e)) { var t = m[e]; delete m[e], t(); } }, b = function(e) { g.call(e.data); }; c && f || (c = function(e) { for (var t = [], n = 1; arguments.length > n; ) t.push(arguments[n++]); return m[++p] = function() { s("function" == typeof e ? e : Function(e), t); }, r(p), p; }, f = function(e) { delete m[e]; }, "process" == e("./_cof")(l) ? r = function(e) { l.nextTick(a(g, e, 1)); } : d ? (i = (n = new d()).port2, n.port1.onmessage = b, r = a(i.postMessage, i, 1)) : h.addEventListener && "function" == typeof postMessage && !h.importScripts ? (r = function(e) { h.postMessage(e + "", "*"); }, h.addEventListener("message", b, !1)) : r = _ in u("script") ? function(e) { o.appendChild(u("script"))[_] = function() { o.removeChild(this), g.call(e); }; } : function(e) { setTimeout(a(g, e, 1), 0); }), t.exports = { set: c, clear: f }; }, { "./_cof": 39, "./_ctx": 41, "./_dom-create": 43, "./_global": 46, "./_html": 48, "./_invoke": 50 } ], 55: [ function(e, t) { var r = e("./_is-object"); t.exports = function(e, t) { if (!r(e)) return e; var n, i; if (t && "function" == typeof (n = e.toString) && !r(i = n.call(e))) return i; if ("function" == typeof (n = e.valueOf) && !r(i = n.call(e))) return i; if (!t && "function" == typeof (n = e.toString) && !r(i = n.call(e))) return i; throw TypeError("Can't convert object to primitive value"); }; }, { "./_is-object": 51 } ], 56: [ function(e) { var t = e("./_export"), r = e("./_task"); t(t.G + t.B, { setImmediate: r.set, clearImmediate: r.clear }); }, { "./_export": 44, "./_task": 54 } ], 57: [ function(e, t) { (function(e) { "use strict"; function r() { h = !0; for (var e, t, r = l.length; r; ) { for (t = l, l = [], e = -1; ++e < r; ) t[e](); r = l.length; } h = !1; } var n, i = e.MutationObserver || e.WebKitMutationObserver; if (i) { var a = 0, s = new i(r), o = e.document.createTextNode(""); s.observe(o, { characterData: !0 }), n = function() { o.data = a = ++a % 2; }; } else if (e.setImmediate || "undefined" == typeof e.MessageChannel) n = "document" in e && "onreadystatechange" in e.document.createElement("script") ? function() { var t = e.document.createElement("script"); t.onreadystatechange = function() { r(), t.onreadystatechange = null, t.parentNode.removeChild(t), t = null; }, e.document.documentElement.appendChild(t); } : function() { setTimeout(r, 0); }; else { var u = new e.MessageChannel(); u.port1.onmessage = r, n = function() { u.port2.postMessage(0); }; } var h, l = []; t.exports = function(e) { 1 !== l.push(e) || h || n(); }; }).call(this, "undefined" != typeof global ? global : "undefined" != typeof self ? self : "undefined" != typeof window ? window : {}); }, {} ], 58: [ function(e, t) { "use strict"; function r() {} function n(e) { if ("function" != typeof e) throw new TypeError("resolver must be a function"); this.state = d, this.queue = [], this.outcome = void 0, e !== r && o(this, e); } function i(e, t, r) { this.promise = e, "function" == typeof t && (this.onFulfilled = t, this.callFulfilled = this.otherCallFulfilled), "function" == typeof r && (this.onRejected = r, this.callRejected = this.otherCallRejected); } function a(e, t, r) { h(function() { var n; try { n = t(r); } catch (t) { return l.reject(e, t); } n === e ? l.reject(e, new TypeError("Cannot resolve promise with itself")) : l.resolve(e, n); }); } function s(e) { var t = e && e.then; return !e || "object" != typeof e && "function" != typeof e || "function" != typeof t ? void 0 : function() { t.apply(e, arguments); }; } function o(e, t) { function r(t) { i || (i = !0, l.reject(e, t)); } function n(t) { i || (i = !0, l.resolve(e, t)); } var i = !1, a = u(function() { t(n, r); }); "error" === a.status && r(a.value); } function u(e, t) { var r = {}; try { r.value = e(t), r.status = "success"; } catch (e) { r.status = "error", r.value = e; } return r; } var h = e("immediate"), l = {}, c = [ "REJECTED" ], f = [ "FULFILLED" ], d = [ "PENDING" ]; t.exports = n, n.prototype.catch = function(e) { return this.then(null, e); }, n.prototype.then = function(e, t) { if ("function" != typeof e && this.state === f || "function" != typeof t && this.state === c) return this; var n = new this.constructor(r); this.state !== d ? a(n, this.state === f ? e : t, this.outcome) : this.queue.push(new i(n, e, t)); return n; }, i.prototype.callFulfilled = function(e) { l.resolve(this.promise, e); }, i.prototype.otherCallFulfilled = function(e) { a(this.promise, this.onFulfilled, e); }, i.prototype.callRejected = function(e) { l.reject(this.promise, e); }, i.prototype.otherCallRejected = function(e) { a(this.promise, this.onRejected, e); }, l.resolve = function(e, t) { var r = u(s, t); if ("error" === r.status) return l.reject(e, r.value); var n = r.value; if (n) o(e, n); else { e.state = f, e.outcome = t; for (var i = -1, a = e.queue.length; ++i < a; ) e.queue[i].callFulfilled(t); } return e; }, l.reject = function(e, t) { e.state = c, e.outcome = t; for (var r = -1, n = e.queue.length; ++r < n; ) e.queue[r].callRejected(t); return e; }, n.resolve = function(e) { return e instanceof this ? e : l.resolve(new this(r), e); }, n.reject = function(e) { var t = new this(r); return l.reject(t, e); }, n.all = function(e) { function t(e, t) { n.resolve(e).then(function(e) { s[t] = e, ++o !== i || a || (a = !0, l.resolve(h, s)); }, function(e) { a || (a = !0, l.reject(h, e)); }); } var n = this; if ("[object Array]" !== Object.prototype.toString.call(e)) return this.reject(new TypeError("must be an array")); var i = e.length, a = !1; if (!i) return this.resolve([]); for (var s = new Array(i), o = 0, u = -1, h = new this(r); ++u < i; ) t(e[u], u); return h; }, n.race = function(e) { function t(e) { n.resolve(e).then(function(e) { a || (a = !0, l.resolve(o, e)); }, function(e) { a || (a = !0, l.reject(o, e)); }); } var n = this; if ("[object Array]" !== Object.prototype.toString.call(e)) return this.reject(new TypeError("must be an array")); var i = e.length, a = !1; if (!i) return this.resolve([]); for (var s = -1, o = new this(r); ++s < i; ) t(e[s]); return o; }; }, { immediate: 57 } ], 59: [ function(e, t) { "use strict"; var r = {}; (0, e("./lib/utils/common").assign)(r, e("./lib/deflate"), e("./lib/inflate"), e("./lib/zlib/constants")), t.exports = r; }, { "./lib/deflate": 60, "./lib/inflate": 61, "./lib/utils/common": 62, "./lib/zlib/constants": 65 } ], 60: [ function(e, t, r) { "use strict"; function n(e) { if (!(this instanceof n)) return new n(e); this.options = s.assign({ level: f, method: p, chunkSize: 16384, windowBits: 15, memLevel: 8, strategy: d, to: "" }, e || {}); var t = this.options; t.raw && t.windowBits > 0 ? t.windowBits = -t.windowBits : t.gzip && t.windowBits > 0 && t.windowBits < 16 && (t.windowBits += 16), this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new h(), this.strm.avail_out = 0; var r = a.deflateInit2(this.strm, t.level, t.method, t.windowBits, t.memLevel, t.strategy); if (r !== c) throw new Error(u[r]); if (t.header && a.deflateSetHeader(this.strm, t.header), t.dictionary) { var i; if (i = "string" == typeof t.dictionary ? o.string2buf(t.dictionary) : "[object ArrayBuffer]" === l.call(t.dictionary) ? new Uint8Array(t.dictionary) : t.dictionary, (r = a.deflateSetDictionary(this.strm, i)) !== c) throw new Error(u[r]); this._dict_set = !0; } } function i(e, t) { var r = new n(t); if (r.push(e, !0), r.err) throw r.msg || u[r.err]; return r.result; } var a = e("./zlib/deflate"), s = e("./utils/common"), o = e("./utils/strings"), u = e("./zlib/messages"), h = e("./zlib/zstream"), l = Object.prototype.toString, c = 0, f = -1, d = 0, p = 8; n.prototype.push = function(e, t) { var r, n, i = this.strm, u = this.options.chunkSize; if (this.ended) return !1; n = t === ~~t ? t : !0 === t ? 4 : 0, "string" == typeof e ? i.input = o.string2buf(e) : "[object ArrayBuffer]" === l.call(e) ? i.input = new Uint8Array(e) : i.input = e, i.next_in = 0, i.avail_in = i.input.length; do { if (0 === i.avail_out && (i.output = new s.Buf8(u), i.next_out = 0, i.avail_out = u), 1 !== (r = a.deflate(i, n)) && r !== c) return this.onEnd(r), this.ended = !0, !1; 0 !== i.avail_out && (0 !== i.avail_in || 4 !== n && 2 !== n) || ("string" === this.options.to ? this.onData(o.buf2binstring(s.shrinkBuf(i.output, i.next_out))) : this.onData(s.shrinkBuf(i.output, i.next_out))); } while ((i.avail_in > 0 || 0 === i.avail_out) && 1 !== r); return 4 === n ? (r = a.deflateEnd(this.strm), this.onEnd(r), this.ended = !0, r === c) : 2 !== n || (this.onEnd(c), i.avail_out = 0, !0); }, n.prototype.onData = function(e) { this.chunks.push(e); }, n.prototype.onEnd = function(e) { e === c && ("string" === this.options.to ? this.result = this.chunks.join("") : this.result = s.flattenChunks(this.chunks)), this.chunks = [], this.err = e, this.msg = this.strm.msg; }, r.Deflate = n, r.deflate = i, r.deflateRaw = function(e, t) { return (t = t || {}).raw = !0, i(e, t); }, r.gzip = function(e, t) { return (t = t || {}).gzip = !0, i(e, t); }; }, { "./utils/common": 62, "./utils/strings": 63, "./zlib/deflate": 67, "./zlib/messages": 72, "./zlib/zstream": 74 } ], 61: [ function(e, t, r) { "use strict"; function n(e) { if (!(this instanceof n)) return new n(e); this.options = s.assign({ chunkSize: 16384, windowBits: 0, to: "" }, e || {}); var t = this.options; t.raw && t.windowBits >= 0 && t.windowBits < 16 && (t.windowBits = -t.windowBits, 0 === t.windowBits && (t.windowBits = -15)), !(t.windowBits >= 0 && t.windowBits < 16) || e && e.windowBits || (t.windowBits += 32), t.windowBits > 15 && t.windowBits < 48 && 0 == (15 & t.windowBits) && (t.windowBits |= 15), this.err = 0, this.msg = "", this.ended = !1, this.chunks = [], this.strm = new l(), this.strm.avail_out = 0; var r = a.inflateInit2(this.strm, t.windowBits); if (r !== u.Z_OK) throw new Error(h[r]); this.header = new c(), a.inflateGetHeader(this.strm, this.header); } function i(e, t) { var r = new n(t); if (r.push(e, !0), r.err) throw r.msg || h[r.err]; return r.result; } var a = e("./zlib/inflate"), s = e("./utils/common"), o = e("./utils/strings"), u = e("./zlib/constants"), h = e("./zlib/messages"), l = e("./zlib/zstream"), c = e("./zlib/gzheader"), f = Object.prototype.toString; n.prototype.push = function(e, t) { var r, n, i, h, l, c, d = this.strm, p = this.options.chunkSize, m = this.options.dictionary, _ = !1; if (this.ended) return !1; n = t === ~~t ? t : !0 === t ? u.Z_FINISH : u.Z_NO_FLUSH, "string" == typeof e ? d.input = o.binstring2buf(e) : "[object ArrayBuffer]" === f.call(e) ? d.input = new Uint8Array(e) : d.input = e, d.next_in = 0, d.avail_in = d.input.length; do { if (0 === d.avail_out && (d.output = new s.Buf8(p), d.next_out = 0, d.avail_out = p), (r = a.inflate(d, u.Z_NO_FLUSH)) === u.Z_NEED_DICT && m && (c = "string" == typeof m ? o.string2buf(m) : "[object ArrayBuffer]" === f.call(m) ? new Uint8Array(m) : m, r = a.inflateSetDictionary(this.strm, c)), r === u.Z_BUF_ERROR && !0 === _ && (r = u.Z_OK, _ = !1), r !== u.Z_STREAM_END && r !== u.Z_OK) return this.onEnd(r), this.ended = !0, !1; d.next_out && (0 !== d.avail_out && r !== u.Z_STREAM_END && (0 !== d.avail_in || n !== u.Z_FINISH && n !== u.Z_SYNC_FLUSH) || ("string" === this.options.to ? (i = o.utf8border(d.output, d.next_out), h = d.next_out - i, l = o.buf2string(d.output, i), d.next_out = h, d.avail_out = p - h, h && s.arraySet(d.output, d.output, i, h, 0), this.onData(l)) : this.onData(s.shrinkBuf(d.output, d.next_out)))), 0 === d.avail_in && 0 === d.avail_out && (_ = !0); } while ((d.avail_in > 0 || 0 === d.avail_out) && r !== u.Z_STREAM_END); return r === u.Z_STREAM_END && (n = u.Z_FINISH), n === u.Z_FINISH ? (r = a.inflateEnd(this.strm), this.onEnd(r), this.ended = !0, r === u.Z_OK) : n !== u.Z_SYNC_FLUSH || (this.onEnd(u.Z_OK), d.avail_out = 0, !0); }, n.prototype.onData = function(e) { this.chunks.push(e); }, n.prototype.onEnd = function(e) { e === u.Z_OK && ("string" === this.options.to ? this.result = this.chunks.join("") : this.result = s.flattenChunks(this.chunks)), this.chunks = [], this.err = e, this.msg = this.strm.msg; }, r.Inflate = n, r.inflate = i, r.inflateRaw = function(e, t) { return (t = t || {}).raw = !0, i(e, t); }, r.ungzip = i; }, { "./utils/common": 62, "./utils/strings": 63, "./zlib/constants": 65, "./zlib/gzheader": 68, "./zlib/inflate": 70, "./zlib/messages": 72, "./zlib/zstream": 74 } ], 62: [ function(e, t, r) { "use strict"; var n = "undefined" != typeof Uint8Array && "undefined" != typeof Uint16Array && "undefined" != typeof Int32Array; r.assign = function(e) { for (var t = Array.prototype.slice.call(arguments, 1); t.length; ) { var r = t.shift(); if (r) { if ("object" != typeof r) throw new TypeError(r + "must be non-object"); for (var n in r) r.hasOwnProperty(n) && (e[n] = r[n]); } } return e; }, r.shrinkBuf = function(e, t) { return e.length === t ? e : e.subarray ? e.subarray(0, t) : (e.length = t, e); }; var i = { arraySet: function(e, t, r, n, i) { if (t.subarray && e.subarray) e.set(t.subarray(r, r + n), i); else for (var a = 0; n > a; a++) e[i + a] = t[r + a]; }, flattenChunks: function(e) { var t, r, n, i, a, s; for (n = 0, t = 0, r = e.length; r > t; t++) n += e[t].length; for (s = new Uint8Array(n), i = 0, t = 0, r = e.length; r > t; t++) a = e[t], s.set(a, i), i += a.length; return s; } }, a = { arraySet: function(e, t, r, n, i) { for (var a = 0; n > a; a++) e[i + a] = t[r + a]; }, flattenChunks: function(e) { return [].concat.apply([], e); } }; r.setTyped = function(e) { e ? (r.Buf8 = Uint8Array, r.Buf16 = Uint16Array, r.Buf32 = Int32Array, r.assign(r, i)) : (r.Buf8 = Array, r.Buf16 = Array, r.Buf32 = Array, r.assign(r, a)); }, r.setTyped(n); }, {} ], 63: [ function(e, t, r) { "use strict"; function n(e, t) { if (65537 > t && (e.subarray && s || !e.subarray && a)) return String.fromCharCode.apply(null, i.shrinkBuf(e, t)); for (var r = "", n = 0; t > n; n++) r += String.fromCharCode(e[n]); return r; } var i = e("./common"), a = !0, s = !0; try { String.fromCharCode.apply(null, [ 0 ]); } catch (e) { a = !1; } try { String.fromCharCode.apply(null, new Uint8Array(1)); } catch (e) { s = !1; } for (var o = new i.Buf8(256), u = 0; 256 > u; u++) o[u] = u >= 252 ? 6 : u >= 248 ? 5 : u >= 240 ? 4 : u >= 224 ? 3 : u >= 192 ? 2 : 1; o[254] = o[254] = 1, r.string2buf = function(e) { var t, r, n, a, s, o = e.length, u = 0; for (a = 0; o > a; a++) 55296 == (64512 & (r = e.charCodeAt(a))) && o > a + 1 && 56320 == (64512 & (n = e.charCodeAt(a + 1))) && (r = 65536 + (r - 55296 << 10) + (n - 56320), a++), u += 128 > r ? 1 : 2048 > r ? 2 : 65536 > r ? 3 : 4; for (t = new i.Buf8(u), s = 0, a = 0; u > s; a++) 55296 == (64512 & (r = e.charCodeAt(a))) && o > a + 1 && 56320 == (64512 & (n = e.charCodeAt(a + 1))) && (r = 65536 + (r - 55296 << 10) + (n - 56320), a++), 128 > r ? t[s++] = r : 2048 > r ? (t[s++] = 192 | r >>> 6, t[s++] = 128 | 63 & r) : 65536 > r ? (t[s++] = 224 | r >>> 12, t[s++] = 128 | r >>> 6 & 63, t[s++] = 128 | 63 & r) : (t[s++] = 240 | r >>> 18, t[s++] = 128 | r >>> 12 & 63, t[s++] = 128 | r >>> 6 & 63, t[s++] = 128 | 63 & r); return t; }, r.buf2binstring = function(e) { return n(e, e.length); }, r.binstring2buf = function(e) { for (var t = new i.Buf8(e.length), r = 0, n = t.length; n > r; r++) t[r] = e.charCodeAt(r); return t; }, r.buf2string = function(e, t) { var r, i, a, s, u = t || e.length, h = new Array(2 * u); for (i = 0, r = 0; u > r; ) if (128 > (a = e[r++])) h[i++] = a; else if ((s = o[a]) > 4) h[i++] = 65533, r += s - 1; else { for (a &= 2 === s ? 31 : 3 === s ? 15 : 7; s > 1 && u > r; ) a = a << 6 | 63 & e[r++], s--; s > 1 ? h[i++] = 65533 : 65536 > a ? h[i++] = a : (a -= 65536, h[i++] = 55296 | a >> 10 & 1023, h[i++] = 56320 | 1023 & a); } return n(h, i); }, r.utf8border = function(e, t) { var r; for ((t = t || e.length) > e.length && (t = e.length), r = t - 1; r >= 0 && 128 == (192 & e[r]); ) r--; return 0 > r ? t : 0 === r ? t : r + o[e[r]] > t ? r : t; }; }, { "./common": 62 } ], 64: [ function(e, t) { "use strict"; t.exports = function(e, t, r, n) { for (var i = 65535 & e | 0, a = e >>> 16 & 65535 | 0, s = 0; 0 !== r; ) { r -= s = r > 2e3 ? 2e3 : r; do { a = a + (i = i + t[n++] | 0) | 0; } while (--s); i %= 65521, a %= 65521; } return i | a << 16 | 0; }; }, {} ], 65: [ function(e, t) { "use strict"; t.exports = { Z_NO_FLUSH: 0, Z_PARTIAL_FLUSH: 1, Z_SYNC_FLUSH: 2, Z_FULL_FLUSH: 3, Z_FINISH: 4, Z_BLOCK: 5, Z_TREES: 6, Z_OK: 0, Z_STREAM_END: 1, Z_NEED_DICT: 2, Z_ERRNO: -1, Z_STREAM_ERROR: -2, Z_DATA_ERROR: -3, Z_BUF_ERROR: -5, Z_NO_COMPRESSION: 0, Z_BEST_SPEED: 1, Z_BEST_COMPRESSION: 9, Z_DEFAULT_COMPRESSION: -1, Z_FILTERED: 1, Z_HUFFMAN_ONLY: 2, Z_RLE: 3, Z_FIXED: 4, Z_DEFAULT_STRATEGY: 0, Z_BINARY: 0, Z_TEXT: 1, Z_UNKNOWN: 2, Z_DEFLATED: 8 }; }, {} ], 66: [ function(e, t) { "use strict"; var r = function() { for (var e, t = [], r = 0; 256 > r; r++) { e = r; for (var n = 0; 8 > n; n++) e = 1 & e ? 3988292384 ^ e >>> 1 : e >>> 1; t[r] = e; } return t; }(); t.exports = function(e, t, n, i) { var a = r, s = i + n; e ^= -1; for (var o = i; s > o; o++) e = e >>> 8 ^ a[255 & (e ^ t[o])]; return -1 ^ e; }; }, {} ], 67: [ function(e, t, r) { "use strict"; function n(e, t) { return e.msg = A[t], t; } function i(e) { return (e << 1) - (e > 4 ? 9 : 0); } function a(e) { for (var t = e.length; --t >= 0; ) e[t] = 0; } function s(e) { var t = e.state, r = t.pending; r > e.avail_out && (r = e.avail_out), 0 !== r && (S.arraySet(e.output, t.pending_buf, t.pending_out, r, e.next_out), e.next_out += r, t.pending_out += r, e.total_out += r, e.avail_out -= r, t.pending -= r, 0 === t.pending && (t.pending_out = 0)); } function o(e, t) { z._tr_flush_block(e, e.block_start >= 0 ? e.block_start : -1, e.strstart - e.block_start, t), e.block_start = e.strstart, s(e.strm); } function u(e, t) { e.pending_buf[e.pending++] = t; } function h(e, t) { e.pending_buf[e.pending++] = t >>> 8 & 255, e.pending_buf[e.pending++] = 255 & t; } function l(e, t, r, n) { var i = e.avail_in; return i > n && (i = n), 0 === i ? 0 : (e.avail_in -= i, S.arraySet(t, e.input, e.next_in, i, r), 1 === e.state.wrap ? e.adler = E(e.adler, t, i, r) : 2 === e.state.wrap && (e.adler = C(e.adler, t, i, r)), e.next_in += i, e.total_in += i, i); } function c(e, t) { var r, n, i = e.max_chain_length, a = e.strstart, s = e.prev_length, o = e.nice_match, u = e.strstart > e.w_size - K ? e.strstart - (e.w_size - K) : 0, h = e.window, l = e.w_mask, c = e.prev, f = e.strstart + G, d = h[a + s - 1], p = h[a + s]; e.prev_length >= e.good_match && (i >>= 2), o > e.lookahead && (o = e.lookahead); do { if (h[(r = t) + s] === p && h[r + s - 1] === d && h[r] === h[a] && h[++r] === h[a + 1]) { a += 2, r++; do {} while (h[++a] === h[++r] && h[++a] === h[++r] && h[++a] === h[++r] && h[++a] === h[++r] && h[++a] === h[++r] && h[++a] === h[++r] && h[++a] === h[++r] && h[++a] === h[++r] && f > a); if (n = G - (f - a), a = f - G, n > s) { if (e.match_start = t, s = n, n >= o) break; d = h[a + s - 1], p = h[a + s]; } } } while ((t = c[t & l]) > u && 0 != --i); return s <= e.lookahead ? s : e.lookahead; } function f(e) { var t, r, n, i, a, s = e.w_size; do { if (i = e.window_size - e.lookahead - e.strstart, e.strstart >= s + (s - K)) { S.arraySet(e.window, e.window, s, s, 0), e.match_start -= s, e.strstart -= s, e.block_start -= s, t = r = e.hash_size; do { n = e.head[--t], e.head[t] = n >= s ? n - s : 0; } while (--r); t = r = s; do { n = e.prev[--t], e.prev[t] = n >= s ? n - s : 0; } while (--r); i += s; } if (0 === e.strm.avail_in) break; if (r = l(e.strm, e.window, e.strstart + e.lookahead, i), e.lookahead += r, e.lookahead + e.insert >= H) for (a = e.strstart - e.insert, e.ins_h = e.window[a], e.ins_h = (e.ins_h << e.hash_shift ^ e.window[a + 1]) & e.hash_mask; e.insert && (e.ins_h = (e.ins_h << e.hash_shift ^ e.window[a + H - 1]) & e.hash_mask, e.prev[a & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = a, a++, e.insert--, !(e.lookahead + e.insert < H)); ) ; } while (e.lookahead < K && 0 !== e.strm.avail_in); } function d(e, t) { for (var r, n; ;) { if (e.lookahead < K) { if (f(e), e.lookahead < K && t === I) return V; if (0 === e.lookahead) break; } if (r = 0, e.lookahead >= H && (e.ins_h = (e.ins_h << e.hash_shift ^ e.window[e.strstart + H - 1]) & e.hash_mask, r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart), 0 !== r && e.strstart - r <= e.w_size - K && (e.match_length = c(e, r)), e.match_length >= H) if (n = z._tr_tally(e, e.strstart - e.match_start, e.match_length - H), e.lookahead -= e.match_length, e.match_length <= e.max_lazy_match && e.lookahead >= H) { e.match_length--; do { e.strstart++, e.ins_h = (e.ins_h << e.hash_shift ^ e.window[e.strstart + H - 1]) & e.hash_mask, r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart; } while (0 != --e.match_length); e.strstart++; } else e.strstart += e.match_length, e.match_length = 0, e.ins_h = e.window[e.strstart], e.ins_h = (e.ins_h << e.hash_shift ^ e.window[e.strstart + 1]) & e.hash_mask; else n = z._tr_tally(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++; if (n && (o(e, !1), 0 === e.strm.avail_out)) return V; } return e.insert = e.strstart < H - 1 ? e.strstart : H - 1, t === O ? (o(e, !0), 0 === e.strm.avail_out ? J : Q) : e.last_lit && (o(e, !1), 0 === e.strm.avail_out) ? V : q; } function p(e, t) { for (var r, n, i; ;) { if (e.lookahead < K) { if (f(e), e.lookahead < K && t === I) return V; if (0 === e.lookahead) break; } if (r = 0, e.lookahead >= H && (e.ins_h = (e.ins_h << e.hash_shift ^ e.window[e.strstart + H - 1]) & e.hash_mask, r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart), e.prev_length = e.match_length, e.prev_match = e.match_start, e.match_length = H - 1, 0 !== r && e.prev_length < e.max_lazy_match && e.strstart - r <= e.w_size - K && (e.match_length = c(e, r), e.match_length <= 5 && (e.strategy === D || e.match_length === H && e.strstart - e.match_start > 4096) && (e.match_length = H - 1)), e.prev_length >= H && e.match_length <= e.prev_length) { i = e.strstart + e.lookahead - H, n = z._tr_tally(e, e.strstart - 1 - e.prev_match, e.prev_length - H), e.lookahead -= e.prev_length - 1, e.prev_length -= 2; do { ++e.strstart <= i && (e.ins_h = (e.ins_h << e.hash_shift ^ e.window[e.strstart + H - 1]) & e.hash_mask, r = e.prev[e.strstart & e.w_mask] = e.head[e.ins_h], e.head[e.ins_h] = e.strstart); } while (0 != --e.prev_length); if (e.match_available = 0, e.match_length = H - 1, e.strstart++, n && (o(e, !1), 0 === e.strm.avail_out)) return V; } else if (e.match_available) { if ((n = z._tr_tally(e, 0, e.window[e.strstart - 1])) && o(e, !1), e.strstart++, e.lookahead--, 0 === e.strm.avail_out) return V; } else e.match_available = 1, e.strstart++, e.lookahead--; } return e.match_available && (n = z._tr_tally(e, 0, e.window[e.strstart - 1]), e.match_available = 0), e.insert = e.strstart < H - 1 ? e.strstart : H - 1, t === O ? (o(e, !0), 0 === e.strm.avail_out ? J : Q) : e.last_lit && (o(e, !1), 0 === e.strm.avail_out) ? V : q; } function m(e, t) { for (var r, n, i, a, s = e.window; ;) { if (e.lookahead <= G) { if (f(e), e.lookahead <= G && t === I) return V; if (0 === e.lookahead) break; } if (e.match_length = 0, e.lookahead >= H && e.strstart > 0 && (n = s[i = e.strstart - 1]) === s[++i] && n === s[++i] && n === s[++i]) { a = e.strstart + G; do {} while (n === s[++i] && n === s[++i] && n === s[++i] && n === s[++i] && n === s[++i] && n === s[++i] && n === s[++i] && n === s[++i] && a > i); e.match_length = G - (a - i), e.match_length > e.lookahead && (e.match_length = e.lookahead); } if (e.match_length >= H ? (r = z._tr_tally(e, 1, e.match_length - H), e.lookahead -= e.match_length, e.strstart += e.match_length, e.match_length = 0) : (r = z._tr_tally(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++), r && (o(e, !1), 0 === e.strm.avail_out)) return V; } return e.insert = 0, t === O ? (o(e, !0), 0 === e.strm.avail_out ? J : Q) : e.last_lit && (o(e, !1), 0 === e.strm.avail_out) ? V : q; } function _(e, t) { for (var r; ;) { if (0 === e.lookahead && (f(e), 0 === e.lookahead)) { if (t === I) return V; break; } if (e.match_length = 0, r = z._tr_tally(e, 0, e.window[e.strstart]), e.lookahead--, e.strstart++, r && (o(e, !1), 0 === e.strm.avail_out)) return V; } return e.insert = 0, t === O ? (o(e, !0), 0 === e.strm.avail_out ? J : Q) : e.last_lit && (o(e, !1), 0 === e.strm.avail_out) ? V : q; } function g(e, t, r, n, i) { this.good_length = e, this.max_lazy = t, this.nice_length = r, this.max_chain = n, this.func = i; } function b(e) { e.window_size = 2 * e.w_size, a(e.head), e.max_lazy_match = x[e.level].max_lazy, e.good_match = x[e.level].good_length, e.nice_match = x[e.level].nice_length, e.max_chain_length = x[e.level].max_chain, e.strstart = 0, e.block_start = 0, e.lookahead = 0, e.insert = 0, e.match_length = e.prev_length = H - 1, e.match_available = 0, e.ins_h = 0; } function v() { this.strm = null, this.status = 0, this.pending_buf = null, this.pending_buf_size = 0, this.pending_out = 0, this.pending = 0, this.wrap = 0, this.gzhead = null, this.gzindex = 0, this.method = P, this.last_flush = -1, this.w_size = 0, this.w_bits = 0, this.w_mask = 0, this.window = null, this.window_size = 0, this.prev = null, this.head = null, this.ins_h = 0, this.hash_size = 0, this.hash_bits = 0, this.hash_mask = 0, this.hash_shift = 0, this.block_start = 0, this.match_length = 0, this.prev_match = 0, this.match_available = 0, this.strstart = 0, this.match_start = 0, this.lookahead = 0, this.prev_length = 0, this.max_chain_length = 0, this.max_lazy_match = 0, this.level = 0, this.strategy = 0, this.good_match = 0, this.nice_match = 0, this.dyn_ltree = new S.Buf16(2 * W), this.dyn_dtree = new S.Buf16(2 * (2 * j + 1)), this.bl_tree = new S.Buf16(2 * (2 * Z + 1)), a(this.dyn_ltree), a(this.dyn_dtree), a(this.bl_tree), this.l_desc = null, this.d_desc = null, this.bl_desc = null, this.bl_count = new S.Buf16(M + 1), this.heap = new S.Buf16(2 * L + 1), a(this.heap), this.heap_len = 0, this.heap_max = 0, this.depth = new S.Buf16(2 * L + 1), a(this.depth), this.l_buf = 0, this.lit_bufsize = 0, this.last_lit = 0, this.d_buf = 0, this.opt_len = 0, this.static_len = 0, this.matches = 0, this.insert = 0, this.bi_buf = 0, this.bi_valid = 0; } function w(e) { var t; return e && e.state ? (e.total_in = e.total_out = 0, e.data_type = N, (t = e.state).pending = 0, t.pending_out = 0, t.wrap < 0 && (t.wrap = -t.wrap), t.status = t.wrap ? Y : X, e.adler = 2 === t.wrap ? 0 : 1, t.last_flush = I, z._tr_init(t), B) : n(e, R); } function y(e) { var t = w(e); return t === B && b(e.state), t; } function k(e, t, r, i, a, s) { if (!e) return R; var o = 1; if (t === T && (t = 6), 0 > i ? (o = 0, i = -i) : i > 15 && (o = 2, i -= 16), 1 > a || a > U || r !== P || 8 > i || i > 15 || 0 > t || t > 9 || 0 > s || s > F) return n(e, R); 8 === i && (i = 9); var u = new v(); return e.state = u, u.strm = e, u.wrap = o, u.gzhead = null, u.w_bits = i, u.w_size = 1 << u.w_bits, u.w_mask = u.w_size - 1, u.hash_bits = a + 7, u.hash_size = 1 << u.hash_bits, u.hash_mask = u.hash_size - 1, u.hash_shift = ~~((u.hash_bits + H - 1) / H), u.window = new S.Buf8(2 * u.w_size), u.head = new S.Buf16(u.hash_size), u.prev = new S.Buf16(u.w_size), u.lit_bufsize = 1 << a + 6, u.pending_buf_size = 4 * u.lit_bufsize, u.pending_buf = new S.Buf8(u.pending_buf_size), u.d_buf = 1 * u.lit_bufsize, u.l_buf = 3 * u.lit_bufsize, u.level = t, u.strategy = s, u.method = r, y(e); } var x, S = e("../utils/common"), z = e("./trees"), E = e("./adler32"), C = e("./crc32"), A = e("./messages"), I = 0, O = 4, B = 0, R = -2, T = -1, D = 1, F = 4, N = 2, P = 8, U = 9, L = 286, j = 30, Z = 19, W = 2 * L + 1, M = 15, H = 3, G = 258, K = G + H + 1, Y = 42, X = 113, V = 1, q = 2, J = 3, Q = 4; x = [ new g(0, 0, 0, 0, function(e, t) { var r = 65535; for (r > e.pending_buf_size - 5 && (r = e.pending_buf_size - 5); ;) { if (e.lookahead <= 1) { if (f(e), 0 === e.lookahead && t === I) return V; if (0 === e.lookahead) break; } e.strstart += e.lookahead, e.lookahead = 0; var n = e.block_start + r; if ((0 === e.strstart || e.strstart >= n) && (e.lookahead = e.strstart - n, e.strstart = n, o(e, !1), 0 === e.strm.avail_out)) return V; if (e.strstart - e.block_start >= e.w_size - K && (o(e, !1), 0 === e.strm.avail_out)) return V; } return e.insert = 0, t === O ? (o(e, !0), 0 === e.strm.avail_out ? J : Q) : (e.strstart > e.block_start && (o(e, !1), e.strm.avail_out), V); }), new g(4, 4, 8, 4, d), new g(4, 5, 16, 8, d), new g(4, 6, 32, 32, d), new g(4, 4, 16, 16, p), new g(8, 16, 32, 32, p), new g(8, 16, 128, 128, p), new g(8, 32, 128, 256, p), new g(32, 128, 258, 1024, p), new g(32, 258, 258, 4096, p) ], r.deflateInit = function(e, t) { return k(e, t, P, 15, 8, 0); }, r.deflateInit2 = k, r.deflateReset = y, r.deflateResetKeep = w, r.deflateSetHeader = function(e, t) { return e && e.state ? 2 !== e.state.wrap ? R : (e.state.gzhead = t, B) : R; }, r.deflate = function(e, t) { var r, o, l, c; if (!e || !e.state || t > 5 || 0 > t) return e ? n(e, R) : R; if (o = e.state, !e.output || !e.input && 0 !== e.avail_in || 666 === o.status && t !== O) return n(e, 0 === e.avail_out ? -5 : R); if (o.strm = e, r = o.last_flush, o.last_flush = t, o.status === Y) if (2 === o.wrap) e.adler = 0, u(o, 31), u(o, 139), u(o, 8), o.gzhead ? (u(o, (o.gzhead.text ? 1 : 0) + (o.gzhead.hcrc ? 2 : 0) + (o.gzhead.extra ? 4 : 0) + (o.gzhead.name ? 8 : 0) + (o.gzhead.comment ? 16 : 0)), u(o, 255 & o.gzhead.time), u(o, o.gzhead.time >> 8 & 255), u(o, o.gzhead.time >> 16 & 255), u(o, o.gzhead.time >> 24 & 255), u(o, 9 === o.level ? 2 : o.strategy >= 2 || o.level < 2 ? 4 : 0), u(o, 255 & o.gzhead.os), o.gzhead.extra && o.gzhead.extra.length && (u(o, 255 & o.gzhead.extra.length), u(o, o.gzhead.extra.length >> 8 & 255)), o.gzhead.hcrc && (e.adler = C(e.adler, o.pending_buf, o.pending, 0)), o.gzindex = 0, o.status = 69) : (u(o, 0), u(o, 0), u(o, 0), u(o, 0), u(o, 0), u(o, 9 === o.level ? 2 : o.strategy >= 2 || o.level < 2 ? 4 : 0), u(o, 3), o.status = X); else { var f = P + (o.w_bits - 8 << 4) << 8; f |= (o.strategy >= 2 || o.level < 2 ? 0 : o.level < 6 ? 1 : 6 === o.level ? 2 : 3) << 6, 0 !== o.strstart && (f |= 32), f += 31 - f % 31, o.status = X, h(o, f), 0 !== o.strstart && (h(o, e.adler >>> 16), h(o, 65535 & e.adler)), e.adler = 1; } if (69 === o.status) if (o.gzhead.extra) { for (l = o.pending; o.gzindex < (65535 & o.gzhead.extra.length) && (o.pending !== o.pending_buf_size || (o.gzhead.hcrc && o.pending > l && (e.adler = C(e.adler, o.pending_buf, o.pending - l, l)), s(e), l = o.pending, o.pending !== o.pending_buf_size)); ) u(o, 255 & o.gzhead.extra[o.gzindex]), o.gzindex++; o.gzhead.hcrc && o.pending > l && (e.adler = C(e.adler, o.pending_buf, o.pending - l, l)), o.gzindex === o.gzhead.extra.length && (o.gzindex = 0, o.status = 73); } else o.status = 73; if (73 === o.status) if (o.gzhead.name) { l = o.pending; do { if (o.pending === o.pending_buf_size && (o.gzhead.hcrc && o.pending > l && (e.adler = C(e.adler, o.pending_buf, o.pending - l, l)), s(e), l = o.pending, o.pending === o.pending_buf_size)) { c = 1; break; } c = o.gzindex < o.gzhead.name.length ? 255 & o.gzhead.name.charCodeAt(o.gzindex++) : 0, u(o, c); } while (0 !== c); o.gzhead.hcrc && o.pending > l && (e.adler = C(e.adler, o.pending_buf, o.pending - l, l)), 0 === c && (o.gzindex = 0, o.status = 91); } else o.status = 91; if (91 === o.status) if (o.gzhead.comment) { l = o.pending; do { if (o.pending === o.pending_buf_size && (o.gzhead.hcrc && o.pending > l && (e.adler = C(e.adler, o.pending_buf, o.pending - l, l)), s(e), l = o.pending, o.pending === o.pending_buf_size)) { c = 1; break; } c = o.gzindex < o.gzhead.comment.length ? 255 & o.gzhead.comment.charCodeAt(o.gzindex++) : 0, u(o, c); } while (0 !== c); o.gzhead.hcrc && o.pending > l && (e.adler = C(e.adler, o.pending_buf, o.pending - l, l)), 0 === c && (o.status = 103); } else o.status = 103; if (103 === o.status && (o.gzhead.hcrc ? (o.pending + 2 > o.pending_buf_size && s(e), o.pending + 2 <= o.pending_buf_size && (u(o, 255 & e.adler), u(o, e.adler >> 8 & 255), e.adler = 0, o.status = X)) : o.status = X), 0 !== o.pending) { if (s(e), 0 === e.avail_out) return o.last_flush = -1, B; } else if (0 === e.avail_in && i(t) <= i(r) && t !== O) return n(e, -5); if (666 === o.status && 0 !== e.avail_in) return n(e, -5); if (0 !== e.avail_in || 0 !== o.lookahead || t !== I && 666 !== o.status) { var d = 2 === o.strategy ? _(o, t) : 3 === o.strategy ? m(o, t) : x[o.level].func(o, t); if (d !== J && d !== Q || (o.status = 666), d === V || d === J) return 0 === e.avail_out && (o.last_flush = -1), B; if (d === q && (1 === t ? z._tr_align(o) : 5 !== t && (z._tr_stored_block(o, 0, 0, !1), 3 === t && (a(o.head), 0 === o.lookahead && (o.strstart = 0, o.block_start = 0, o.insert = 0))), s(e), 0 === e.avail_out)) return o.last_flush = -1, B; } return t !== O ? B : o.wrap <= 0 ? 1 : (2 === o.wrap ? (u(o, 255 & e.adler), u(o, e.adler >> 8 & 255), u(o, e.adler >> 16 & 255), u(o, e.adler >> 24 & 255), u(o, 255 & e.total_in), u(o, e.total_in >> 8 & 255), u(o, e.total_in >> 16 & 255), u(o, e.total_in >> 24 & 255)) : (h(o, e.adler >>> 16), h(o, 65535 & e.adler)), s(e), o.wrap > 0 && (o.wrap = -o.wrap), 0 !== o.pending ? B : 1); }, r.deflateEnd = function(e) { var t; return e && e.state ? (t = e.state.status) !== Y && 69 !== t && 73 !== t && 91 !== t && 103 !== t && t !== X && 666 !== t ? n(e, R) : (e.state = null, t === X ? n(e, -3) : B) : R; }, r.deflateSetDictionary = function(e, t) { var r, n, i, s, o, u, h, l, c = t.length; if (!e || !e.state) return R; if (2 === (s = (r = e.state).wrap) || 1 === s && r.status !== Y || r.lookahead) return R; for (1 === s && (e.adler = E(e.adler, t, c, 0)), r.wrap = 0, c >= r.w_size && (0 === s && (a(r.head), r.strstart = 0, r.block_start = 0, r.insert = 0), l = new S.Buf8(r.w_size), S.arraySet(l, t, c - r.w_size, r.w_size, 0), t = l, c = r.w_size), o = e.avail_in, u = e.next_in, h = e.input, e.avail_in = c, e.next_in = 0, e.input = t, f(r); r.lookahead >= H; ) { n = r.strstart, i = r.lookahead - (H - 1); do { r.ins_h = (r.ins_h << r.hash_shift ^ r.window[n + H - 1]) & r.hash_mask, r.prev[n & r.w_mask] = r.head[r.ins_h], r.head[r.ins_h] = n, n++; } while (--i); r.strstart = n, r.lookahead = H - 1, f(r); } return r.strstart += r.lookahead, r.block_start = r.strstart, r.insert = r.lookahead, r.lookahead = 0, r.match_length = r.prev_length = H - 1, r.match_available = 0, e.next_in = u, e.input = h, e.avail_in = o, r.wrap = s, B; }, r.deflateInfo = "pako deflate (from Nodeca project)"; }, { "../utils/common": 62, "./adler32": 64, "./crc32": 66, "./messages": 72, "./trees": 73 } ], 68: [ function(e, t) { "use strict"; t.exports = function() { this.text = 0, this.time = 0, this.xflags = 0, this.os = 0, this.extra = null, this.extra_len = 0, this.name = "", this.comment = "", this.hcrc = 0, this.done = !1; }; }, {} ], 69: [ function(e, t) { "use strict"; t.exports = function(e, t) { var r, n, i, a, s, o, u, h, l, c, f, d, p, m, _, g, b, v, w, y, k, x, S, z, E; r = e.state, n = e.next_in, z = e.input, i = n + (e.avail_in - 5), a = e.next_out, E = e.output, s = a - (t - e.avail_out), o = a + (e.avail_out - 257), u = r.dmax, h = r.wsize, l = r.whave, c = r.wnext, f = r.window, d = r.hold, p = r.bits, m = r.lencode, _ = r.distcode, g = (1 << r.lenbits) - 1, b = (1 << r.distbits) - 1; e: do { 15 > p && (d += z[n++] << p, p += 8, d += z[n++] << p, p += 8), v = m[d & g]; t: for (;;) { if (d >>>= w = v >>> 24, p -= w, 0 == (w = v >>> 16 & 255)) E[a++] = 65535 & v; else { if (!(16 & w)) { if (0 == (64 & w)) { v = m[(65535 & v) + (d & (1 << w) - 1)]; continue t; } if (32 & w) { r.mode = 12; break e; } e.msg = "invalid literal/length code", r.mode = 30; break e; } y = 65535 & v, (w &= 15) && (w > p && (d += z[n++] << p, p += 8), y += d & (1 << w) - 1, d >>>= w, p -= w), 15 > p && (d += z[n++] << p, p += 8, d += z[n++] << p, p += 8), v = _[d & b]; r: for (;;) { if (d >>>= w = v >>> 24, p -= w, !(16 & (w = v >>> 16 & 255))) { if (0 == (64 & w)) { v = _[(65535 & v) + (d & (1 << w) - 1)]; continue r; } e.msg = "invalid distance code", r.mode = 30; break e; } if (k = 65535 & v, (w &= 15) > p && (d += z[n++] << p, w > (p += 8) && (d += z[n++] << p, p += 8)), (k += d & (1 << w) - 1) > u) { e.msg = "invalid distance too far back", r.mode = 30; break e; } if (d >>>= w, p -= w, k > (w = a - s)) { if ((w = k - w) > l && r.sane) { e.msg = "invalid distance too far back", r.mode = 30; break e; } if (x = 0, S = f, 0 === c) { if (x += h - w, y > w) { y -= w; do { E[a++] = f[x++]; } while (--w); x = a - k, S = E; } } else if (w > c) { if (x += h + c - w, y > (w -= c)) { y -= w; do { E[a++] = f[x++]; } while (--w); if (x = 0, y > c) { y -= w = c; do { E[a++] = f[x++]; } while (--w); x = a - k, S = E; } } } else if (x += c - w, y > w) { y -= w; do { E[a++] = f[x++]; } while (--w); x = a - k, S = E; } for (;y > 2; ) E[a++] = S[x++], E[a++] = S[x++], E[a++] = S[x++], y -= 3; y && (E[a++] = S[x++], y > 1 && (E[a++] = S[x++])); } else { x = a - k; do { E[a++] = E[x++], E[a++] = E[x++], E[a++] = E[x++], y -= 3; } while (y > 2); y && (E[a++] = E[x++], y > 1 && (E[a++] = E[x++])); } break; } } break; } } while (i > n && o > a); n -= y = p >> 3, d &= (1 << (p -= y << 3)) - 1, e.next_in = n, e.next_out = a, e.avail_in = i > n ? i - n + 5 : 5 - (n - i), e.avail_out = o > a ? o - a + 257 : 257 - (a - o), r.hold = d, r.bits = p; }; }, {} ], 70: [ function(e, t, r) { "use strict"; function n(e) { return (e >>> 24 & 255) + (e >>> 8 & 65280) + ((65280 & e) << 8) + ((255 & e) << 24); } function i() { this.mode = 0, this.last = !1, this.wrap = 0, this.havedict = !1, this.flags = 0, this.dmax = 0, this.check = 0, this.total = 0, this.head = null, this.wbits = 0, this.wsize = 0, this.whave = 0, this.wnext = 0, this.window = null, this.hold = 0, this.bits = 0, this.length = 0, this.offset = 0, this.extra = 0, this.lencode = null, this.distcode = null, this.lenbits = 0, this.distbits = 0, this.ncode = 0, this.nlen = 0, this.ndist = 0, this.have = 0, this.next = null, this.lens = new d.Buf16(320), this.work = new d.Buf16(288), this.lendyn = null, this.distdyn = null, this.sane = 0, this.back = 0, this.was = 0; } function a(e) { var t; return e && e.state ? (t = e.state, e.total_in = e.total_out = t.total = 0, e.msg = "", t.wrap && (e.adler = 1 & t.wrap), t.mode = k, t.last = 0, t.havedict = 0, t.dmax = 32768, t.head = null, t.hold = 0, t.bits = 0, t.lencode = t.lendyn = new d.Buf32(S), t.distcode = t.distdyn = new d.Buf32(z), t.sane = 1, t.back = -1, w) : y; } function s(e) { var t; return e && e.state ? ((t = e.state).wsize = 0, t.whave = 0, t.wnext = 0, a(e)) : y; } function o(e, t) { var r, n; return e && e.state ? (n = e.state, 0 > t ? (r = 0, t = -t) : (r = 1 + (t >> 4), 48 > t && (t &= 15)), t && (8 > t || t > 15) ? y : (null !== n.window && n.wbits !== t && (n.window = null), n.wrap = r, n.wbits = t, s(e))) : y; } function u(e, t) { var r, n; return e ? (n = new i(), e.state = n, n.window = null, (r = o(e, t)) !== w && (e.state = null), r) : y; } function h(e) { if (E) { var t; for (c = new d.Buf32(512), f = new d.Buf32(32), t = 0; 144 > t; ) e.lens[t++] = 8; for (;256 > t; ) e.lens[t++] = 9; for (;280 > t; ) e.lens[t++] = 7; for (;288 > t; ) e.lens[t++] = 8; for (g(b, e.lens, 0, 288, c, 0, e.work, { bits: 9 }), t = 0; 32 > t; ) e.lens[t++] = 5; g(v, e.lens, 0, 32, f, 0, e.work, { bits: 5 }), E = !1; } e.lencode = c, e.lenbits = 9, e.distcode = f, e.distbits = 5; } function l(e, t, r, n) { var i, a = e.state; return null === a.window && (a.wsize = 1 << a.wbits, a.wnext = 0, a.whave = 0, a.window = new d.Buf8(a.wsize)), n >= a.wsize ? (d.arraySet(a.window, t, r - a.wsize, a.wsize, 0), a.wnext = 0, a.whave = a.wsize) : ((i = a.wsize - a.wnext) > n && (i = n), d.arraySet(a.window, t, r - n, i, a.wnext), (n -= i) ? (d.arraySet(a.window, t, r - n, n, 0), a.wnext = n, a.whave = a.wsize) : (a.wnext += i, a.wnext === a.wsize && (a.wnext = 0), a.whave < a.wsize && (a.whave += i))), 0; } var c, f, d = e("../utils/common"), p = e("./adler32"), m = e("./crc32"), _ = e("./inffast"), g = e("./inftrees"), b = 1, v = 2, w = 0, y = -2, k = 1, x = 12, S = 852, z = 592, E = !0; r.inflateReset = s, r.inflateReset2 = o, r.inflateResetKeep = a, r.inflateInit = function(e) { return u(e, 15); }, r.inflateInit2 = u, r.inflate = function(e, t) { var r, i, a, s, o, u, c, f, S, z, E, C, A, I, O, B, R, T, D, F, N, P, U, L, j = 0, Z = new d.Buf8(4), W = [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ]; if (!e || !e.state || !e.output || !e.input && 0 !== e.avail_in) return y; (r = e.state).mode === x && (r.mode = 13), o = e.next_out, a = e.output, c = e.avail_out, s = e.next_in, i = e.input, u = e.avail_in, f = r.hold, S = r.bits, z = u, E = c, P = w; e: for (;;) switch (r.mode) { case k: if (0 === r.wrap) { r.mode = 13; break; } for (;16 > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } if (2 & r.wrap && 35615 === f) { r.check = 0, Z[0] = 255 & f, Z[1] = f >>> 8 & 255, r.check = m(r.check, Z, 2, 0), f = 0, S = 0, r.mode = 2; break; } if (r.flags = 0, r.head && (r.head.done = !1), !(1 & r.wrap) || (((255 & f) << 8) + (f >> 8)) % 31) { e.msg = "incorrect header check", r.mode = 30; break; } if (8 != (15 & f)) { e.msg = "unknown compression method", r.mode = 30; break; } if (S -= 4, N = 8 + (15 & (f >>>= 4)), 0 === r.wbits) r.wbits = N; else if (N > r.wbits) { e.msg = "invalid window size", r.mode = 30; break; } r.dmax = 1 << N, e.adler = r.check = 1, r.mode = 512 & f ? 10 : x, f = 0, S = 0; break; case 2: for (;16 > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } if (r.flags = f, 8 != (255 & r.flags)) { e.msg = "unknown compression method", r.mode = 30; break; } if (57344 & r.flags) { e.msg = "unknown header flags set", r.mode = 30; break; } r.head && (r.head.text = f >> 8 & 1), 512 & r.flags && (Z[0] = 255 & f, Z[1] = f >>> 8 & 255, r.check = m(r.check, Z, 2, 0)), f = 0, S = 0, r.mode = 3; case 3: for (;32 > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } r.head && (r.head.time = f), 512 & r.flags && (Z[0] = 255 & f, Z[1] = f >>> 8 & 255, Z[2] = f >>> 16 & 255, Z[3] = f >>> 24 & 255, r.check = m(r.check, Z, 4, 0)), f = 0, S = 0, r.mode = 4; case 4: for (;16 > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } r.head && (r.head.xflags = 255 & f, r.head.os = f >> 8), 512 & r.flags && (Z[0] = 255 & f, Z[1] = f >>> 8 & 255, r.check = m(r.check, Z, 2, 0)), f = 0, S = 0, r.mode = 5; case 5: if (1024 & r.flags) { for (;16 > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } r.length = f, r.head && (r.head.extra_len = f), 512 & r.flags && (Z[0] = 255 & f, Z[1] = f >>> 8 & 255, r.check = m(r.check, Z, 2, 0)), f = 0, S = 0; } else r.head && (r.head.extra = null); r.mode = 6; case 6: if (1024 & r.flags && ((C = r.length) > u && (C = u), C && (r.head && (N = r.head.extra_len - r.length, r.head.extra || (r.head.extra = new Array(r.head.extra_len)), d.arraySet(r.head.extra, i, s, C, N)), 512 & r.flags && (r.check = m(r.check, i, C, s)), u -= C, s += C, r.length -= C), r.length)) break e; r.length = 0, r.mode = 7; case 7: if (2048 & r.flags) { if (0 === u) break e; C = 0; do { N = i[s + C++], r.head && N && r.length < 65536 && (r.head.name += String.fromCharCode(N)); } while (N && u > C); if (512 & r.flags && (r.check = m(r.check, i, C, s)), u -= C, s += C, N) break e; } else r.head && (r.head.name = null); r.length = 0, r.mode = 8; case 8: if (4096 & r.flags) { if (0 === u) break e; C = 0; do { N = i[s + C++], r.head && N && r.length < 65536 && (r.head.comment += String.fromCharCode(N)); } while (N && u > C); if (512 & r.flags && (r.check = m(r.check, i, C, s)), u -= C, s += C, N) break e; } else r.head && (r.head.comment = null); r.mode = 9; case 9: if (512 & r.flags) { for (;16 > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } if (f !== (65535 & r.check)) { e.msg = "header crc mismatch", r.mode = 30; break; } f = 0, S = 0; } r.head && (r.head.hcrc = r.flags >> 9 & 1, r.head.done = !0), e.adler = r.check = 0, r.mode = x; break; case 10: for (;32 > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } e.adler = r.check = n(f), f = 0, S = 0, r.mode = 11; case 11: if (0 === r.havedict) return e.next_out = o, e.avail_out = c, e.next_in = s, e.avail_in = u, r.hold = f, r.bits = S, 2; e.adler = r.check = 1, r.mode = x; case x: if (5 === t || 6 === t) break e; case 13: if (r.last) { f >>>= 7 & S, S -= 7 & S, r.mode = 27; break; } for (;3 > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } switch (r.last = 1 & f, S -= 1, 3 & (f >>>= 1)) { case 0: r.mode = 14; break; case 1: if (h(r), r.mode = 20, 6 === t) { f >>>= 2, S -= 2; break e; } break; case 2: r.mode = 17; break; case 3: e.msg = "invalid block type", r.mode = 30; } f >>>= 2, S -= 2; break; case 14: for (f >>>= 7 & S, S -= 7 & S; 32 > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } if ((65535 & f) != (f >>> 16 ^ 65535)) { e.msg = "invalid stored block lengths", r.mode = 30; break; } if (r.length = 65535 & f, f = 0, S = 0, r.mode = 15, 6 === t) break e; case 15: r.mode = 16; case 16: if (C = r.length) { if (C > u && (C = u), C > c && (C = c), 0 === C) break e; d.arraySet(a, i, s, C, o), u -= C, s += C, c -= C, o += C, r.length -= C; break; } r.mode = x; break; case 17: for (;14 > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } if (r.nlen = 257 + (31 & f), f >>>= 5, S -= 5, r.ndist = 1 + (31 & f), f >>>= 5, S -= 5, r.ncode = 4 + (15 & f), f >>>= 4, S -= 4, r.nlen > 286 || r.ndist > 30) { e.msg = "too many length or distance symbols", r.mode = 30; break; } r.have = 0, r.mode = 18; case 18: for (;r.have < r.ncode; ) { for (;3 > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } r.lens[W[r.have++]] = 7 & f, f >>>= 3, S -= 3; } for (;r.have < 19; ) r.lens[W[r.have++]] = 0; if (r.lencode = r.lendyn, r.lenbits = 7, U = { bits: r.lenbits }, P = g(0, r.lens, 0, 19, r.lencode, 0, r.work, U), r.lenbits = U.bits, P) { e.msg = "invalid code lengths set", r.mode = 30; break; } r.have = 0, r.mode = 19; case 19: for (;r.have < r.nlen + r.ndist; ) { for (;B = (j = r.lencode[f & (1 << r.lenbits) - 1]) >>> 16 & 255, R = 65535 & j, !(S >= (O = j >>> 24)); ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } if (16 > R) f >>>= O, S -= O, r.lens[r.have++] = R; else { if (16 === R) { for (L = O + 2; L > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } if (f >>>= O, S -= O, 0 === r.have) { e.msg = "invalid bit length repeat", r.mode = 30; break; } N = r.lens[r.have - 1], C = 3 + (3 & f), f >>>= 2, S -= 2; } else if (17 === R) { for (L = O + 3; L > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } S -= O, N = 0, C = 3 + (7 & (f >>>= O)), f >>>= 3, S -= 3; } else { for (L = O + 7; L > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } S -= O, N = 0, C = 11 + (127 & (f >>>= O)), f >>>= 7, S -= 7; } if (r.have + C > r.nlen + r.ndist) { e.msg = "invalid bit length repeat", r.mode = 30; break; } for (;C--; ) r.lens[r.have++] = N; } } if (30 === r.mode) break; if (0 === r.lens[256]) { e.msg = "invalid code -- missing end-of-block", r.mode = 30; break; } if (r.lenbits = 9, U = { bits: r.lenbits }, P = g(b, r.lens, 0, r.nlen, r.lencode, 0, r.work, U), r.lenbits = U.bits, P) { e.msg = "invalid literal/lengths set", r.mode = 30; break; } if (r.distbits = 6, r.distcode = r.distdyn, U = { bits: r.distbits }, P = g(v, r.lens, r.nlen, r.ndist, r.distcode, 0, r.work, U), r.distbits = U.bits, P) { e.msg = "invalid distances set", r.mode = 30; break; } if (r.mode = 20, 6 === t) break e; case 20: r.mode = 21; case 21: if (u >= 6 && c >= 258) { e.next_out = o, e.avail_out = c, e.next_in = s, e.avail_in = u, r.hold = f, r.bits = S, _(e, E), o = e.next_out, a = e.output, c = e.avail_out, s = e.next_in, i = e.input, u = e.avail_in, f = r.hold, S = r.bits, r.mode === x && (r.back = -1); break; } for (r.back = 0; B = (j = r.lencode[f & (1 << r.lenbits) - 1]) >>> 16 & 255, R = 65535 & j, !(S >= (O = j >>> 24)); ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } if (B && 0 == (240 & B)) { for (T = O, D = B, F = R; B = (j = r.lencode[F + ((f & (1 << T + D) - 1) >> T)]) >>> 16 & 255, R = 65535 & j, !(S >= T + (O = j >>> 24)); ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } f >>>= T, S -= T, r.back += T; } if (f >>>= O, S -= O, r.back += O, r.length = R, 0 === B) { r.mode = 26; break; } if (32 & B) { r.back = -1, r.mode = x; break; } if (64 & B) { e.msg = "invalid literal/length code", r.mode = 30; break; } r.extra = 15 & B, r.mode = 22; case 22: if (r.extra) { for (L = r.extra; L > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } r.length += f & (1 << r.extra) - 1, f >>>= r.extra, S -= r.extra, r.back += r.extra; } r.was = r.length, r.mode = 23; case 23: for (;B = (j = r.distcode[f & (1 << r.distbits) - 1]) >>> 16 & 255, R = 65535 & j, !(S >= (O = j >>> 24)); ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } if (0 == (240 & B)) { for (T = O, D = B, F = R; B = (j = r.distcode[F + ((f & (1 << T + D) - 1) >> T)]) >>> 16 & 255, R = 65535 & j, !(S >= T + (O = j >>> 24)); ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } f >>>= T, S -= T, r.back += T; } if (f >>>= O, S -= O, r.back += O, 64 & B) { e.msg = "invalid distance code", r.mode = 30; break; } r.offset = R, r.extra = 15 & B, r.mode = 24; case 24: if (r.extra) { for (L = r.extra; L > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } r.offset += f & (1 << r.extra) - 1, f >>>= r.extra, S -= r.extra, r.back += r.extra; } if (r.offset > r.dmax) { e.msg = "invalid distance too far back", r.mode = 30; break; } r.mode = 25; case 25: if (0 === c) break e; if (C = E - c, r.offset > C) { if ((C = r.offset - C) > r.whave && r.sane) { e.msg = "invalid distance too far back", r.mode = 30; break; } C > r.wnext ? (C -= r.wnext, A = r.wsize - C) : A = r.wnext - C, C > r.length && (C = r.length), I = r.window; } else I = a, A = o - r.offset, C = r.length; C > c && (C = c), c -= C, r.length -= C; do { a[o++] = I[A++]; } while (--C); 0 === r.length && (r.mode = 21); break; case 26: if (0 === c) break e; a[o++] = r.length, c--, r.mode = 21; break; case 27: if (r.wrap) { for (;32 > S; ) { if (0 === u) break e; u--, f |= i[s++] << S, S += 8; } if (E -= c, e.total_out += E, r.total += E, E && (e.adler = r.check = r.flags ? m(r.check, a, E, o - E) : p(r.check, a, E, o - E)), E = c, (r.flags ? f : n(f)) !== r.check) { e.msg = "incorrect data check", r.mode = 30; break; } f = 0, S = 0; } r.mode = 28; case 28: if (r.wrap && r.flags) { for (;32 > S; ) { if (0 === u) break e; u--, f += i[s++] << S, S += 8; } if (f !== (4294967295 & r.total)) { e.msg = "incorrect length check", r.mode = 30; break; } f = 0, S = 0; } r.mode = 29; case 29: P = 1; break e; case 30: P = -3; break e; case 31: return -4; case 32: default: return y; } return e.next_out = o, e.avail_out = c, e.next_in = s, e.avail_in = u, r.hold = f, r.bits = S, (r.wsize || E !== e.avail_out && r.mode < 30 && (r.mode < 27 || 4 !== t)) && l(e, e.output, e.next_out, E - e.avail_out) ? (r.mode = 31, -4) : (z -= e.avail_in, E -= e.avail_out, e.total_in += z, e.total_out += E, r.total += E, r.wrap && E && (e.adler = r.check = r.flags ? m(r.check, a, E, e.next_out - E) : p(r.check, a, E, e.next_out - E)), e.data_type = r.bits + (r.last ? 64 : 0) + (r.mode === x ? 128 : 0) + (20 === r.mode || 15 === r.mode ? 256 : 0), (0 === z && 0 === E || 4 === t) && P === w && (P = -5), P); }, r.inflateEnd = function(e) { if (!e || !e.state) return y; var t = e.state; return t.window && (t.window = null), e.state = null, w; }, r.inflateGetHeader = function(e, t) { var r; return e && e.state ? 0 == (2 & (r = e.state).wrap) ? y : (r.head = t, t.done = !1, w) : y; }, r.inflateSetDictionary = function(e, t) { var r, n = t.length; return e && e.state ? 0 !== (r = e.state).wrap && 11 !== r.mode ? y : 11 === r.mode && p(1, t, n, 0) !== r.check ? -3 : l(e, t, n, n) ? (r.mode = 31, -4) : (r.havedict = 1, w) : y; }, r.inflateInfo = "pako inflate (from Nodeca project)"; }, { "../utils/common": 62, "./adler32": 64, "./crc32": 66, "./inffast": 69, "./inftrees": 71 } ], 71: [ function(e, t) { "use strict"; var r = e("../utils/common"), n = [ 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0 ], i = [ 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78 ], a = [ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577, 0, 0 ], s = [ 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 64, 64 ]; t.exports = function(e, t, o, u, h, l, c, f) { var d, p, m, _, g, b, v, w, y, k = f.bits, x = 0, S = 0, z = 0, E = 0, C = 0, A = 0, I = 0, O = 0, B = 0, R = 0, T = null, D = 0, F = new r.Buf16(16), N = new r.Buf16(16), P = null, U = 0; for (x = 0; 15 >= x; x++) F[x] = 0; for (S = 0; u > S; S++) F[t[o + S]]++; for (C = k, E = 15; E >= 1 && 0 === F[E]; E--) ; if (C > E && (C = E), 0 === E) return h[l++] = 20971520, h[l++] = 20971520, f.bits = 1, 0; for (z = 1; E > z && 0 === F[z]; z++) ; for (z > C && (C = z), O = 1, x = 1; 15 >= x; x++) if (O <<= 1, 0 > (O -= F[x])) return -1; if (O > 0 && (0 === e || 1 !== E)) return -1; for (N[1] = 0, x = 1; 15 > x; x++) N[x + 1] = N[x] + F[x]; for (S = 0; u > S; S++) 0 !== t[o + S] && (c[N[t[o + S]]++] = S); if (0 === e ? (T = P = c, b = 19) : 1 === e ? (T = n, D -= 257, P = i, U -= 257, b = 256) : (T = a, P = s, b = -1), R = 0, S = 0, x = z, g = l, A = C, I = 0, m = -1, _ = (B = 1 << C) - 1, 1 === e && B > 852 || 2 === e && B > 592) return 1; for (;;) { v = x - I, c[S] < b ? (w = 0, y = c[S]) : c[S] > b ? (w = P[U + c[S]], y = T[D + c[S]]) : (w = 96, y = 0), d = 1 << x - I, z = p = 1 << A; do { h[g + (R >> I) + (p -= d)] = v << 24 | w << 16 | y | 0; } while (0 !== p); for (d = 1 << x - 1; R & d; ) d >>= 1; if (0 !== d ? (R &= d - 1, R += d) : R = 0, S++, 0 == --F[x]) { if (x === E) break; x = t[o + c[S]]; } if (x > C && (R & _) !== m) { for (0 === I && (I = C), g += z, O = 1 << (A = x - I); E > A + I && !(0 >= (O -= F[A + I])); ) A++, O <<= 1; if (B += 1 << A, 1 === e && B > 852 || 2 === e && B > 592) return 1; h[m = R & _] = C << 24 | A << 16 | g - l | 0; } } return 0 !== R && (h[g + R] = x - I << 24 | 64 << 16 | 0), f.bits = C, 0; }; }, { "../utils/common": 62 } ], 72: [ function(e, t) { "use strict"; t.exports = { 2: "need dictionary", 1: "stream end", 0: "", "-1": "file error", "-2": "stream error", "-3": "data error", "-4": "insufficient memory", "-5": "buffer error", "-6": "incompatible version" }; }, {} ], 73: [ function(e, t, r) { "use strict"; function n(e) { for (var t = e.length; --t >= 0; ) e[t] = 0; } function i(e, t, r, n, i) { this.static_tree = e, this.extra_bits = t, this.extra_base = r, this.elems = n, this.max_length = i, this.has_stree = e && e.length; } function a(e, t) { this.dyn_tree = e, this.max_code = 0, this.stat_desc = t; } function s(e) { return 256 > e ? J[e] : J[256 + (e >>> 7)]; } function o(e, t) { e.pending_buf[e.pending++] = 255 & t, e.pending_buf[e.pending++] = t >>> 8 & 255; } function u(e, t, r) { e.bi_valid > L - r ? (e.bi_buf |= t << e.bi_valid & 65535, o(e, e.bi_buf), e.bi_buf = t >> L - e.bi_valid, e.bi_valid += r - L) : (e.bi_buf |= t << e.bi_valid & 65535, e.bi_valid += r); } function h(e, t, r) { u(e, r[2 * t], r[2 * t + 1]); } function l(e, t) { var r = 0; do { r |= 1 & e, e >>>= 1, r <<= 1; } while (--t > 0); return r >>> 1; } function c(e) { 16 === e.bi_valid ? (o(e, e.bi_buf), e.bi_buf = 0, e.bi_valid = 0) : e.bi_valid >= 8 && (e.pending_buf[e.pending++] = 255 & e.bi_buf, e.bi_buf >>= 8, e.bi_valid -= 8); } function f(e, t) { var r, n, i, a, s, o, u = t.dyn_tree, h = t.max_code, l = t.stat_desc.static_tree, c = t.stat_desc.has_stree, f = t.stat_desc.extra_bits, d = t.stat_desc.extra_base, p = t.stat_desc.max_length, m = 0; for (a = 0; U >= a; a++) e.bl_count[a] = 0; for (u[2 * e.heap[e.heap_max] + 1] = 0, r = e.heap_max + 1; P > r; r++) (a = u[2 * u[2 * (n = e.heap[r]) + 1] + 1] + 1) > p && (a = p, m++), u[2 * n + 1] = a, n > h || (e.bl_count[a]++, s = 0, n >= d && (s = f[n - d]), o = u[2 * n], e.opt_len += o * (a + s), c && (e.static_len += o * (l[2 * n + 1] + s))); if (0 !== m) { do { for (a = p - 1; 0 === e.bl_count[a]; ) a--; e.bl_count[a]--, e.bl_count[a + 1] += 2, e.bl_count[p]--, m -= 2; } while (m > 0); for (a = p; 0 !== a; a--) for (n = e.bl_count[a]; 0 !== n; ) (i = e.heap[--r]) > h || (u[2 * i + 1] !== a && (e.opt_len += (a - u[2 * i + 1]) * u[2 * i], u[2 * i + 1] = a), n--); } } function d(e, t, r) { var n, i, a = new Array(U + 1), s = 0; for (n = 1; U >= n; n++) a[n] = s = s + r[n - 1] << 1; for (i = 0; t >= i; i++) { var o = e[2 * i + 1]; 0 !== o && (e[2 * i] = l(a[o]++, o)); } } function p() { var e, t, r, n, a, s = new Array(U + 1); for (r = 0, n = 0; R - 1 > n; n++) for ($[n] = r, e = 0; e < 1 << G[n]; e++) Q[r++] = n; for (Q[r - 1] = n, a = 0, n = 0; 16 > n; n++) for (ee[n] = a, e = 0; e < 1 << K[n]; e++) J[a++] = n; for (a >>= 7; F > n; n++) for (ee[n] = a << 7, e = 0; e < 1 << K[n] - 7; e++) J[256 + a++] = n; for (t = 0; U >= t; t++) s[t] = 0; for (e = 0; 143 >= e; ) V[2 * e + 1] = 8, e++, s[8]++; for (;255 >= e; ) V[2 * e + 1] = 9, e++, s[9]++; for (;279 >= e; ) V[2 * e + 1] = 7, e++, s[7]++; for (;287 >= e; ) V[2 * e + 1] = 8, e++, s[8]++; for (d(V, D + 1, s), e = 0; F > e; e++) q[2 * e + 1] = 5, q[2 * e] = l(e, 5); te = new i(V, G, T + 1, D, U), re = new i(q, K, 0, F, U), ne = new i(new Array(0), Y, 0, N, j); } function m(e) { var t; for (t = 0; D > t; t++) e.dyn_ltree[2 * t] = 0; for (t = 0; F > t; t++) e.dyn_dtree[2 * t] = 0; for (t = 0; N > t; t++) e.bl_tree[2 * t] = 0; e.dyn_ltree[2 * Z] = 1, e.opt_len = e.static_len = 0, e.last_lit = e.matches = 0; } function _(e) { e.bi_valid > 8 ? o(e, e.bi_buf) : e.bi_valid > 0 && (e.pending_buf[e.pending++] = e.bi_buf), e.bi_buf = 0, e.bi_valid = 0; } function g(e, t, r, n) { _(e), n && (o(e, r), o(e, ~r)), A.arraySet(e.pending_buf, e.window, t, r, e.pending), e.pending += r; } function b(e, t, r, n) { var i = 2 * t, a = 2 * r; return e[i] < e[a] || e[i] === e[a] && n[t] <= n[r]; } function v(e, t, r) { for (var n = e.heap[r], i = r << 1; i <= e.heap_len && (i < e.heap_len && b(t, e.heap[i + 1], e.heap[i], e.depth) && i++, !b(t, n, e.heap[i], e.depth)); ) e.heap[r] = e.heap[i], r = i, i <<= 1; e.heap[r] = n; } function w(e, t, r) { var n, i, a, o, l = 0; if (0 !== e.last_lit) do { n = e.pending_buf[e.d_buf + 2 * l] << 8 | e.pending_buf[e.d_buf + 2 * l + 1], i = e.pending_buf[e.l_buf + l], l++, 0 === n ? h(e, i, t) : (h(e, (a = Q[i]) + T + 1, t), 0 !== (o = G[a]) && u(e, i -= $[a], o), h(e, a = s(--n), r), 0 !== (o = K[a]) && u(e, n -= ee[a], o)); } while (l < e.last_lit); h(e, Z, t); } function y(e, t) { var r, n, i, a = t.dyn_tree, s = t.stat_desc.static_tree, o = t.stat_desc.has_stree, u = t.stat_desc.elems, h = -1; for (e.heap_len = 0, e.heap_max = P, r = 0; u > r; r++) 0 !== a[2 * r] ? (e.heap[++e.heap_len] = h = r, e.depth[r] = 0) : a[2 * r + 1] = 0; for (;e.heap_len < 2; ) a[2 * (i = e.heap[++e.heap_len] = 2 > h ? ++h : 0)] = 1, e.depth[i] = 0, e.opt_len--, o && (e.static_len -= s[2 * i + 1]); for (t.max_code = h, r = e.heap_len >> 1; r >= 1; r--) v(e, a, r); i = u; do { r = e.heap[1], e.heap[1] = e.heap[e.heap_len--], v(e, a, 1), n = e.heap[1], e.heap[--e.heap_max] = r, e.heap[--e.heap_max] = n, a[2 * i] = a[2 * r] + a[2 * n], e.depth[i] = (e.depth[r] >= e.depth[n] ? e.depth[r] : e.depth[n]) + 1, a[2 * r + 1] = a[2 * n + 1] = i, e.heap[1] = i++, v(e, a, 1); } while (e.heap_len >= 2); e.heap[--e.heap_max] = e.heap[1], f(e, t), d(a, h, e.bl_count); } function k(e, t, r) { var n, i, a = -1, s = t[1], o = 0, u = 7, h = 4; for (0 === s && (u = 138, h = 3), t[2 * (r + 1) + 1] = 65535, n = 0; r >= n; n++) i = s, s = t[2 * (n + 1) + 1], ++o < u && i === s || (h > o ? e.bl_tree[2 * i] += o : 0 !== i ? (i !== a && e.bl_tree[2 * i]++, e.bl_tree[2 * W]++) : 10 >= o ? e.bl_tree[2 * M]++ : e.bl_tree[2 * H]++, o = 0, a = i, 0 === s ? (u = 138, h = 3) : i === s ? (u = 6, h = 3) : (u = 7, h = 4)); } function x(e, t, r) { var n, i, a = -1, s = t[1], o = 0, l = 7, c = 4; for (0 === s && (l = 138, c = 3), n = 0; r >= n; n++) if (i = s, s = t[2 * (n + 1) + 1], !(++o < l && i === s)) { if (c > o) do { h(e, i, e.bl_tree); } while (0 != --o); else 0 !== i ? (i !== a && (h(e, i, e.bl_tree), o--), h(e, W, e.bl_tree), u(e, o - 3, 2)) : 10 >= o ? (h(e, M, e.bl_tree), u(e, o - 3, 3)) : (h(e, H, e.bl_tree), u(e, o - 11, 7)); o = 0, a = i, 0 === s ? (l = 138, c = 3) : i === s ? (l = 6, c = 3) : (l = 7, c = 4); } } function S(e) { var t; for (k(e, e.dyn_ltree, e.l_desc.max_code), k(e, e.dyn_dtree, e.d_desc.max_code), y(e, e.bl_desc), t = N - 1; t >= 3 && 0 === e.bl_tree[2 * X[t] + 1]; t--) ; return e.opt_len += 14 + 3 * (t + 1), t; } function z(e, t, r, n) { var i; for (u(e, t - 257, 5), u(e, r - 1, 5), u(e, n - 4, 4), i = 0; n > i; i++) u(e, e.bl_tree[2 * X[i] + 1], 3); x(e, e.dyn_ltree, t - 1), x(e, e.dyn_dtree, r - 1); } function E(e) { var t, r = 4093624447; for (t = 0; 31 >= t; t++, r >>>= 1) if (1 & r && 0 !== e.dyn_ltree[2 * t]) return I; if (0 !== e.dyn_ltree[18] || 0 !== e.dyn_ltree[20] || 0 !== e.dyn_ltree[26]) return O; for (t = 32; T > t; t++) if (0 !== e.dyn_ltree[2 * t]) return O; return I; } function C(e, t, r, n) { u(e, (B << 1) + (n ? 1 : 0), 3), g(e, t, r, !0); } var A = e("../utils/common"), I = 0, O = 1, B = 0, R = 29, T = 256, D = T + 1 + R, F = 30, N = 19, P = 2 * D + 1, U = 15, L = 16, j = 7, Z = 256, W = 16, M = 17, H = 18, G = [ 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0 ], K = [ 0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13 ], Y = [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7 ], X = [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ], V = new Array(2 * (D + 2)); n(V); var q = new Array(2 * F); n(q); var J = new Array(512); n(J); var Q = new Array(256); n(Q); var $ = new Array(R); n($); var ee = new Array(F); n(ee); var te, re, ne, ie = !1; r._tr_init = function(e) { ie || (p(), ie = !0), e.l_desc = new a(e.dyn_ltree, te), e.d_desc = new a(e.dyn_dtree, re), e.bl_desc = new a(e.bl_tree, ne), e.bi_buf = 0, e.bi_valid = 0, m(e); }, r._tr_stored_block = C, r._tr_flush_block = function(e, t, r, n) { var i, a, s = 0; e.level > 0 ? (2 === e.strm.data_type && (e.strm.data_type = E(e)), y(e, e.l_desc), y(e, e.d_desc), s = S(e), (i = e.opt_len + 3 + 7 >>> 3) >= (a = e.static_len + 3 + 7 >>> 3) && (i = a)) : i = a = r + 5, i >= r + 4 && -1 !== t ? C(e, t, r, n) : 4 === e.strategy || a === i ? (u(e, 2 + (n ? 1 : 0), 3), w(e, V, q)) : (u(e, 4 + (n ? 1 : 0), 3), z(e, e.l_desc.max_code + 1, e.d_desc.max_code + 1, s + 1), w(e, e.dyn_ltree, e.dyn_dtree)), m(e), n && _(e); }, r._tr_tally = function(e, t, r) { return e.pending_buf[e.d_buf + 2 * e.last_lit] = t >>> 8 & 255, e.pending_buf[e.d_buf + 2 * e.last_lit + 1] = 255 & t, e.pending_buf[e.l_buf + e.last_lit] = 255 & r, e.last_lit++, 0 === t ? e.dyn_ltree[2 * r]++ : (e.matches++, t--, e.dyn_ltree[2 * (Q[r] + T + 1)]++, e.dyn_dtree[2 * s(t)]++), e.last_lit === e.lit_bufsize - 1; }, r._tr_align = function(e) { u(e, 2, 3), h(e, Z, V), c(e); }; }, { "../utils/common": 62 } ], 74: [ function(e, t) { "use strict"; t.exports = function() { this.input = null, this.next_in = 0, this.avail_in = 0, this.total_in = 0, this.output = null, this.next_out = 0, this.avail_out = 0, this.total_out = 0, this.msg = "", this.state = null, this.data_type = 2, this.adler = 0; }; }, {} ] }, {}, [ 10 ])(10); }); var saveAs = saveAs || function(e) { "use strict"; if (!("undefined" == typeof e || "undefined" != typeof navigator && /MSIE [1-9]\./.test(navigator.userAgent))) { var t = e.document, r = function() { return e.URL || e.webkitURL || e; }, n = t.createElementNS("http://www.w3.org/1999/xhtml", "a"), i = "download" in n, a = function(e) { var t = new MouseEvent("click"); e.dispatchEvent(t); }, s = /constructor/i.test(e.HTMLElement) || e.safari, o = /CriOS\/[\d]+/.test(navigator.userAgent), u = e.setImmediate || e.setTimeout, h = function(e) { u(function() { throw e; }, 0); }, l = function(e) { setTimeout(function() { "string" == typeof e ? r().revokeObjectURL(e) : e.remove(); }, 4e4); }, c = function(e, t, r) { for (var n = (t = [].concat(t)).length; n--; ) { var i = e["on" + t[n]]; if ("function" == typeof i) try { i.call(e, r || e); } catch (e) { h(e); } } }, f = function(e) { return /^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type) ? new Blob([ String.fromCharCode(65279), e ], { type: e.type }) : e; }, d = function(t, h, d) { d || (t = f(t)); var p, m = this, _ = "application/octet-stream" === t.type, g = function() { c(m, "writestart progress write writeend".split(" ")); }; return m.readyState = m.INIT, i ? (p = r().createObjectURL(t), void u(function() { n.href = p, n.download = h, a(n), g(), l(p), m.readyState = m.DONE; }, 0)) : void function() { if ((o || _ && s) && e.FileReader) { var n = new FileReader(); return n.onloadend = function() { var t = o ? n.result : n.result.replace(/^data:[^;]*;/, "data:attachment/file;"); e.open(t, "_blank") || (e.location.href = t), t = void 0, m.readyState = m.DONE, g(); }, n.readAsDataURL(t), void (m.readyState = m.INIT); } p || (p = r().createObjectURL(t)), _ ? e.location.href = p : e.open(p, "_blank") || (e.location.href = p); m.readyState = m.DONE, g(), l(p); }(); }, p = d.prototype; return "undefined" != typeof navigator && navigator.msSaveOrOpenBlob ? function(e, t, r) { return t = t || e.name || "download", r || (e = f(e)), navigator.msSaveOrOpenBlob(e, t); } : (p.abort = function() {}, p.readyState = p.INIT = 0, p.WRITING = 1, p.DONE = 2, p.error = p.onwritestart = p.onprogress = p.onwrite = p.onabort = p.onerror = p.onwriteend = null, function(e, t, r) { return new d(e, t || e.name || "download", r); }); } }("undefined" != typeof self && self || "undefined" != typeof window && window || this);