From 4b656027d87170042c9f65a322380652ff3ba8f9 Mon Sep 17 00:00:00 2001 From: Jordi Baylina Date: Wed, 10 Feb 2021 09:53:04 +0100 Subject: [PATCH] dep rollup fixing --- build/cli.cjs | 1675 +++---------------- build/main.cjs | 1939 +++++----------------- build/snarkjs.js | 34 +- build/snarkjs.min.js | 2 +- package-lock.json | 3626 +++++++++++++++++++++++++++++++++++++++--- package.json | 6 +- 6 files changed, 4063 insertions(+), 3219 deletions(-) diff --git a/build/cli.cjs b/build/cli.cjs index 05cea05..b7caff1 100755 --- a/build/cli.cjs +++ b/build/cli.cjs @@ -3,11 +3,14 @@ 'use strict'; var fs = require('fs'); +var r1csfile = require('r1csfile'); +var fastFile = require('fastfile'); var ffjavascript = require('ffjavascript'); var path = require('path'); var Blake2b = require('blake2b-wasm'); var readline = require('readline'); var crypto = require('crypto'); +var binFileUtils = require('@iden3/binfileutils'); var circom_runtime = require('circom_runtime'); var Logger = require('logplease'); @@ -20,1175 +23,13 @@ var readline__default = /*#__PURE__*/_interopDefaultLegacy(readline); var crypto__default = /*#__PURE__*/_interopDefaultLegacy(crypto); var Logger__default = /*#__PURE__*/_interopDefaultLegacy(Logger); -const SUBARRAY_SIZE = 0x40000; - -const BigArrayHandler = { - get: function(obj, prop) { - if (!isNaN(prop)) { - return obj.getElement(prop); - } else return obj[prop]; - }, - set: function(obj, prop, value) { - if (!isNaN(prop)) { - return obj.setElement(prop, value); - } else { - obj[prop] = value; - return true; - } - } -}; - -class _BigArray { - constructor (initSize) { - this.length = initSize || 0; - this.arr = new Array(SUBARRAY_SIZE); - - for (let i=0; i= this.length) this.length = idx+1; - return true; - } - getKeys() { - const newA = new BigArray(); - for (let i=0; i { - self.pendingLoads.push({ - page: p, - resolve: resolve, - reject: reject - }); - }); - self.__statusPage("After Load request: ", p); - return P; - } - - __statusPage(s, p) { - const logEntry = []; - const self=this; - if (!self.logHistory) return; - logEntry.push("==" + s+ " " +p); - let S = ""; - for (let i=0; i " + self.history[p][i][j]); - } - } - } - - - - _triggerLoad() { - const self = this; - - if (self.reading) return; - if (self.pendingLoads.length==0) return; - - const pageIdxs = Object.keys(self.pages); - - const deletablePages = []; - for (let i=0; i0) && - ( (typeof self.pages[self.pendingLoads[0].page] != "undefined" ) - ||( (freePages>0) - ||(deletablePages.length>0)))) { - const load = self.pendingLoads.shift(); - if (typeof self.pages[load.page] != "undefined") { - self.pages[load.page].pendingOps ++; - const idx = deletablePages.indexOf(load.page); - if (idx>=0) deletablePages.splice(idx, 1); - if (self.pages[load.page].loading) { - self.pages[load.page].loading.push(load); - } else { - load.resolve(); - } - self.__statusPage("After Load (cached): ", load.page); - - } else { - if (freePages) { - freePages--; - } else { - const fp = deletablePages.shift(); - self.__statusPage("Before Unload: ", fp); - self.avBuffs.unshift(self.pages[fp]); - delete self.pages[fp]; - self.__statusPage("After Unload: ", fp); - } - - if (load.page>=self.totalPages) { - self.pages[load.page] = getNewPage(); - load.resolve(); - self.__statusPage("After Load (new): ", load.page); - } else { - self.reading = true; - self.pages[load.page] = getNewPage(); - self.pages[load.page].loading = [load]; - ops.push(self.fd.read(self.pages[load.page].buff, 0, self.pageSize, load.page*self.pageSize).then((res)=> { - self.pages[load.page].size = res.bytesRead; - const loading = self.pages[load.page].loading; - delete self.pages[load.page].loading; - for (let i=0; i { - load.reject(err); - })); - self.__statusPage("After Load (loading): ", load.page); - } - } - } - // if (ops.length>1) console.log(ops.length); - - Promise.all(ops).then( () => { - self.reading = false; - if (self.pendingLoads.length>0) setImmediate(self._triggerLoad.bind(self)); - self._tryClose(); - }); - - function getNewPage() { - if (self.avBuffs.length>0) { - const p = self.avBuffs.shift(); - p.dirty = false; - p.pendingOps = 1; - p.size =0; - return p; - } else { - return { - dirty: false, - buff: new Uint8Array(self.pageSize), - pendingOps: 1, - size: 0 - }; - } - } - - } - - - _triggerWrite() { - const self = this; - if (self.writing) return; - - const pageIdxs = Object.keys(self.pages); - - const ops = []; - - for (let i=0; i { - page.writing = false; - return; - }, (err) => { - console.log("ERROR Writing: "+err); - self.error = err; - self._tryClose(); - })); - } - } - - if (self.writing) { - Promise.all(ops).then( () => { - self.writing = false; - setImmediate(self._triggerWrite.bind(self)); - self._tryClose(); - if (self.pendingLoads.length>0) setImmediate(self._triggerLoad.bind(self)); - }); - } - } - - _getDirtyPage() { - for (let p in this.pages) { - if (this.pages[p].dirty) return p; - } - return -1; - } - - async write(buff, pos) { - if (buff.byteLength == 0) return; - const self = this; -/* - if (buff.byteLength > self.pageSize*self.maxPagesLoaded*0.8) { - const cacheSize = Math.floor(buff.byteLength * 1.1); - this.maxPagesLoaded = Math.floor( cacheSize / self.pageSize)+1; - } -*/ - if (typeof pos == "undefined") pos = self.pos; - self.pos = pos+buff.byteLength; - if (self.totalSize < pos + buff.byteLength) self.totalSize = pos + buff.byteLength; - if (self.pendingClose) - throw new Error("Writing a closing file"); - const firstPage = Math.floor(pos / self.pageSize); - const lastPage = Math.floor((pos + buff.byteLength -1) / self.pageSize); - - const pagePromises = []; - for (let i=firstPage; i<=lastPage; i++) pagePromises.push(self._loadPage(i)); - self._triggerLoad(); - - let p = firstPage; - let o = pos % self.pageSize; - let r = buff.byteLength; - while (r>0) { - await pagePromises[p-firstPage]; - const l = (o+r > self.pageSize) ? (self.pageSize -o) : r; - const srcView = buff.slice( buff.byteLength - r, buff.byteLength - r + l); - const dstView = new Uint8Array(self.pages[p].buff.buffer, o, l); - dstView.set(srcView); - self.pages[p].dirty = true; - self.pages[p].pendingOps --; - self.pages[p].size = Math.max(o+l, self.pages[p].size); - if (p>=self.totalPages) { - self.totalPages = p+1; - } - r = r-l; - p ++; - o = 0; - if (!self.writing) setImmediate(self._triggerWrite.bind(self)); - } - } - - async read(len, pos) { - const self = this; - let buff = new Uint8Array(len); - await self.readToBuffer(buff, 0, len, pos); - - return buff; - } - - async readToBuffer(buffDst, offset, len, pos) { - if (len == 0) { - return; - } - const self = this; - if (len > self.pageSize*self.maxPagesLoaded*0.8) { - const cacheSize = Math.floor(len * 1.1); - this.maxPagesLoaded = Math.floor( cacheSize / self.pageSize)+1; - } - if (typeof pos == "undefined") pos = self.pos; - self.pos = pos+len; - if (self.pendingClose) - throw new Error("Reading a closing file"); - const firstPage = Math.floor(pos / self.pageSize); - const lastPage = Math.floor((pos + len -1) / self.pageSize); - - const pagePromises = []; - for (let i=firstPage; i<=lastPage; i++) pagePromises.push(self._loadPage(i)); - - self._triggerLoad(); - - let p = firstPage; - let o = pos % self.pageSize; - // Remaining bytes to read - let r = pos + len > self.totalSize ? len - (pos + len - self.totalSize): len; - while (r>0) { - await pagePromises[p - firstPage]; - self.__statusPage("After Await (read): ", p); - - // bytes to copy from this page - const l = (o+r > self.pageSize) ? (self.pageSize -o) : r; - const srcView = new Uint8Array(self.pages[p].buff.buffer, self.pages[p].buff.byteOffset + o, l); - buffDst.set(srcView, offset+len-r); - self.pages[p].pendingOps --; - - self.__statusPage("After Op done: ", p); - - r = r-l; - p ++; - o = 0; - if (self.pendingLoads.length>0) setImmediate(self._triggerLoad.bind(self)); - } - - this.pos = pos + len; - - } - - - _tryClose() { - const self = this; - if (!self.pendingClose) return; - if (self.error) { - self.pendingCloseReject(self.error); - } - const p = self._getDirtyPage(); - if ((p>=0) || (self.writing) || (self.reading) || (self.pendingLoads.length>0)) return; - self.pendingClose(); - } - - close() { - const self = this; - if (self.pendingClose) - throw new Error("Closing the file twice"); - return new Promise((resolve, reject) => { - self.pendingClose = resolve; - self.pendingCloseReject = reject; - self._tryClose(); - }).then(()=> { - self.fd.close(); - }, (err) => { - self.fd.close(); - throw (err); - }); - } - - async discard() { - const self = this; - await self.close(); - await fs__default['default'].promises.unlink(this.fileName); - } - - async writeULE32(v, pos) { - const self = this; - const tmpBuff32 = new Uint8Array(4); - const tmpBuff32v = new DataView(tmpBuff32.buffer); - - tmpBuff32v.setUint32(0, v, true); - - await self.write(tmpBuff32, pos); - } - - async writeUBE32(v, pos) { - const self = this; - - const tmpBuff32 = new Uint8Array(4); - const tmpBuff32v = new DataView(tmpBuff32.buffer); - - tmpBuff32v.setUint32(0, v, false); - - await self.write(tmpBuff32, pos); - } - - - async writeULE64(v, pos) { - const self = this; - - const tmpBuff64 = new Uint8Array(8); - const tmpBuff64v = new DataView(tmpBuff64.buffer); - - tmpBuff64v.setUint32(0, v & 0xFFFFFFFF, true); - tmpBuff64v.setUint32(4, Math.floor(v / 0x100000000) , true); - - await self.write(tmpBuff64, pos); - } - - async readULE32(pos) { - const self = this; - const b = await self.read(4, pos); - - const view = new Uint32Array(b.buffer); - - return view[0]; - } - - async readUBE32(pos) { - const self = this; - const b = await self.read(4, pos); - - const view = new DataView(b.buffer); - - return view.getUint32(0, false); - } - - async readULE64(pos) { - const self = this; - const b = await self.read(8, pos); - - const view = new Uint32Array(b.buffer); - - return view[1] * 0x100000000 + view[0]; - } - -} - -function createNew(o) { - const initialSize = o.initialSize || 1<<20; - const fd = new MemFile(); - fd.o = o; - fd.o.data = new Uint8Array(initialSize); - fd.allocSize = initialSize; - fd.totalSize = 0; - fd.readOnly = false; - fd.pos = 0; - return fd; -} - -function readExisting(o) { - const fd = new MemFile(); - fd.o = o; - fd.allocSize = o.data.byteLength; - fd.totalSize = o.data.byteLength; - fd.readOnly = true; - fd.pos = 0; - return fd; -} - -const tmpBuff32 = new Uint8Array(4); -const tmpBuff32v = new DataView(tmpBuff32.buffer); -const tmpBuff64 = new Uint8Array(8); -const tmpBuff64v = new DataView(tmpBuff64.buffer); - -class MemFile { - - constructor() { - this.pageSize = 1 << 14; // for compatibility - } - - _resizeIfNeeded(newLen) { - if (newLen > this.allocSize) { - const newAllocSize = Math.max( - this.allocSize + (1 << 20), - Math.floor(this.allocSize * 1.1), - newLen - ); - const newData = new Uint8Array(newAllocSize); - newData.set(this.o.data); - this.o.data = newData; - this.allocSize = newAllocSize; - } - } - - async write(buff, pos) { - const self =this; - if (typeof pos == "undefined") pos = self.pos; - if (this.readOnly) throw new Error("Writing a read only file"); - - this._resizeIfNeeded(pos + buff.byteLength); - - this.o.data.set(buff.slice(), pos); - - if (pos + buff.byteLength > this.totalSize) this.totalSize = pos + buff.byteLength; - - this.pos = pos + buff.byteLength; - } - - async readToBuffer(buffDest, offset, len, pos) { - const self = this; - if (typeof pos == "undefined") pos = self.pos; - if (this.readOnly) { - if (pos + len > this.totalSize) throw new Error("Reading out of bounds"); - } - this._resizeIfNeeded(pos + len); - - const buffSrc = new Uint8Array(this.o.data.buffer, this.o.data.byteOffset + pos, len); - - buffDest.set(buffSrc, offset); - - this.pos = pos + len; - } - - async read(len, pos) { - const self = this; - - const buff = new Uint8Array(len); - await self.readToBuffer(buff, 0, len, pos); - - return buff; - } - - close() { - if (this.o.data.byteLength != this.totalSize) { - this.o.data = this.o.data.slice(0, this.totalSize); - } - } - - async discard() { - } - - - async writeULE32(v, pos) { - const self = this; - - tmpBuff32v.setUint32(0, v, true); - - await self.write(tmpBuff32, pos); - } - - async writeUBE32(v, pos) { - const self = this; - - tmpBuff32v.setUint32(0, v, false); - - await self.write(tmpBuff32, pos); - } - - - async writeULE64(v, pos) { - const self = this; - - tmpBuff64v.setUint32(0, v & 0xFFFFFFFF, true); - tmpBuff64v.setUint32(4, Math.floor(v / 0x100000000) , true); - - await self.write(tmpBuff64, pos); - } - - - async readULE32(pos) { - const self = this; - const b = await self.read(4, pos); - - const view = new Uint32Array(b.buffer); - - return view[0]; - } - - async readUBE32(pos) { - const self = this; - const b = await self.read(4, pos); - - const view = new DataView(b.buffer); - - return view.getUint32(0, false); - } - - async readULE64(pos) { - const self = this; - const b = await self.read(8, pos); - - const view = new Uint32Array(b.buffer); - - return view[1] * 0x100000000 + view[0]; - } - -} - -const PAGE_SIZE = 1<<22; - -function createNew$1(o) { - const initialSize = o.initialSize || 0; - const fd = new BigMemFile(); - fd.o = o; - const nPages = initialSize ? Math.floor((initialSize - 1) / PAGE_SIZE)+1 : 0; - fd.o.data = []; - for (let i=0; i0) { - const l = (o+r > PAGE_SIZE) ? (PAGE_SIZE -o) : r; - const srcView = buff.slice(buff.byteLength - r, buff.byteLength - r + l); - const dstView = new Uint8Array(self.o.data[p].buffer, o, l); - dstView.set(srcView); - r = r-l; - p ++; - o = 0; - } - - this.pos = pos + buff.byteLength; - } - - async readToBuffer(buffDst, offset, len, pos) { - const self = this; - if (typeof pos == "undefined") pos = self.pos; - if (this.readOnly) { - if (pos + len > this.totalSize) throw new Error("Reading out of bounds"); - } - this._resizeIfNeeded(pos + len); - - const firstPage = Math.floor(pos / PAGE_SIZE); - - let p = firstPage; - let o = pos % PAGE_SIZE; - // Remaining bytes to read - let r = len; - while (r>0) { - // bytes to copy from this page - const l = (o+r > PAGE_SIZE) ? (PAGE_SIZE -o) : r; - const srcView = new Uint8Array(self.o.data[p].buffer, o, l); - buffDst.set(srcView, offset+len-r); - r = r-l; - p ++; - o = 0; - } - - this.pos = pos + len; - } - - async read(len, pos) { - const self = this; - const buff = new Uint8Array(len); - - await self.readToBuffer(buff, 0, len, pos); - - return buff; - } - - close() { - } - - async discard() { - } - - - async writeULE32(v, pos) { - const self = this; - - tmpBuff32v$1.setUint32(0, v, true); - - await self.write(tmpBuff32$1, pos); - } - - async writeUBE32(v, pos) { - const self = this; - - tmpBuff32v$1.setUint32(0, v, false); - - await self.write(tmpBuff32$1, pos); - } - - - async writeULE64(v, pos) { - const self = this; - - tmpBuff64v$1.setUint32(0, v & 0xFFFFFFFF, true); - tmpBuff64v$1.setUint32(4, Math.floor(v / 0x100000000) , true); - - await self.write(tmpBuff64$1, pos); - } - - - async readULE32(pos) { - const self = this; - const b = await self.read(4, pos); - - const view = new Uint32Array(b.buffer); - - return view[0]; - } - - async readUBE32(pos) { - const self = this; - const b = await self.read(4, pos); - - const view = new DataView(b.buffer); - - return view.getUint32(0, false); - } - - async readULE64(pos) { - const self = this; - const b = await self.read(8, pos); - - const view = new Uint32Array(b.buffer); - - return view[1] * 0x100000000 + view[0]; - } - -} - -/* global fetch */ - -const DEFAULT_CACHE_SIZE = (1 << 16); -const DEFAULT_PAGE_SIZE = (1 << 13); - - -async function createOverride(o, b, c) { - if (typeof o === "string") { - o = { - type: "file", - fileName: o, - cacheSize: b || DEFAULT_CACHE_SIZE, - pageSize: c || DEFAULT_PAGE_SIZE - }; - } - if (o.type == "file") { - return await open(o.fileName, "w+", o.cacheSize, o.pageSize); - } else if (o.type == "mem") { - return createNew(o); - } else if (o.type == "bigMem") { - return createNew$1(o); - } else { - throw new Error("Invalid FastFile type: "+o.type); - } -} - -async function readExisting$2(o, b, c) { - if (o instanceof Uint8Array) { - o = { - type: "mem", - data: o - }; - } - if (process.browser) { - if (typeof o === "string") { - const buff = await fetch(o).then( function(res) { - return res.arrayBuffer(); - }).then(function (ab) { - return new Uint8Array(ab); - }); - o = { - type: "mem", - data: buff - }; - } - } else { - if (typeof o === "string") { - o = { - type: "file", - fileName: o, - cacheSize: b || DEFAULT_CACHE_SIZE, - pageSize: c || DEFAULT_PAGE_SIZE - }; - } - } - if (o.type == "file") { - return await open(o.fileName, "r", o.cacheSize, o.pageSize); - } else if (o.type == "mem") { - return await readExisting(o); - } else if (o.type == "bigMem") { - return await readExisting$1(o); - } else { - throw new Error("Invalid FastFile type: "+o.type); - } -} - -async function readBinFile(fileName, type, maxVersion, cacheSize, pageSize) { - - const fd = await readExisting$2(fileName, cacheSize, pageSize); - - const b = await fd.read(4); - let readedType = ""; - for (let i=0; i<4; i++) readedType += String.fromCharCode(b[i]); - - if (readedType != type) throw new Error(fileName + ": Invalid File format"); - - let v = await fd.readULE32(); - - if (v>maxVersion) throw new Error("Version not supported"); - - const nSections = await fd.readULE32(); - - // Scan sections - let sections = []; - for (let i=0; i1) throw new Error(fd.fileName +": Section Duplicated " +idSection); - - fd.pos = sections[idSection][0].p; - - fd.readingSection = sections[idSection][0]; -} - -async function endReadSection(fd, noCheck) { - if (typeof fd.readingSection === "undefined") throw new Error("Not reading a section"); - if (!noCheck) { - if (fd.pos-fd.readingSection.p != fd.readingSection.size) throw new Error("Invalid section size reading"); - } - delete fd.readingSection; -} - -async function writeBigInt(fd, n, n8, pos) { - const buff = new Uint8Array(n8); - ffjavascript.Scalar.toRprLE(buff, 0, n, n8); - await fd.write(buff, pos); -} - -async function readBigInt(fd, n8, pos) { - const buff = await fd.read(n8, pos); - return ffjavascript.Scalar.fromRprLE(buff, 0, n8); -} - -async function copySection(fdFrom, sections, fdTo, sectionId, size) { - if (typeof size === "undefined") { - size = sections[sectionId][0].size; - } - const chunkSize = fdFrom.pageSize; - await startReadUniqueSection(fdFrom, sections, sectionId); - await startWriteSection(fdTo, sectionId); - for (let p=0; p sections[idSection][0].size) { - throw new Error("Reading out of the range of the section"); - } - - let buff; - if (length < (1 << 30) ) { - buff = new Uint8Array(length); - } else { - buff = new ffjavascript.BigBuffer(length); - } - - await fd.readToBuffer(buff, 0, length, sections[idSection][0].p + offset); - return buff; -} - -async function sectionIsEqual(fd1, sections1, fd2, sections2, idSection) { - const MAX_BUFF_SIZE = fd1.pageSize * 16; - await startReadUniqueSection(fd1, sections1, idSection); - await startReadUniqueSection(fd2, sections2, idSection); - if (sections1[idSection][0].size != sections2[idSection][0].size) return false; - const totalBytes=sections1[idSection][0].size; - for (let i=0; i1<<20) { - constraints = new BigArray(); - } else { - constraints = []; - } - for (let i=0; i1<<20) { - map = new BigArray(); - } else { - map = []; - } - for (let i=0; i= this.length) this.length = idx+1; return true; } getKeys() { - const newA = new BigArray$1(); + const newA = new BigArray(); for (let i=0; i { - self.pendingLoads.push({ - page: p, - resolve: resolve, - reject: reject - }); - }); - self.__statusPage("After Load request: ", p); - return P; - } - - __statusPage(s, p) { - const logEntry = []; - const self=this; - if (!self.logHistory) return; - logEntry.push("==" + s+ " " +p); - let S = ""; - for (let i=0; i " + self.history[p][i][j]); - } - } - } - - - - _triggerLoad() { - const self = this; - - if (self.reading) return; - if (self.pendingLoads.length==0) return; - - const pageIdxs = Object.keys(self.pages); - - const deletablePages = []; - for (let i=0; i0) && - ( (typeof self.pages[self.pendingLoads[0].page] != "undefined" ) - ||( (freePages>0) - ||(deletablePages.length>0)))) { - const load = self.pendingLoads.shift(); - if (typeof self.pages[load.page] != "undefined") { - self.pages[load.page].pendingOps ++; - const idx = deletablePages.indexOf(load.page); - if (idx>=0) deletablePages.splice(idx, 1); - if (self.pages[load.page].loading) { - self.pages[load.page].loading.push(load); - } else { - load.resolve(); - } - self.__statusPage("After Load (cached): ", load.page); - - } else { - if (freePages) { - freePages--; - } else { - const fp = deletablePages.shift(); - self.__statusPage("Before Unload: ", fp); - self.avBuffs.unshift(self.pages[fp]); - delete self.pages[fp]; - self.__statusPage("After Unload: ", fp); - } - - if (load.page>=self.totalPages) { - self.pages[load.page] = getNewPage(); - load.resolve(); - self.__statusPage("After Load (new): ", load.page); - } else { - self.reading = true; - self.pages[load.page] = getNewPage(); - self.pages[load.page].loading = [load]; - ops.push(self.fd.read(self.pages[load.page].buff, 0, self.pageSize, load.page*self.pageSize).then((res)=> { - self.pages[load.page].size = res.bytesRead; - const loading = self.pages[load.page].loading; - delete self.pages[load.page].loading; - for (let i=0; i { - load.reject(err); - })); - self.__statusPage("After Load (loading): ", load.page); - } - } - } - // if (ops.length>1) console.log(ops.length); - - Promise.all(ops).then( () => { - self.reading = false; - if (self.pendingLoads.length>0) setImmediate(self._triggerLoad.bind(self)); - self._tryClose(); - }); - - function getNewPage() { - if (self.avBuffs.length>0) { - const p = self.avBuffs.shift(); - p.dirty = false; - p.pendingOps = 1; - p.size =0; - return p; - } else { - return { - dirty: false, - buff: new Uint8Array(self.pageSize), - pendingOps: 1, - size: 0 - }; - } - } - - } - - - _triggerWrite() { - const self = this; - if (self.writing) return; - - const pageIdxs = Object.keys(self.pages); - - const ops = []; - - for (let i=0; i { - page.writing = false; - return; - }, (err) => { - console.log("ERROR Writing: "+err); - self.error = err; - self._tryClose(); - })); - } - } - - if (self.writing) { - Promise.all(ops).then( () => { - self.writing = false; - setImmediate(self._triggerWrite.bind(self)); - self._tryClose(); - if (self.pendingLoads.length>0) setImmediate(self._triggerLoad.bind(self)); - }); - } - } - - _getDirtyPage() { - for (let p in this.pages) { - if (this.pages[p].dirty) return p; - } - return -1; - } - - async write(buff, pos) { - if (buff.byteLength == 0) return; - const self = this; -/* - if (buff.byteLength > self.pageSize*self.maxPagesLoaded*0.8) { - const cacheSize = Math.floor(buff.byteLength * 1.1); - this.maxPagesLoaded = Math.floor( cacheSize / self.pageSize)+1; - } -*/ - if (typeof pos == "undefined") pos = self.pos; - self.pos = pos+buff.byteLength; - if (self.totalSize < pos + buff.byteLength) self.totalSize = pos + buff.byteLength; - if (self.pendingClose) - throw new Error("Writing a closing file"); - const firstPage = Math.floor(pos / self.pageSize); - const lastPage = Math.floor((pos + buff.byteLength -1) / self.pageSize); - - const pagePromises = []; - for (let i=firstPage; i<=lastPage; i++) pagePromises.push(self._loadPage(i)); - self._triggerLoad(); - - let p = firstPage; - let o = pos % self.pageSize; - let r = buff.byteLength; - while (r>0) { - await pagePromises[p-firstPage]; - const l = (o+r > self.pageSize) ? (self.pageSize -o) : r; - const srcView = buff.slice( buff.byteLength - r, buff.byteLength - r + l); - const dstView = new Uint8Array(self.pages[p].buff.buffer, o, l); - dstView.set(srcView); - self.pages[p].dirty = true; - self.pages[p].pendingOps --; - self.pages[p].size = Math.max(o+l, self.pages[p].size); - if (p>=self.totalPages) { - self.totalPages = p+1; - } - r = r-l; - p ++; - o = 0; - if (!self.writing) setImmediate(self._triggerWrite.bind(self)); - } - } - - async read(len, pos) { - const self = this; - let buff = new Uint8Array(len); - await self.readToBuffer(buff, 0, len, pos); - - return buff; - } - - async readToBuffer(buffDst, offset, len, pos) { - if (len == 0) { - return; - } - const self = this; - if (len > self.pageSize*self.maxPagesLoaded*0.8) { - const cacheSize = Math.floor(len * 1.1); - this.maxPagesLoaded = Math.floor( cacheSize / self.pageSize)+1; - } - if (typeof pos == "undefined") pos = self.pos; - self.pos = pos+len; - if (self.pendingClose) - throw new Error("Reading a closing file"); - const firstPage = Math.floor(pos / self.pageSize); - const lastPage = Math.floor((pos + len -1) / self.pageSize); - - const pagePromises = []; - for (let i=firstPage; i<=lastPage; i++) pagePromises.push(self._loadPage(i)); - - self._triggerLoad(); - - let p = firstPage; - let o = pos % self.pageSize; - // Remaining bytes to read - let r = pos + len > self.totalSize ? len - (pos + len - self.totalSize): len; - while (r>0) { - await pagePromises[p - firstPage]; - self.__statusPage("After Await (read): ", p); - - // bytes to copy from this page - const l = (o+r > self.pageSize) ? (self.pageSize -o) : r; - const srcView = new Uint8Array(self.pages[p].buff.buffer, self.pages[p].buff.byteOffset + o, l); - buffDst.set(srcView, offset+len-r); - self.pages[p].pendingOps --; - - self.__statusPage("After Op done: ", p); - - r = r-l; - p ++; - o = 0; - if (self.pendingLoads.length>0) setImmediate(self._triggerLoad.bind(self)); - } - - this.pos = pos + len; - - } - - - _tryClose() { - const self = this; - if (!self.pendingClose) return; - if (self.error) { - self.pendingCloseReject(self.error); - } - const p = self._getDirtyPage(); - if ((p>=0) || (self.writing) || (self.reading) || (self.pendingLoads.length>0)) return; - self.pendingClose(); - } - - close() { - const self = this; - if (self.pendingClose) - throw new Error("Closing the file twice"); - return new Promise((resolve, reject) => { - self.pendingClose = resolve; - self.pendingCloseReject = reject; - self._tryClose(); - }).then(()=> { - self.fd.close(); - }, (err) => { - self.fd.close(); - throw (err); - }); - } - - async discard() { - const self = this; - await self.close(); - await fs__default['default'].promises.unlink(this.fileName); - } - - async writeULE32(v, pos) { - const self = this; - const tmpBuff32 = new Uint8Array(4); - const tmpBuff32v = new DataView(tmpBuff32.buffer); - - tmpBuff32v.setUint32(0, v, true); - - await self.write(tmpBuff32, pos); - } - - async writeUBE32(v, pos) { - const self = this; - - const tmpBuff32 = new Uint8Array(4); - const tmpBuff32v = new DataView(tmpBuff32.buffer); - - tmpBuff32v.setUint32(0, v, false); - - await self.write(tmpBuff32, pos); - } - - - async writeULE64(v, pos) { - const self = this; - - const tmpBuff64 = new Uint8Array(8); - const tmpBuff64v = new DataView(tmpBuff64.buffer); - - tmpBuff64v.setUint32(0, v & 0xFFFFFFFF, true); - tmpBuff64v.setUint32(4, Math.floor(v / 0x100000000) , true); - - await self.write(tmpBuff64, pos); - } - - async readULE32(pos) { - const self = this; - const b = await self.read(4, pos); - - const view = new Uint32Array(b.buffer); - - return view[0]; - } - - async readUBE32(pos) { - const self = this; - const b = await self.read(4, pos); - - const view = new DataView(b.buffer); - - return view.getUint32(0, false); - } - - async readULE64(pos) { - const self = this; - const b = await self.read(8, pos); - - const view = new Uint32Array(b.buffer); - - return view[1] * 0x100000000 + view[0]; - } - -} - -function createNew(o) { - const initialSize = o.initialSize || 1<<20; - const fd = new MemFile(); - fd.o = o; - fd.o.data = new Uint8Array(initialSize); - fd.allocSize = initialSize; - fd.totalSize = 0; - fd.readOnly = false; - fd.pos = 0; - return fd; -} - -function readExisting(o) { - const fd = new MemFile(); - fd.o = o; - fd.allocSize = o.data.byteLength; - fd.totalSize = o.data.byteLength; - fd.readOnly = true; - fd.pos = 0; - return fd; -} - -const tmpBuff32 = new Uint8Array(4); -const tmpBuff32v = new DataView(tmpBuff32.buffer); -const tmpBuff64 = new Uint8Array(8); -const tmpBuff64v = new DataView(tmpBuff64.buffer); - -class MemFile { - - constructor() { - this.pageSize = 1 << 14; // for compatibility - } - - _resizeIfNeeded(newLen) { - if (newLen > this.allocSize) { - const newAllocSize = Math.max( - this.allocSize + (1 << 20), - Math.floor(this.allocSize * 1.1), - newLen - ); - const newData = new Uint8Array(newAllocSize); - newData.set(this.o.data); - this.o.data = newData; - this.allocSize = newAllocSize; - } - } - - async write(buff, pos) { - const self =this; - if (typeof pos == "undefined") pos = self.pos; - if (this.readOnly) throw new Error("Writing a read only file"); - - this._resizeIfNeeded(pos + buff.byteLength); - - this.o.data.set(buff.slice(), pos); - - if (pos + buff.byteLength > this.totalSize) this.totalSize = pos + buff.byteLength; - - this.pos = pos + buff.byteLength; - } - - async readToBuffer(buffDest, offset, len, pos) { - const self = this; - if (typeof pos == "undefined") pos = self.pos; - if (this.readOnly) { - if (pos + len > this.totalSize) throw new Error("Reading out of bounds"); - } - this._resizeIfNeeded(pos + len); - - const buffSrc = new Uint8Array(this.o.data.buffer, this.o.data.byteOffset + pos, len); - - buffDest.set(buffSrc, offset); - - this.pos = pos + len; - } - - async read(len, pos) { - const self = this; - - const buff = new Uint8Array(len); - await self.readToBuffer(buff, 0, len, pos); - - return buff; - } - - close() { - if (this.o.data.byteLength != this.totalSize) { - this.o.data = this.o.data.slice(0, this.totalSize); - } - } - - async discard() { - } - - - async writeULE32(v, pos) { - const self = this; - - tmpBuff32v.setUint32(0, v, true); - - await self.write(tmpBuff32, pos); - } - - async writeUBE32(v, pos) { - const self = this; - - tmpBuff32v.setUint32(0, v, false); - - await self.write(tmpBuff32, pos); - } - - - async writeULE64(v, pos) { - const self = this; - - tmpBuff64v.setUint32(0, v & 0xFFFFFFFF, true); - tmpBuff64v.setUint32(4, Math.floor(v / 0x100000000) , true); - - await self.write(tmpBuff64, pos); - } - - - async readULE32(pos) { - const self = this; - const b = await self.read(4, pos); - - const view = new Uint32Array(b.buffer); - - return view[0]; - } - - async readUBE32(pos) { - const self = this; - const b = await self.read(4, pos); - - const view = new DataView(b.buffer); - - return view.getUint32(0, false); - } - - async readULE64(pos) { - const self = this; - const b = await self.read(8, pos); - - const view = new Uint32Array(b.buffer); - - return view[1] * 0x100000000 + view[0]; - } - -} - -const PAGE_SIZE = 1<<22; - -function createNew$1(o) { - const initialSize = o.initialSize || 0; - const fd = new BigMemFile(); - fd.o = o; - const nPages = initialSize ? Math.floor((initialSize - 1) / PAGE_SIZE)+1 : 0; - fd.o.data = []; - for (let i=0; i0) { - const l = (o+r > PAGE_SIZE) ? (PAGE_SIZE -o) : r; - const srcView = buff.slice(buff.byteLength - r, buff.byteLength - r + l); - const dstView = new Uint8Array(self.o.data[p].buffer, o, l); - dstView.set(srcView); - r = r-l; - p ++; - o = 0; - } - - this.pos = pos + buff.byteLength; - } - - async readToBuffer(buffDst, offset, len, pos) { - const self = this; - if (typeof pos == "undefined") pos = self.pos; - if (this.readOnly) { - if (pos + len > this.totalSize) throw new Error("Reading out of bounds"); - } - this._resizeIfNeeded(pos + len); - - const firstPage = Math.floor(pos / PAGE_SIZE); - - let p = firstPage; - let o = pos % PAGE_SIZE; - // Remaining bytes to read - let r = len; - while (r>0) { - // bytes to copy from this page - const l = (o+r > PAGE_SIZE) ? (PAGE_SIZE -o) : r; - const srcView = new Uint8Array(self.o.data[p].buffer, o, l); - buffDst.set(srcView, offset+len-r); - r = r-l; - p ++; - o = 0; - } - - this.pos = pos + len; - } - - async read(len, pos) { - const self = this; - const buff = new Uint8Array(len); - - await self.readToBuffer(buff, 0, len, pos); - - return buff; - } - - close() { - } - - async discard() { - } - - - async writeULE32(v, pos) { - const self = this; - - tmpBuff32v$1.setUint32(0, v, true); - - await self.write(tmpBuff32$1, pos); - } - - async writeUBE32(v, pos) { - const self = this; - - tmpBuff32v$1.setUint32(0, v, false); - - await self.write(tmpBuff32$1, pos); - } - - - async writeULE64(v, pos) { - const self = this; - - tmpBuff64v$1.setUint32(0, v & 0xFFFFFFFF, true); - tmpBuff64v$1.setUint32(4, Math.floor(v / 0x100000000) , true); - - await self.write(tmpBuff64$1, pos); - } - - - async readULE32(pos) { - const self = this; - const b = await self.read(4, pos); - - const view = new Uint32Array(b.buffer); - - return view[0]; - } - - async readUBE32(pos) { - const self = this; - const b = await self.read(4, pos); - - const view = new DataView(b.buffer); - - return view.getUint32(0, false); - } - - async readULE64(pos) { - const self = this; - const b = await self.read(8, pos); - - const view = new Uint32Array(b.buffer); - - return view[1] * 0x100000000 + view[0]; - } - -} - -/* global fetch */ - -const DEFAULT_CACHE_SIZE = (1 << 16); -const DEFAULT_PAGE_SIZE = (1 << 13); - - -async function createOverride(o, b, c) { - if (typeof o === "string") { - o = { - type: "file", - fileName: o, - cacheSize: b || DEFAULT_CACHE_SIZE, - pageSize: c || DEFAULT_PAGE_SIZE - }; - } - if (o.type == "file") { - return await open(o.fileName, "w+", o.cacheSize, o.pageSize); - } else if (o.type == "mem") { - return createNew(o); - } else if (o.type == "bigMem") { - return createNew$1(o); - } else { - throw new Error("Invalid FastFile type: "+o.type); - } -} - -async function readExisting$2(o, b, c) { - if (o instanceof Uint8Array) { - o = { - type: "mem", - data: o - }; - } - if (process.browser) { - if (typeof o === "string") { - const buff = await fetch(o).then( function(res) { - return res.arrayBuffer(); - }).then(function (ab) { - return new Uint8Array(ab); - }); - o = { - type: "mem", - data: buff - }; - } - } else { - if (typeof o === "string") { - o = { - type: "file", - fileName: o, - cacheSize: b || DEFAULT_CACHE_SIZE, - pageSize: c || DEFAULT_PAGE_SIZE - }; - } - } - if (o.type == "file") { - return await open(o.fileName, "r", o.cacheSize, o.pageSize); - } else if (o.type == "mem") { - return await readExisting(o); - } else if (o.type == "bigMem") { - return await readExisting$1(o); - } else { - throw new Error("Invalid FastFile type: "+o.type); - } -} - -async function readBinFile(fileName, type, maxVersion, cacheSize, pageSize) { - - const fd = await readExisting$2(fileName, cacheSize, pageSize); - - const b = await fd.read(4); - let readedType = ""; - for (let i=0; i<4; i++) readedType += String.fromCharCode(b[i]); - - if (readedType != type) throw new Error(fileName + ": Invalid File format"); - - let v = await fd.readULE32(); - - if (v>maxVersion) throw new Error("Version not supported"); - - const nSections = await fd.readULE32(); - - // Scan sections - let sections = []; - for (let i=0; i1) throw new Error(fd.fileName +": Section Duplicated " +idSection); - - fd.pos = sections[idSection][0].p; - - fd.readingSection = sections[idSection][0]; -} - -async function endReadSection(fd, noCheck) { - if (typeof fd.readingSection === "undefined") throw new Error("Not reading a section"); - if (!noCheck) { - if (fd.pos-fd.readingSection.p != fd.readingSection.size) throw new Error("Invalid section size reading"); - } - delete fd.readingSection; -} - -async function writeBigInt(fd, n, n8, pos) { - const buff = new Uint8Array(n8); - ffjavascript.Scalar.toRprLE(buff, 0, n, n8); - await fd.write(buff, pos); -} - -async function readBigInt(fd, n8, pos) { - const buff = await fd.read(n8, pos); - return ffjavascript.Scalar.fromRprLE(buff, 0, n8); -} - -async function copySection(fdFrom, sections, fdTo, sectionId, size) { - if (typeof size === "undefined") { - size = sections[sectionId][0].size; - } - const chunkSize = fdFrom.pageSize; - await startReadUniqueSection(fdFrom, sections, sectionId); - await startWriteSection(fdTo, sectionId); - for (let p=0; p sections[idSection][0].size) { - throw new Error("Reading out of the range of the section"); - } - - let buff; - if (length < (1 << 30) ) { - buff = new Uint8Array(length); - } else { - buff = new ffjavascript.BigBuffer(length); - } - - await fd.readToBuffer(buff, 0, length, sections[idSection][0].p + offset); - return buff; -} - -async function sectionIsEqual(fd1, sections1, fd2, sections2, idSection) { - const MAX_BUFF_SIZE = fd1.pageSize * 16; - await startReadUniqueSection(fd1, sections1, idSection); - await startReadUniqueSection(fd2, sections2, idSection); - if (sections1[idSection][0].size != sections2[idSection][0].size) return false; - const totalBytes=sections1[idSection][0].size; - for (let i=0; i { + res[k] = stringifyBigInts$1(Fr, o[k]); + }); + return res; + } else if ((typeof(o) == "bigint") || o.eq !== undefined) { + return o.toString(10); + } else { + return o; + } +} + + +async function r1csExportJson(r1csFileName, logger) { + + const cir = await r1csfile.readR1cs(r1csFileName, true, true, true, logger); + const Fr=cir.curve.Fr; + delete cir.curve; + + return stringifyBigInts$1(Fr, cir); +} + +var r1cs = /*#__PURE__*/Object.freeze({ + __proto__: null, + print: r1csPrint, + info: r1csInfo, + exportJson: r1csExportJson +}); + +async function loadSymbols(symFileName) { + const sym = { + labelIdx2Name: [ "one" ], + varIdx2Name: [ "one" ], + componentIdx2Name: [] + }; + const fd = await fastFile.readExisting(symFileName); + const buff = await fd.read(fd.totalSize); + const symsStr = new TextDecoder("utf-8").decode(buff); + const lines = symsStr.split("\n"); + for (let i=0; i " + value.toString()); + }; + } + if (options.trigger) { + if (!sym) sym = await loadSymbols(symName); + wcOps.logStartComponent= function(cIdx) { + if (logger) logger.info("START: " + sym.componentIdx2Name[cIdx]); + }; + wcOps.logFinishComponent= function(cIdx) { + if (logger) logger.info("FINISH: " + sym.componentIdx2Name[cIdx]); + }; + } + wcOps.sym = sym; + + const wc = await circom_runtime.WitnessCalculatorBuilder(wasm, wcOps); + const w = await wc.calculateWitness(input); + + const fdWtns = await binFileUtils.createBinFile(wtnsFileName, "wtns", 2, 2); + + await write(fdWtns, w, wc.prime); + + await fdWtns.close(); +} + +async function wtnsExportJson(wtnsFileName) { + + const w = await read(wtnsFileName); + + return w; +} + +var wtns = /*#__PURE__*/Object.freeze({ + __proto__: null, + calculate: wtnsCalculate, + debug: wtnsDebug, + exportJson: wtnsExportJson +}); + const SUBARRAY_SIZE = 0x40000; const BigArrayHandler = { @@ -4080,357 +3270,6 @@ class BigArray { } } -async function readR1csHeader(fd,sections,singleThread) { - - - const res = {}; - await startReadUniqueSection(fd, sections, 1); - // Read Header - res.n8 = await fd.readULE32(); - res.prime = await readBigInt(fd, res.n8); - - res.curve = await ffjavascript.getCurveFromR(res.prime, singleThread); - - res.nVars = await fd.readULE32(); - res.nOutputs = await fd.readULE32(); - res.nPubInputs = await fd.readULE32(); - res.nPrvInputs = await fd.readULE32(); - res.nLabels = await fd.readULE64(); - res.nConstraints = await fd.readULE32(); - await endReadSection(fd); - - return res; -} - -async function readConstraints(fd,sections, r1cs, logger, loggerCtx) { - const bR1cs = await readSection(fd, sections, 2); - let bR1csPos = 0; - let constraints; - if (r1cs.nConstraints>1<<20) { - constraints = new BigArray(); - } else { - constraints = []; - } - for (let i=0; i1<<20) { - map = new BigArray(); - } else { - map = []; - } - for (let i=0; i { - res[k] = stringifyBigInts$1(Fr, o[k]); - }); - return res; - } else if ((typeof(o) == "bigint") || o.eq !== undefined) { - return o.toString(10); - } else { - return o; - } -} - - -async function r1csExportJson(r1csFileName, logger) { - - const cir = await readR1cs(r1csFileName, true, true, true, logger); - const Fr=cir.curve.Fr; - delete cir.curve; - - return stringifyBigInts$1(Fr, cir); -} - -var r1cs = /*#__PURE__*/Object.freeze({ - __proto__: null, - print: r1csPrint, - info: r1csInfo, - exportJson: r1csExportJson -}); - -async function loadSymbols(symFileName) { - const sym = { - labelIdx2Name: [ "one" ], - varIdx2Name: [ "one" ], - componentIdx2Name: [] - }; - const fd = await readExisting$2(symFileName); - const buff = await fd.read(fd.totalSize); - const symsStr = new TextDecoder("utf-8").decode(buff); - const lines = symsStr.split("\n"); - for (let i=0; i " + value.toString()); - }; - } - if (options.trigger) { - if (!sym) sym = await loadSymbols(symName); - wcOps.logStartComponent= function(cIdx) { - if (logger) logger.info("START: " + sym.componentIdx2Name[cIdx]); - }; - wcOps.logFinishComponent= function(cIdx) { - if (logger) logger.info("FINISH: " + sym.componentIdx2Name[cIdx]); - }; - } - wcOps.sym = sym; - - const wc = await circom_runtime.WitnessCalculatorBuilder(wasm, wcOps); - const w = await wc.calculateWitness(input); - - const fdWtns = await createBinFile(wtnsFileName, "wtns", 2, 2); - - await write(fdWtns, w, wc.prime); - - await fdWtns.close(); -} - -async function wtnsExportJson(wtnsFileName) { - - const w = await read(wtnsFileName); - - return w; -} - -var wtns = /*#__PURE__*/Object.freeze({ - __proto__: null, - calculate: wtnsCalculate, - debug: wtnsDebug, - exportJson: wtnsExportJson -}); - -const SUBARRAY_SIZE$1 = 0x40000; - -const BigArrayHandler$1 = { - get: function(obj, prop) { - if (!isNaN(prop)) { - return obj.getElement(prop); - } else return obj[prop]; - }, - set: function(obj, prop, value) { - if (!isNaN(prop)) { - return obj.setElement(prop, value); - } else { - obj[prop] = value; - return true; - } - } -}; - -class _BigArray$1 { - constructor (initSize) { - this.length = initSize || 0; - this.arr = new Array(SUBARRAY_SIZE$1); - - for (let i=0; i= this.length) this.length = idx+1; - return true; - } - getKeys() { - const newA = new BigArray$1(); - for (let i=0; i>BigInt(I)}const t=Q,i=B;var E=Object.freeze({__proto__:null,fromString:g,e:C,fromArray:function(A,I){let g=0n;I=BigInt(I);for(let C=0;C>=1n}return g},bits:function(A){let I=BigInt(A);const g=[];for(;I;)1n&I?g.push(1):g.push(0),I>>=1n;return g},toNumber:function(A){if(A>BigInt(Number.MAX_SAFE_INTEGER))throw new Error("Number too big");return Number(A)},toArray:function(A,I){const g=[];let C=BigInt(A);for(I=BigInt(I);C;)g.unshift(Number(C%I)),C/=I;return g},add:function(A,I){return BigInt(A)+BigInt(I)},sub:function(A,I){return BigInt(A)-BigInt(I)},neg:function(A){return-BigInt(A)},mul:function(A,I){return BigInt(A)*BigInt(I)},square:function(A){return BigInt(A)*BigInt(A)},pow:function(A,I){return BigInt(A)**BigInt(I)},exp:function(A,I){return BigInt(A)**BigInt(I)},abs:function(A){return BigInt(A)>=0?BigInt(A):-BigInt(A)},div:function(A,I){return BigInt(A)/BigInt(I)},mod:function(A,I){return BigInt(A)%BigInt(I)},eq:function(A,I){return BigInt(A)==BigInt(I)},neq:function(A,I){return BigInt(A)!=BigInt(I)},lt:function(A,I){return BigInt(A)BigInt(I)},leq:function(A,I){return BigInt(A)<=BigInt(I)},geq:function(A,I){return BigInt(A)>=BigInt(I)},band:function(A,I){return BigInt(A)&BigInt(I)},bor:function(A,I){return BigInt(A)|BigInt(I)},bxor:function(A,I){return BigInt(A)^BigInt(I)},land:function(A,I){return BigInt(A)&&BigInt(I)},lor:function(A,I){return BigInt(A)||BigInt(I)},lnot:function(A){return!BigInt(A)}});function e(A){var I={exports:{}};return A(I,I.exports),I.exports}var n=e((function(A){var I=function(A){var g=1e7,C=9007199254740992,Q=o(C),B="0123456789abcdefghijklmnopqrstuvwxyz",t="function"==typeof BigInt;function i(A,I,g,C){return void 0===A?i[0]:void 0!==I&&(10!=+I||g)?Z(A,I,g,C):j(A)}function E(A,I){this.value=A,this.sign=I,this.isSmall=!1}function e(A){this.value=A,this.sign=A<0,this.isSmall=!0}function n(A){this.value=A}function a(A){return-C0?Math.floor(A):Math.ceil(A)}function f(A,I){var C,Q,B=A.length,t=I.length,i=new Array(B),E=0,e=g;for(Q=0;Q=e?1:0,i[Q]=C-E*e;for(;Q0&&i.push(E),i}function D(A,I){return A.length>=I.length?f(A,I):f(I,A)}function c(A,I){var C,Q,B=A.length,t=new Array(B),i=g;for(Q=0;Q0;)t[Q++]=I%i,I=Math.floor(I/i);return t}function y(A,I){var C,Q,B=A.length,t=I.length,i=new Array(B),E=0,e=g;for(C=0;C0;)t[Q++]=E%i,E=Math.floor(E/i);return t}function l(A,I){for(var g=[];I-- >0;)g.push(0);return g.concat(A)}function p(A,I){var g=Math.max(A.length,I.length);if(g<=30)return M(A,I);g=Math.ceil(g/2);var C=A.slice(g),Q=A.slice(0,g),B=I.slice(g),t=I.slice(0,g),i=p(Q,t),E=p(C,B),e=p(D(Q,C),D(t,B)),n=D(D(i,l(y(y(e,i),E),g)),l(E,2*g));return r(n),n}function H(A,I,C){return new E(A=0;--g)Q=(B=1e7*Q+A[g])-(C=s(B/I))*I,i[g]=0|C;return[i,0|Q]}function d(A,I){var C,Q=j(I);if(t)return[new n(A.value/Q.value),new n(A.value%Q.value)];var B,a=A.value,f=Q.value;if(0===f)throw new Error("Cannot divide by zero");if(A.isSmall)return Q.isSmall?[new e(s(a/f)),new e(a%f)]:[i[0],A];if(Q.isSmall){if(1===f)return[A,i[0]];if(-1==f)return[A.negate(),i[0]];var D=Math.abs(f);if(D=0;Q--){for(C=o-1,D[Q+a]!==s&&(C=Math.floor((D[Q+a]*o+D[Q+a-1])/s)),B=0,t=0,E=c.length,i=0;ie&&(B=(B+1)*o),C=Math.ceil(B/t);do{if(m(i=u(I,C),a)<=0)break;C--}while(C);n.push(C),a=y(a,i)}return n.reverse(),[h(n),h(a)]}(a,f))[0];var M=A.sign!==Q.sign,l=C[1],p=A.sign;return"number"==typeof B?(M&&(B=-B),B=new e(B)):B=new E(B,M),"number"==typeof l?(p&&(l=-l),l=new e(l)):l=new E(l,p),[B,l]}function m(A,I){if(A.length!==I.length)return A.length>I.length?1:-1;for(var g=A.length-1;g>=0;g--)if(A[g]!==I[g])return A[g]>I[g]?1:-1;return 0}function L(A){var I=A.abs();return!I.isUnit()&&(!!(I.equals(2)||I.equals(3)||I.equals(5))||!(I.isEven()||I.isDivisibleBy(3)||I.isDivisibleBy(5))&&(!!I.lesser(49)||void 0))}function J(A,g){for(var C,Q,B,t=A.prev(),i=t,E=0;i.isEven();)i=i.divide(2),E++;A:for(Q=0;Q=0?C=y(A,I):(C=y(I,A),g=!g),"number"==typeof(C=h(C))?(g&&(C=-C),new e(C)):new E(C,g)}(g,C,this.sign)},E.prototype.minus=E.prototype.subtract,e.prototype.subtract=function(A){var I=j(A),g=this.value;if(g<0!==I.sign)return this.add(I.negate());var C=I.value;return I.isSmall?new e(g-C):F(C,Math.abs(g),g>=0)},e.prototype.minus=e.prototype.subtract,n.prototype.subtract=function(A){return new n(this.value-j(A).value)},n.prototype.minus=n.prototype.subtract,E.prototype.negate=function(){return new E(this.value,!this.sign)},e.prototype.negate=function(){var A=this.sign,I=new e(-this.value);return I.sign=!A,I},n.prototype.negate=function(){return new n(-this.value)},E.prototype.abs=function(){return new E(this.value,!1)},e.prototype.abs=function(){return new e(Math.abs(this.value))},n.prototype.abs=function(){return new n(this.value>=0?this.value:-this.value)},E.prototype.multiply=function(A){var I,C,Q,B=j(A),t=this.value,e=B.value,n=this.sign!==B.sign;if(B.isSmall){if(0===e)return i[0];if(1===e)return this;if(-1===e)return this.negate();if((I=Math.abs(e))0?p(t,e):M(t,e),n)},E.prototype.times=E.prototype.multiply,e.prototype._multiplyBySmall=function(A){return a(A.value*this.value)?new e(A.value*this.value):H(Math.abs(A.value),o(Math.abs(this.value)),this.sign!==A.sign)},E.prototype._multiplyBySmall=function(A){return 0===A.value?i[0]:1===A.value?this:-1===A.value?this.negate():H(Math.abs(A.value),this.value,this.sign!==A.sign)},e.prototype.multiply=function(A){return j(A)._multiplyBySmall(this)},e.prototype.times=e.prototype.multiply,n.prototype.multiply=function(A){return new n(this.value*j(A).value)},n.prototype.times=n.prototype.multiply,E.prototype.square=function(){return new E(G(this.value),!1)},e.prototype.square=function(){var A=this.value*this.value;return a(A)?new e(A):new E(G(o(Math.abs(this.value))),!1)},n.prototype.square=function(A){return new n(this.value*this.value)},E.prototype.divmod=function(A){var I=d(this,A);return{quotient:I[0],remainder:I[1]}},n.prototype.divmod=e.prototype.divmod=E.prototype.divmod,E.prototype.divide=function(A){return d(this,A)[0]},n.prototype.over=n.prototype.divide=function(A){return new n(this.value/j(A).value)},e.prototype.over=e.prototype.divide=E.prototype.over=E.prototype.divide,E.prototype.mod=function(A){return d(this,A)[1]},n.prototype.mod=n.prototype.remainder=function(A){return new n(this.value%j(A).value)},e.prototype.remainder=e.prototype.mod=E.prototype.remainder=E.prototype.mod,E.prototype.pow=function(A){var I,g,C,Q=j(A),B=this.value,t=Q.value;if(0===t)return i[1];if(0===B)return i[0];if(1===B)return i[1];if(-1===B)return Q.isEven()?i[1]:i[-1];if(Q.sign)return i[0];if(!Q.isSmall)throw new Error("The exponent "+Q.toString()+" is too large.");if(this.isSmall&&a(I=Math.pow(B,t)))return new e(s(I));for(g=this,C=i[1];!0&t&&(C=C.times(g),--t),0!==t;)t/=2,g=g.square();return C},e.prototype.pow=E.prototype.pow,n.prototype.pow=function(A){var I=j(A),g=this.value,C=I.value,Q=BigInt(0),B=BigInt(1),t=BigInt(2);if(C===Q)return i[1];if(g===Q)return i[0];if(g===B)return i[1];if(g===BigInt(-1))return I.isEven()?i[1]:i[-1];if(I.isNegative())return new n(Q);for(var E=this,e=i[1];(C&B)===B&&(e=e.times(E),--C),C!==Q;)C/=t,E=E.square();return e},E.prototype.modPow=function(A,I){if(A=j(A),(I=j(I)).isZero())throw new Error("Cannot take modPow with modulus 0");var g=i[1],C=this.mod(I);for(A.isNegative()&&(A=A.multiply(i[-1]),C=C.modInv(I));A.isPositive();){if(C.isZero())return i[0];A.isOdd()&&(g=g.multiply(C).mod(I)),A=A.divide(2),C=C.square().mod(I)}return g},n.prototype.modPow=e.prototype.modPow=E.prototype.modPow,E.prototype.compareAbs=function(A){var I=j(A),g=this.value,C=I.value;return I.isSmall?1:m(g,C)},e.prototype.compareAbs=function(A){var I=j(A),g=Math.abs(this.value),C=I.value;return I.isSmall?g===(C=Math.abs(C))?0:g>C?1:-1:-1},n.prototype.compareAbs=function(A){var I=this.value,g=j(A).value;return(I=I>=0?I:-I)===(g=g>=0?g:-g)?0:I>g?1:-1},E.prototype.compare=function(A){if(A===1/0)return-1;if(A===-1/0)return 1;var I=j(A),g=this.value,C=I.value;return this.sign!==I.sign?I.sign?1:-1:I.isSmall?this.sign?-1:1:m(g,C)*(this.sign?-1:1)},E.prototype.compareTo=E.prototype.compare,e.prototype.compare=function(A){if(A===1/0)return-1;if(A===-1/0)return 1;var I=j(A),g=this.value,C=I.value;return I.isSmall?g==C?0:g>C?1:-1:g<0!==I.sign?g<0?-1:1:g<0?1:-1},e.prototype.compareTo=e.prototype.compare,n.prototype.compare=function(A){if(A===1/0)return-1;if(A===-1/0)return 1;var I=this.value,g=j(A).value;return I===g?0:I>g?1:-1},n.prototype.compareTo=n.prototype.compare,E.prototype.equals=function(A){return 0===this.compare(A)},n.prototype.eq=n.prototype.equals=e.prototype.eq=e.prototype.equals=E.prototype.eq=E.prototype.equals,E.prototype.notEquals=function(A){return 0!==this.compare(A)},n.prototype.neq=n.prototype.notEquals=e.prototype.neq=e.prototype.notEquals=E.prototype.neq=E.prototype.notEquals,E.prototype.greater=function(A){return this.compare(A)>0},n.prototype.gt=n.prototype.greater=e.prototype.gt=e.prototype.greater=E.prototype.gt=E.prototype.greater,E.prototype.lesser=function(A){return this.compare(A)<0},n.prototype.lt=n.prototype.lesser=e.prototype.lt=e.prototype.lesser=E.prototype.lt=E.prototype.lesser,E.prototype.greaterOrEquals=function(A){return this.compare(A)>=0},n.prototype.geq=n.prototype.greaterOrEquals=e.prototype.geq=e.prototype.greaterOrEquals=E.prototype.geq=E.prototype.greaterOrEquals,E.prototype.lesserOrEquals=function(A){return this.compare(A)<=0},n.prototype.leq=n.prototype.lesserOrEquals=e.prototype.leq=e.prototype.lesserOrEquals=E.prototype.leq=E.prototype.lesserOrEquals,E.prototype.isEven=function(){return 0==(1&this.value[0])},e.prototype.isEven=function(){return 0==(1&this.value)},n.prototype.isEven=function(){return(this.value&BigInt(1))===BigInt(0)},E.prototype.isOdd=function(){return 1==(1&this.value[0])},e.prototype.isOdd=function(){return 1==(1&this.value)},n.prototype.isOdd=function(){return(this.value&BigInt(1))===BigInt(1)},E.prototype.isPositive=function(){return!this.sign},e.prototype.isPositive=function(){return this.value>0},n.prototype.isPositive=e.prototype.isPositive,E.prototype.isNegative=function(){return this.sign},e.prototype.isNegative=function(){return this.value<0},n.prototype.isNegative=e.prototype.isNegative,E.prototype.isUnit=function(){return!1},e.prototype.isUnit=function(){return 1===Math.abs(this.value)},n.prototype.isUnit=function(){return this.abs().value===BigInt(1)},E.prototype.isZero=function(){return!1},e.prototype.isZero=function(){return 0===this.value},n.prototype.isZero=function(){return this.value===BigInt(0)},E.prototype.isDivisibleBy=function(A){var I=j(A);return!I.isZero()&&(!!I.isUnit()||(0===I.compareAbs(2)?this.isEven():this.mod(I).isZero()))},n.prototype.isDivisibleBy=e.prototype.isDivisibleBy=E.prototype.isDivisibleBy,E.prototype.isPrime=function(g){var C=L(this);if(C!==A)return C;var Q=this.abs(),B=Q.bitLength();if(B<=64)return J(Q,[2,3,5,7,11,13,17,19,23,29,31,37]);for(var t=Math.log(2)*B.toJSNumber(),i=Math.ceil(!0===g?2*Math.pow(t,2):t),E=[],e=0;e-C?new e(A-1):new E(Q,!0)},n.prototype.prev=function(){return new n(this.value-BigInt(1))};for(var k=[1];2*k[k.length-1]<=g;)k.push(2*k[k.length-1]);var N=k.length,b=k[N-1];function R(A){return Math.abs(A)<=g}function S(A,g,C){g=j(g);for(var Q=A.isNegative(),B=g.isNegative(),t=Q?A.not():A,i=B?g.not():g,E=0,e=0,n=null,a=null,o=[];!t.isZero()||!i.isZero();)E=(n=d(t,b))[1].toJSNumber(),Q&&(E=b-1-E),e=(a=d(i,b))[1].toJSNumber(),B&&(e=b-1-e),t=n[0],i=a[0],o.push(C(E,e));for(var h=0!==C(Q?1:0,B?1:0)?I(-1):I(0),r=o.length-1;r>=0;r-=1)h=h.multiply(b).add(I(o[r]));return h}E.prototype.shiftLeft=function(A){var I=j(A).toJSNumber();if(!R(I))throw new Error(String(I)+" is too large for shifting.");if(I<0)return this.shiftRight(-I);var g=this;if(g.isZero())return g;for(;I>=N;)g=g.multiply(b),I-=N-1;return g.multiply(k[I])},n.prototype.shiftLeft=e.prototype.shiftLeft=E.prototype.shiftLeft,E.prototype.shiftRight=function(A){var I,g=j(A).toJSNumber();if(!R(g))throw new Error(String(g)+" is too large for shifting.");if(g<0)return this.shiftLeft(-g);for(var C=this;g>=N;){if(C.isZero()||C.isNegative()&&C.isUnit())return C;C=(I=d(C,b))[1].isNegative()?I[0].prev():I[0],g-=N-1}return(I=d(C,k[g]))[1].isNegative()?I[0].prev():I[0]},n.prototype.shiftRight=e.prototype.shiftRight=E.prototype.shiftRight,E.prototype.not=function(){return this.negate().prev()},n.prototype.not=e.prototype.not=E.prototype.not,E.prototype.and=function(A){return S(this,A,(function(A,I){return A&I}))},n.prototype.and=e.prototype.and=E.prototype.and,E.prototype.or=function(A){return S(this,A,(function(A,I){return A|I}))},n.prototype.or=e.prototype.or=E.prototype.or,E.prototype.xor=function(A){return S(this,A,(function(A,I){return A^I}))},n.prototype.xor=e.prototype.xor=E.prototype.xor;var v=1<<30;function Y(A){var I=A.value,C="number"==typeof I?I|v:"bigint"==typeof I?I|BigInt(v):I[0]+I[1]*g|1073758208;return C&-C}function P(A,g){if(g.compareTo(A)<=0){var C=P(A,g.square(g)),Q=C.p,B=C.e,t=Q.multiply(g);return t.compareTo(A)<=0?{p:t,e:2*B+1}:{p:Q,e:2*B}}return{p:I(1),e:0}}function q(A,I){return A=j(A),I=j(I),A.greater(I)?A:I}function x(A,I){return A=j(A),I=j(I),A.lesser(I)?A:I}function X(A,I){if(A=j(A).abs(),I=j(I).abs(),A.equals(I))return A;if(A.isZero())return I;if(I.isZero())return A;for(var g,C,Q=i[1];A.isEven()&&I.isEven();)g=x(Y(A),Y(I)),A=A.divide(g),I=I.divide(g),Q=Q.multiply(g);for(;A.isEven();)A=A.divide(Y(A));do{for(;I.isEven();)I=I.divide(Y(I));A.greater(I)&&(C=I,I=A,A=C),I=I.subtract(A)}while(!I.isZero());return Q.isUnit()?A:A.multiply(Q)}E.prototype.bitLength=function(){var A=this;return A.compareTo(I(0))<0&&(A=A.negate().subtract(I(1))),0===A.compareTo(I(0))?I(0):I(P(A,I(2)).e).add(I(1))},n.prototype.bitLength=e.prototype.bitLength=E.prototype.bitLength;var Z=function(A,I,g,C){g=g||B,A=String(A),C||(A=A.toLowerCase(),g=g.toLowerCase());var Q,t=A.length,i=Math.abs(I),E={};for(Q=0;Q=i)){if("1"===a&&1===i)continue;throw new Error(a+" is not a valid digit in base "+I+".")}}I=j(I);var e=[],n="-"===A[0];for(Q=n?1:0;Q"!==A[Q]&&Q=0;C--)Q=Q.add(A[C].times(B)),B=B.times(I);return g?Q.negate():Q}function K(A,g){if((g=I(g)).isZero()){if(A.isZero())return{value:[0],isNegative:!1};throw new Error("Cannot convert nonzero numbers to base 0.")}if(g.equals(-1)){if(A.isZero())return{value:[0],isNegative:!1};if(A.isNegative())return{value:[].concat.apply([],Array.apply(null,Array(-A.toJSNumber())).map(Array.prototype.valueOf,[1,0])),isNegative:!1};var C=Array.apply(null,Array(A.toJSNumber()-1)).map(Array.prototype.valueOf,[0,1]);return C.unshift([1]),{value:[].concat.apply([],C),isNegative:!1}}var Q=!1;if(A.isNegative()&&g.isPositive()&&(Q=!0,A=A.abs()),g.isUnit())return A.isZero()?{value:[0],isNegative:!1}:{value:Array.apply(null,Array(A.toJSNumber())).map(Number.prototype.valueOf,1),isNegative:Q};for(var B,t=[],i=A;i.isNegative()||i.compareAbs(g)>=0;){B=i.divmod(g),i=B.quotient;var E=B.remainder;E.isNegative()&&(E=g.minus(E).abs(),i=i.next()),t.push(E.toJSNumber())}return t.push(i.toJSNumber()),{value:t.reverse(),isNegative:Q}}function W(A,I,g){var C=K(A,I);return(C.isNegative?"-":"")+C.value.map((function(A){return function(A,I){return A<(I=I||B).length?I[A]:"<"+A+">"}(A,g)})).join("")}function O(A){if(a(+A)){var I=+A;if(I===s(I))return t?new n(BigInt(I)):new e(I);throw new Error("Invalid integer: "+A)}var g="-"===A[0];g&&(A=A.slice(1));var C=A.split(/e/i);if(C.length>2)throw new Error("Invalid integer: "+C.join("e"));if(2===C.length){var Q=C[1];if("+"===Q[0]&&(Q=Q.slice(1)),(Q=+Q)!==s(Q)||!a(Q))throw new Error("Invalid integer: "+Q+" is not a valid exponent.");var B=C[0],i=B.indexOf(".");if(i>=0&&(Q-=B.length-i-1,B=B.slice(0,i)+B.slice(i+1)),Q<0)throw new Error("Cannot include negative exponent part for integers");A=B+=new Array(Q+1).join("0")}if(!/^([0-9][0-9]*)$/.test(A))throw new Error("Invalid integer: "+A);if(t)return new n(BigInt(g?"-"+A:A));for(var o=[],h=A.length,w=h-7;h>0;)o.push(+A.slice(w,h)),(w-=7)<0&&(w=0),h-=7;return r(o),new E(o,g)}function j(A){return"number"==typeof A?function(A){if(t)return new n(BigInt(A));if(a(A)){if(A!==s(A))throw new Error(A+" is not an integer.");return new e(A)}return O(A.toString())}(A):"string"==typeof A?O(A):"bigint"==typeof A?new n(A):A}E.prototype.toArray=function(A){return K(this,A)},e.prototype.toArray=function(A){return K(this,A)},n.prototype.toArray=function(A){return K(this,A)},E.prototype.toString=function(I,g){if(I===A&&(I=10),10!==I)return W(this,I,g);for(var C,Q=this.value,B=Q.length,t=String(Q[--B]);--B>=0;)C=String(Q[B]),t+="0000000".slice(C.length)+C;return(this.sign?"-":"")+t},e.prototype.toString=function(I,g){return I===A&&(I=10),10!=I?W(this,I,g):String(this.value)},n.prototype.toString=e.prototype.toString,n.prototype.toJSON=E.prototype.toJSON=e.prototype.toJSON=function(){return this.toString()},E.prototype.valueOf=function(){return parseInt(this.toString(),10)},E.prototype.toJSNumber=E.prototype.valueOf,e.prototype.valueOf=function(){return this.value},e.prototype.toJSNumber=e.prototype.valueOf,n.prototype.valueOf=n.prototype.toJSNumber=function(){return parseInt(this.toString(),10)};for(var z=0;z<1e3;z++)i[z]=j(z),z>0&&(i[-z]=j(-z));return i.one=i[1],i.zero=i[0],i.minusOne=i[-1],i.max=q,i.min=x,i.gcd=X,i.lcm=function(A,I){return A=j(A).abs(),I=j(I).abs(),A.divide(X(A,I)).multiply(I)},i.isInstance=function(A){return A instanceof E||A instanceof e||A instanceof n},i.randBetween=function(A,I,C){A=j(A),I=j(I);var Q=C||Math.random,B=x(A,I),t=q(A,I).subtract(B).add(1);if(t.isSmall)return B.add(Math.floor(Q()*t));for(var E=K(t,g).value,e=[],n=!0,a=0;a>5);for(let A=0;A>5);for(let A=0;AQ[Q.length-I-1]=A.toString(16).padStart(8,"0"))),c.fromString(Q.join(""),16)},c.fromRprBE=function(A,I,g){g=g||A.byteLength;const C=new DataView(A.buffer,A.byteOffset+I,g),Q=new Array(g/4);for(let A=0;A>=1;return g}function rA(A,I,g){if(k(g))return A.one;const C=P(g);if(0==C.legth)return A.one;let Q=I;for(let g=C.length-2;g>=0;g--)Q=A.square(Q),C[g]&&(Q=A.mul(Q,I));return Q}function wA(A){if(A.m%2==1)if($(_(A.p,4),1))if($(_(A.p,8),1))if($(_(A.p,16),1))!function(A){A.sqrt_q=O(A.p,A.m),A.sqrt_s=0,A.sqrt_t=Z(A.sqrt_q,1);for(;!v(A.sqrt_t);)A.sqrt_s=A.sqrt_s+1,A.sqrt_t=T(A.sqrt_t,2);let I=A.one;for(;A.eq(I,A.one);){const g=A.random();A.sqrt_z=A.pow(g,A.sqrt_t),I=A.pow(A.sqrt_z,2**(A.sqrt_s-1))}A.sqrt_tm1d2=T(Z(A.sqrt_t,1),2),A.sqrt=function(A){const I=this;if(I.isZero(A))return I.zero;let g=I.pow(A,I.sqrt_tm1d2);const C=I.pow(I.mul(I.square(g),A),2**(I.sqrt_s-1));if(I.eq(C,I.negone))return null;let Q=I.sqrt_s,B=I.mul(A,g),t=I.mul(B,g),i=I.sqrt_z;for(;!I.eq(t,I.one);){let A=I.square(t),C=1;for(;!I.eq(A,I.one);)A=I.square(A),C++;g=i;for(let A=0;A>>0,A[Q]=(A[Q]^A[I])>>>0,A[Q]=(A[Q]<<16|A[Q]>>>16&65535)>>>0,A[C]=A[C]+A[Q]>>>0,A[g]=(A[g]^A[C])>>>0,A[g]=(A[g]<<12|A[g]>>>20&4095)>>>0,A[I]=A[I]+A[g]>>>0,A[Q]=(A[Q]^A[I])>>>0,A[Q]=(A[Q]<<8|A[Q]>>>24&255)>>>0,A[C]=A[C]+A[Q]>>>0,A[g]=(A[g]^A[C])>>>0,A[g]=(A[g]<<7|A[g]>>>25&127)>>>0}class fA{constructor(A){A=A||[0,0,0,0,0,0,0,0],this.state=[1634760805,857760878,2036477234,1797285236,A[0],A[1],A[2],A[3],A[4],A[5],A[6],A[7],0,0,0,0],this.idx=16,this.buff=new Array(16)}nextU32(){return 16==this.idx&&this.update(),this.buff[this.idx++]}nextU64(){return X(K(this.nextU32(),4294967296),this.nextU32())}nextBool(){return 1==(1&this.nextU32())}update(){for(let A=0;A<16;A++)this.buff[A]=this.state[A];for(let I=0;I<10;I++)sA(A=this.buff,0,4,8,12),sA(A,1,5,9,13),sA(A,2,6,10,14),sA(A,3,7,11,15),sA(A,0,5,10,15),sA(A,1,6,11,12),sA(A,2,7,8,13),sA(A,3,4,9,14);var A;for(let A=0;A<16;A++)this.buff[A]=this.buff[A]+this.state[A]>>>0;this.idx=0,this.state[12]=this.state[12]+1>>>0,0==this.state[12]&&(this.state[13]=this.state[13]+1>>>0,0==this.state[13]&&(this.state[14]=this.state[14]+1>>>0,0==this.state[14]&&(this.state[15]=this.state[15]+1>>>0)))}}var DA={};function cA(A){let I=new Uint8Array(A);if("undefined"!=typeof window)if(void 0!==window.crypto)window.crypto.getRandomValues(I);else for(let g=0;g>>0;else DA.randomFillSync(I);return I}let yA=null;function FA(){return yA||(yA=new fA(function(){const A=cA(32),I=new Uint32Array(A.buffer),g=[];for(let A=0;A<8;A++)g.push(I[A]);return g}()),yA)}class MA{constructor(A){this.type="F1",this.one=1n,this.zero=0n,this.p=BigInt(A),this.m=1,this.negone=this.p-1n,this.two=2n,this.half=this.p>>1n,this.bitLength=L(this.p),this.mask=(1n<>1n;this.nqr=this.two;let g=this.pow(this.nqr,I);for(;!this.eq(g,this.negone);)this.nqr=this.nqr+1n,g=this.pow(this.nqr,I);for(this.s=0,this.t=this.negone;0n==(1n&this.t);)this.s=this.s+1,this.t=this.t>>1n;this.nqr_to_t=this.pow(this.nqr,this.t),wA(this)}e(A,I){let g;if(I?16==I&&(g=BigInt("0x"+A)):g=BigInt(A),g<0){let A=-g;return A>=this.p&&(A%=this.p),this.p-A}return g>=this.p?g%this.p:g}add(A,I){const g=A+I;return g>=this.p?g-this.p:g}sub(A,I){return A>=I?A-I:this.p-I+A}neg(A){return A?this.p-A:A}mul(A,I){return A*I%this.p}mulScalar(A,I){return A*this.e(I)%this.p}square(A){return A*A%this.p}eq(A,I){return A==I}neq(A,I){return A!=I}lt(A,I){return(A>this.half?A-this.p:A)<(I>this.half?I-this.p:I)}gt(A,I){return(A>this.half?A-this.p:A)>(I>this.half?I-this.p:I)}leq(A,I){return(A>this.half?A-this.p:A)<=(I>this.half?I-this.p:I)}geq(A,I){return(A>this.half?A-this.p:A)>=(I>this.half?I-this.p:I)}div(A,I){return this.mul(A,this.inv(I))}idiv(A,I){if(!I)throw new Error("Division by zero");return A/I}inv(A){if(!A)throw new Error("Division by zero");let I=0n,g=this.p,C=1n,Q=A%this.p;for(;Q;){let A=g/Q;[I,C]=[C,I-A*C],[g,Q]=[Q,g-A*Q]}return I<0n&&(I+=this.p),I}mod(A,I){return A%I}pow(A,I){return rA(this,A,I)}exp(A,I){return rA(this,A,I)}band(A,I){const g=A&I&this.mask;return g>=this.p?g-this.p:g}bor(A,I){const g=(A|I)&this.mask;return g>=this.p?g-this.p:g}bxor(A,I){const g=(A^I)&this.mask;return g>=this.p?g-this.p:g}bnot(A){const I=A^this.mask;return I>=this.p?I-this.p:I}shl(A,I){if(Number(I)=this.p?g-this.p:g}{const g=this.p-I;return Number(g)>g:0n}}shr(A,I){if(Number(I)>I;{const g=this.p-I;if(Number(g)=this.p?I-this.p:I}return 0}}land(A,I){return A&&I?1n:0n}lor(A,I){return A||I?1n:0n}lnot(A){return A?0n:1n}sqrt_old(A){if(0n==A)return this.zero;if(1n!=this.pow(A,this.negone>>this.one))return null;let I=this.s,g=this.nqr_to_t,C=this.pow(A,this.t),Q=this.pow(A,this.add(this.t,this.one)>>1n);for(;1n!=C;){let A=this.square(C),B=1;for(;1n!=A;)B++,A=this.square(A);let t=g;for(let A=0;Athis.p>>1n&&(Q=this.neg(Q)),Q}normalize(A,I){if((A=BigInt(A,I))<0){let I=-A;return I>=this.p&&(I%=this.p),this.p-I}return A>=this.p?A%this.p:A}random(){const A=2*this.bitLength/8;let I=0n;for(let g=0;gthis.half){g="-"+(this.p-A).toString(I)}else g=A.toString(I);return g}isZero(A){return 0n==A}fromRng(A){let I;do{I=0n;for(let g=0;g=this.p);return I=I*this.Ri%this.p,I}}class uA{constructor(A){this.type="F1",this.one=n.one,this.zero=n.zero,this.p=n(A),this.m=1,this.negone=this.p.minus(n.one),this.two=n(2),this.half=this.p.shiftRight(1),this.bitLength=this.p.bitLength(),this.mask=n.one.shiftLeft(this.bitLength).minus(n.one),this.n64=Math.floor((this.bitLength-1)/64)+1,this.n32=2*this.n64,this.n8=8*this.n64,this.R=n.one.shiftLeft(64*this.n64),this.Ri=this.inv(this.R);const I=this.negone.shiftRight(this.one);this.nqr=this.two;let g=this.pow(this.nqr,I);for(;!g.equals(this.negone);)this.nqr=this.nqr.add(this.one),g=this.pow(this.nqr,I);for(this.s=this.zero,this.t=this.negone;!this.t.isOdd();)this.s=this.s.add(this.one),this.t=this.t.shiftRight(this.one);this.nqr_to_t=this.pow(this.nqr,this.t),wA(this)}e(A,I){const g=n(A,I);return this.normalize(g)}add(A,I){let g=A.add(I);return g.geq(this.p)&&(g=g.minus(this.p)),g}sub(A,I){return A.geq(I)?A.minus(I):this.p.minus(I.minus(A))}neg(A){return A.isZero()?A:this.p.minus(A)}mul(A,I){return A.times(I).mod(this.p)}mulScalar(A,I){return A.times(n(I)).mod(this.p)}square(A){return A.square().mod(this.p)}eq(A,I){return A.eq(I)}neq(A,I){return A.neq(I)}lt(A,I){const g=A.gt(this.half)?A.minus(this.p):A,C=I.gt(this.half)?I.minus(this.p):I;return g.lt(C)}gt(A,I){const g=A.gt(this.half)?A.minus(this.p):A,C=I.gt(this.half)?I.minus(this.p):I;return g.gt(C)}leq(A,I){const g=A.gt(this.half)?A.minus(this.p):A,C=I.gt(this.half)?I.minus(this.p):I;return g.leq(C)}geq(A,I){const g=A.gt(this.half)?A.minus(this.p):A,C=I.gt(this.half)?I.minus(this.p):I;return g.geq(C)}div(A,I){if(I.isZero())throw new Error("Division by zero");return A.times(I.modInv(this.p)).mod(this.p)}idiv(A,I){if(I.isZero())throw new Error("Division by zero");return A.divide(I)}inv(A){if(A.isZero())throw new Error("Division by zero");return A.modInv(this.p)}mod(A,I){return A.mod(I)}pow(A,I){return A.modPow(I,this.p)}exp(A,I){return A.modPow(I,this.p)}band(A,I){return A.and(I).and(this.mask).mod(this.p)}bor(A,I){return A.or(I).and(this.mask).mod(this.p)}bxor(A,I){return A.xor(I).and(this.mask).mod(this.p)}bnot(A){return A.xor(this.mask).mod(this.p)}shl(A,I){if(I.lt(this.bitLength))return A.shiftLeft(I).and(this.mask).mod(this.p);{const g=this.p.minus(I);return g.lt(this.bitLength)?this.shr(A,g):n.zero}}shr(A,I){if(I.lt(this.bitLength))return A.shiftRight(I);{const g=this.p.minus(I);return g.lt(this.bitLength)?this.shl(A,g):n.zero}}land(A,I){return A.isZero()||I.isZero()?n.zero:n.one}lor(A,I){return A.isZero()&&I.isZero()?n.zero:n.one}lnot(A){return A.isZero()?n.one:n.zero}sqrt_old(A){if(A.equals(this.zero))return this.zero;if(!this.pow(A,this.negone.shiftRight(this.one)).equals(this.one))return null;let I=parseInt(this.s),g=this.nqr_to_t,C=this.pow(A,this.t),Q=this.pow(A,this.add(this.t,this.one).shiftRight(this.one));for(;!C.equals(this.one);){let A=this.square(C),B=1;for(;!A.equals(this.one);)B++,A=this.square(A);let t=g;for(let A=0;A{g[C]=A(I[C])})),g}return I},unstringifyBigInts:function A(I){if("string"==typeof I&&/^[0-9]+$/.test(I))return BigInt(I);if(Array.isArray(I))return I.map(A);if("object"==typeof I){if(null===I)return null;const g={};return Object.keys(I).forEach((C=>{g[C]=A(I[C])})),g}return I},beBuff2int:function(A){let I=0n,g=A.length,C=0;const Q=new DataView(A.buffer,A.byteOffset,A.byteLength);for(;g>0;)g>=4?(g-=4,I+=BigInt(Q.getUint32(g))<=2?(g-=2,I+=BigInt(Q.getUint16(g))<0;)B-4>=0?(B-=4,Q.setUint32(B,Number(0xFFFFFFFFn&g)),g>>=32n):B-2>=0?(B-=2,Q.setUint16(B,Number(0xFFFFn&g)),g>>=16n):(B-=1,Q.setUint8(B,Number(0xFFn&g)),g>>=8n);if(g)throw new Error("Number does not fit in this length");return C},leBuff2int:function(A){let I=0n,g=0;const C=new DataView(A.buffer,A.byteOffset,A.byteLength);for(;g>=32n):B+2<=I?(Q.setUint16(Number(B,0xFFFFn&g),!0),B+=2,g>>=16n):(Q.setUint8(Number(B,0xFFn&g),!0),B+=1,g>>=8n);if(g)throw new Error("Number does not fit in this length");return C}});var dA=Object.freeze({__proto__:null,stringifyBigInts:function A(I){if("bigint"==typeof I||void 0!==I.eq)return I.toString(10);if(Array.isArray(I))return I.map(A);if("object"==typeof I){const g={};return Object.keys(I).forEach((C=>{g[C]=A(I[C])})),g}return I},unstringifyBigInts:function A(I){if("string"==typeof I&&/^[0-9]+$/.test(I))return n(I);if(Array.isArray(I))return I.map(A);if("object"==typeof I){const g={};return Object.keys(I).forEach((C=>{g[C]=A(I[C])})),g}return I},beBuff2int:function(A){let I=n.zero;for(let g=0;g=0;){let A=Number(g.and(n("255")));Q[C]=A,C--,g=g.shiftRight(8)}if(!g.eq(n.zero))throw new Error("Number does not fit in this length");return Q},leBuff2int:function(A){let I=n.zero;for(let g=0;g>=1;return g}mA.bitReverse=function(A,I){return(LA[A>>>24]|LA[A>>>16&255]<<8|LA[A>>>8&255]<<16|LA[255&A]<<24)>>>32-I},mA.log2=function(A){return(0!=(4294901760&A)?(A&=4294901760,16):0)|(0!=(4278255360&A)?(A&=4278255360,8):0)|(0!=(4042322160&A)?(A&=4042322160,4):0)|(0!=(3435973836&A)?(A&=3435973836,2):0)|0!=(2863311530&A)},mA.buffReverseBits=function(A,I){const g=A.byteLength/I,C=mA.log2(g);if(g!=1<g){const C=A.slice(Q*I,(Q+1)*I);A.set(A.slice(g*I,(g+1)*I),Q*I),A.set(C,g*I)}}};let{bitReverse:kA,log2:NA,buffReverseBits:bA,stringifyBigInts:RA,unstringifyBigInts:SA,beBuff2int:vA,beInt2Buff:YA,leBuff2int:PA,leInt2Buff:qA}=mA;var xA=Object.freeze({__proto__:null,bitReverse:kA,log2:NA,buffReverseBits:bA,stringifyBigInts:RA,unstringifyBigInts:SA,beBuff2int:vA,beInt2Buff:YA,leBuff2int:PA,leInt2Buff:qA});const XA=1<<30;class ZA{constructor(A){this.buffers=[],this.byteLength=A;for(let I=0;I0;){const A=t+i>XA?XA-t:i,I=new Uint8Array(this.buffers[B].buffer,this.buffers[B].byteOffset+t,A);if(A==g)return I.slice();Q||(Q=g<=XA?new Uint8Array(g):new ZA(g)),Q.set(I,g-i),i-=A,B++,t=0}return Q}set(A,I){void 0===I&&(I=0);const g=A.byteLength;if(0==g)return;const C=Math.floor(I/XA);if(C==Math.floor((I+g-1)/XA))return this.buffers[C].set(A,I%XA);let Q=C,B=I%XA,t=g;for(;t>0;){const I=B+t>XA?XA-B:t,C=A.slice(g-t,g-t+I);new Uint8Array(this.buffers[Q].buffer,this.buffers[Q].byteOffset+B,I).set(C),t-=I,Q++,B=0}}}function VA(A,I,g,C){return async function(Q){const B=Math.floor(Q.byteLength/g);if(B*g!==Q.byteLength)throw new Error("Invalid buffer size");const t=Math.floor(B/A.concurrency),i=[];for(let E=0;E=0;A--)this.w[A]=this.square(this.w[A+1]);if(!this.eq(this.w[0],this.one))throw new Error("Error calculating roots of unity");this.batchToMontgomery=VA(A,I+"_batchToMontgomery",this.n8,this.n8),this.batchFromMontgomery=VA(A,I+"_batchFromMontgomery",this.n8,this.n8)}op2(A,I,g){return this.tm.setBuff(this.pOp1,I),this.tm.setBuff(this.pOp2,g),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op2Bool(A,I,g){return this.tm.setBuff(this.pOp1,I),this.tm.setBuff(this.pOp2,g),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2)}op1(A,I){return this.tm.setBuff(this.pOp1,I),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op1Bool(A,I){return this.tm.setBuff(this.pOp1,I),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3)}add(A,I){return this.op2("_add",A,I)}eq(A,I){return this.op2Bool("_eq",A,I)}isZero(A){return this.op1Bool("_isZero",A)}sub(A,I){return this.op2("_sub",A,I)}neg(A){return this.op1("_neg",A)}inv(A){return this.op1("_inverse",A)}toMontgomery(A){return this.op1("_toMontgomery",A)}fromMontgomery(A){return this.op1("_fromMontgomery",A)}mul(A,I){return this.op2("_mul",A,I)}div(A,I){return this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+"_inverse"](this.pOp2,this.pOp2),this.tm.instance.exports[this.prefix+"_mul"](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}square(A){return this.op1("_square",A)}isSquare(A){return this.op1Bool("_isSquare",A)}sqrt(A){return this.op1("_sqrt",A)}exp(A,I){return I instanceof Uint8Array||(I=p(d(I))),this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+"_exp"](this.pOp1,this.pOp2,I.byteLength,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}isNegative(A){return this.op1Bool("_isNegative",A)}e(A,I){if(A instanceof Uint8Array)return A;let g=d(A,I);J(g)?(g=V(g),gA(g,this.p)&&(g=_(g,this.p)),g=Z(this.p,g)):gA(g,this.p)&&(g=_(g,this.p));const C=qA(g,this.n8);return this.toMontgomery(C)}toString(A,I){const g=this.fromMontgomery(A),C=M(g,0);return l(C,I)}fromRng(A){let I;const g=new Uint8Array(this.n8);do{I=H;for(let g=0;gC.buffer.byteLength){const Q=C.buffer.byteLength/65536;let B=Math.floor((g[0]+A)/65536)+1;B>I&&(B=I),C.grow(B-Q)}return Q}function t(A){const I=B(A.byteLength);return E(I,A),I}function i(A,I){const g=new Uint8Array(C.buffer);return new Uint8Array(g.buffer,g.byteOffset+A,I)}function E(A,I){new Uint8Array(C.buffer).set(new Uint8Array(I),A)}function e(A){if("INIT"==A[0].cmd)return Q(A[0]);const I={vars:[],out:[]},e=new Uint32Array(C.buffer,0,1)[0];for(let C=0;C{this.reject=I,this.resolve=A}))}}function $A(A){for(var I=window.atob(A),g=I.length,C=new Uint8Array(g),Q=0;Q0;A++)if(0==this.working[A]){const I=this.actionQueue.shift();this.postAction(A,I.data,I.transfers,I.deferred)}}queueAction(A,I){const g=new _A;if(this.singleThread){const I=this.taskManager(A);g.resolve(I)}else this.actionQueue.push({data:A,transfers:I,deferred:g}),this.processWorks();return g.promise}resetMemory(){this.u32[0]=this.initalPFree}allocBuff(A){const I=this.alloc(A.byteLength);return this.setBuff(I,A),I}getBuff(A,I){return this.u8.slice(A,A+I)}setBuff(A,I){this.u8.set(new Uint8Array(I),A)}alloc(A){for(;3&this.u32[0];)this.u32[0]++;const I=this.u32[0];return this.u32[0]+=A,I}async terminate(){for(let A=0;AsetTimeout(I,A))))}}function II(A,I){const g=A[I],C=A.Fr,Q=A.tm;A[I].batchApplyKey=async function(A,B,t,i,E){let e,n,a,o,h;if(i=i||"affine",E=E||"affine","G1"==I)"jacobian"==i?(a=3*g.F.n8,e="g1m_batchApplyKey"):(a=2*g.F.n8,e="g1m_batchApplyKeyMixed"),o=3*g.F.n8,"jacobian"==E?h=3*g.F.n8:(n="g1m_batchToAffine",h=2*g.F.n8);else if("G2"==I)"jacobian"==i?(a=3*g.F.n8,e="g2m_batchApplyKey"):(a=2*g.F.n8,e="g2m_batchApplyKeyMixed"),o=3*g.F.n8,"jacobian"==E?h=3*g.F.n8:(n="g2m_batchToAffine",h=2*g.F.n8);else{if("Fr"!=I)throw new Error("Invalid group: "+I);e="frm_batchApplyKey",a=g.n8,o=g.n8,h=g.n8}const r=Math.floor(A.byteLength/a),w=Math.floor(r/Q.concurrency),s=[];t=C.e(t);let f=C.e(B);for(let I=0;I=0;A--){if(!g.isZero(w))for(let A=0;Ae&&(w=e),w<1024&&(w=1024);const s=[];for(let I=0;I(i&&i.debug(`Multiexp end: ${E}: ${I}/${a}`),A))))}const f=await Promise.all(s);let D=g.zero;for(let A=f.length-1;A>=0;A--)D=g.add(D,f[A]);return D}g.multiExp=async function(A,I,g,C){return await B(A,I,"jacobian",g,C)},g.multiExpAffine=async function(A,I,g,C){return await B(A,I,"affine",g,C)}}function QI(A,I){const g=A[I],C=A.Fr,Q=g.tm;async function B(i,E,e,n,a,o){e=e||"affine",n=n||"affine";let h,r,w,s,f,D,c,y;"G1"==I?("affine"==e?(h=2*g.F.n8,s="g1m_batchToJacobian"):h=3*g.F.n8,r=3*g.F.n8,E&&(y="g1m_fftFinal"),c="g1m_fftJoin",D="g1m_fftMix","affine"==n?(w=2*g.F.n8,f="g1m_batchToAffine"):w=3*g.F.n8):"G2"==I?("affine"==e?(h=2*g.F.n8,s="g2m_batchToJacobian"):h=3*g.F.n8,r=3*g.F.n8,E&&(y="g2m_fftFinal"),c="g2m_fftJoin",D="g2m_fftMix","affine"==n?(w=2*g.F.n8,f="g2m_batchToAffine"):w=3*g.F.n8):"Fr"==I&&(h=g.n8,r=g.n8,w=g.n8,E&&(y="frm_fftFinal"),D="frm_fftMix",c="frm_fftJoin");let F=!1;Array.isArray(i)&&(i=A.array2buffer(i,h),F=!0);const M=i.byteLength/h,u=NA(M);if(1<1<<28?new ZA(2*a[0].byteLength):new Uint8Array(2*a[0].byteLength);return o.set(a[0]),o.set(a[1],a[0].byteLength),o}(i,e,n,a,o):await async function(A,I,g,Q,i){let E,e;E=A.slice(0,A.byteLength/2),e=A.slice(A.byteLength/2,A.byteLength);const n=[];[E,e]=await t(E,e,"fftJoinExt",C.one,C.shift,I,"jacobian",Q,i),n.push(B(E,!1,"jacobian",g,Q,i)),n.push(B(e,!1,"jacobian",g,Q,i));const a=await Promise.all(n);let o;o=a[0].byteLength>1<<28?new ZA(2*a[0].byteLength):new Uint8Array(2*a[0].byteLength);return o.set(a[0]),o.set(a[1],a[0].byteLength),o}(i,e,n,a,o),F?A.buffer2array(I,w):I}let l,p,H;E&&(l=C.inv(C.e(M))),bA(i,h);let G=Math.min(16384,M),U=M/G;for(;U=16;)U*=2,G/=2;const d=NA(G),m=[];for(let A=0;A(a&&a.debug(`${o}: fft ${u} mix end: ${A}/${U}`),I))))}H=await Promise.all(m);for(let A=0;A(a&&a.debug(`${o}: fft ${u} join ${A}/${u} ${t+1}/${I} ${i}/${g/2}`),C))))}const t=await Promise.all(B);for(let A=0;A0;I--)p.set(H[I],A),A+=G*w,delete H[I];p.set(H[0].slice(0,(G-1)*w),A),delete H[0]}else for(let A=0;A65536&&(y=65536);const F=[];for(let I=0;I(a&&a.debug(`${o}: fftJoinExt End: ${I}/${c}`),A))))}const M=await Promise.all(F);let u,l;c*s>1<<28?(u=new ZA(c*s),l=new ZA(c*s)):(u=new Uint8Array(c*s),l=new Uint8Array(c*s));let p=0;for(let A=0;AC.s+1)throw E&&E.error("lagrangeEvaluations input too big"),new Error("lagrangeEvaluations input too big");let h=A.slice(0,A.byteLength/2),r=A.slice(A.byteLength/2,A.byteLength);const w=C.exp(C.shift,a/2),s=C.inv(C.sub(C.one,w));[h,r]=await t(h,r,"prepareLagrangeEvaluation",s,C.shiftInv,Q,"jacobian",E,e+" prep");const f=[];let D;return f.push(B(h,!0,"jacobian",i,E,e+" t0")),f.push(B(r,!0,"jacobian",i,E,e+" t1")),[h,r]=await Promise.all(f),D=h.byteLength>1<<28?new ZA(2*h.byteLength):new Uint8Array(2*h.byteLength),D.set(h),D.set(r,h.byteLength),D},g.fftMix=async function(A){const B=3*g.F.n8;let t,i;if("G1"==I)t="g1m_fftMix",i="g1m_fftJoin";else if("G2"==I)t="g2m_fftMix",i="g2m_fftJoin";else{if("Fr"!=I)throw new Error("Invalid group");t="frm_fftMix",i="frm_fftJoin"}const E=Math.floor(A.byteLength/B),e=NA(E);let n=1<=0;A--)h.set(o[A][0],r),r+=o[A][0].byteLength;return h}}async function BI(A){const I=await async function(A,I){const g=new AI;g.memory=new WebAssembly.Memory({initial:25}),g.u8=new Uint8Array(g.memory.buffer),g.u32=new Uint32Array(g.memory.buffer);const C=await WebAssembly.compile($A(A.code));if(g.instance=await WebAssembly.instantiate(C,{env:{memory:g.memory}}),g.singleThread=I,g.initalPFree=g.u32[0],g.pq=A.pq,g.pr=A.pr,g.pG1gen=A.pG1gen,g.pG1zero=A.pG1zero,g.pG2gen=A.pG2gen,g.pG2zero=A.pG2zero,g.pOneT=A.pOneT,I)g.code=$A(A.code),g.taskManager=zA(),await g.taskManager([{cmd:"INIT",init:25,code:g.code.slice()}]),g.concurrency=1;else{let I;g.workers=[],g.pendingDeferreds=[],g.working=[],I="object"==typeof navigator&&navigator.hardwareConcurrency?navigator.hardwareConcurrency:TA.cpus().length,I>64&&(I=64),g.concurrency=I;for(let A=0;A{I.pendingLoads.push({page:A,resolve:g,reject:C})}));return I.__statusPage("After Load request: ",A),g}__statusPage(A,I){const g=[],C=this;if(!C.logHistory)return;g.push("=="+A+" "+I);let Q="";for(let A=0;A "+I.history[A][g][C])}_triggerLoad(){const A=this;if(A.reading)return;if(0==A.pendingLoads.length)return;const I=Object.keys(A.pages),g=[];for(let C=0;C0&&(void 0!==A.pages[A.pendingLoads[0].page]||C>0||g.length>0);){const I=A.pendingLoads.shift();if(void 0!==A.pages[I.page]){A.pages[I.page].pendingOps++;const C=g.indexOf(I.page);C>=0&&g.splice(C,1),A.pages[I.page].loading?A.pages[I.page].loading.push(I):I.resolve(),A.__statusPage("After Load (cached): ",I.page)}else{if(C)C--;else{const I=g.shift();A.__statusPage("Before Unload: ",I),A.avBuffs.unshift(A.pages[I]),delete A.pages[I],A.__statusPage("After Unload: ",I)}I.page>=A.totalPages?(A.pages[I.page]=B(),I.resolve(),A.__statusPage("After Load (new): ",I.page)):(A.reading=!0,A.pages[I.page]=B(),A.pages[I.page].loading=[I],Q.push(A.fd.read(A.pages[I.page].buff,0,A.pageSize,I.page*A.pageSize).then((g=>{A.pages[I.page].size=g.bytesRead;const C=A.pages[I.page].loading;delete A.pages[I.page].loading;for(let A=0;A{I.reject(A)}))),A.__statusPage("After Load (loading): ",I.page))}}function B(){if(A.avBuffs.length>0){const I=A.avBuffs.shift();return I.dirty=!1,I.pendingOps=1,I.size=0,I}return{dirty:!1,buff:new Uint8Array(A.pageSize),pendingOps:1,size:0}}Promise.all(Q).then((()=>{A.reading=!1,A.pendingLoads.length>0&&setImmediate(A._triggerLoad.bind(A)),A._tryClose()}))}_triggerWrite(){const A=this;if(A.writing)return;const I=Object.keys(A.pages),g=[];for(let C=0;C{Q.writing=!1}),(I=>{console.log("ERROR Writing: "+I),A.error=I,A._tryClose()}))))}A.writing&&Promise.all(g).then((()=>{A.writing=!1,setImmediate(A._triggerWrite.bind(A)),A._tryClose(),A.pendingLoads.length>0&&setImmediate(A._triggerLoad.bind(A))}))}_getDirtyPage(){for(let A in this.pages)if(this.pages[A].dirty)return A;return-1}async write(A,I){if(0==A.byteLength)return;const g=this;if(void 0===I&&(I=g.pos),g.pos=I+A.byteLength,g.totalSize0;){await B[t-C];const I=i+E>g.pageSize?g.pageSize-i:E,Q=A.slice(A.byteLength-E,A.byteLength-E+I);new Uint8Array(g.pages[t].buff.buffer,i,I).set(Q),g.pages[t].dirty=!0,g.pages[t].pendingOps--,g.pages[t].size=Math.max(i+I,g.pages[t].size),t>=g.totalPages&&(g.totalPages=t+1),E-=I,t++,i=0,g.writing||setImmediate(g._triggerWrite.bind(g))}}async read(A,I){let g=new Uint8Array(A);return await this.readToBuffer(g,0,A,I),g}async readToBuffer(A,I,g,C){if(0==g)return;const Q=this;if(g>Q.pageSize*Q.maxPagesLoaded*.8){const A=Math.floor(1.1*g);this.maxPagesLoaded=Math.floor(A/Q.pageSize)+1}if(void 0===C&&(C=Q.pos),Q.pos=C+g,Q.pendingClose)throw new Error("Reading a closing file");const B=Math.floor(C/Q.pageSize),t=Math.floor((C+g-1)/Q.pageSize),i=[];for(let A=B;A<=t;A++)i.push(Q._loadPage(A));Q._triggerLoad();let E=B,e=C%Q.pageSize,n=C+g>Q.totalSize?g-(C+g-Q.totalSize):g;for(;n>0;){await i[E-B],Q.__statusPage("After Await (read): ",E);const C=e+n>Q.pageSize?Q.pageSize-e:n,t=new Uint8Array(Q.pages[E].buff.buffer,Q.pages[E].buff.byteOffset+e,C);A.set(t,I+g-n),Q.pages[E].pendingOps--,Q.__statusPage("After Op done: ",E),n-=C,E++,e=0,Q.pendingLoads.length>0&&setImmediate(Q._triggerLoad.bind(Q))}this.pos=C+g}_tryClose(){const A=this;if(!A.pendingClose)return;A.error&&A.pendingCloseReject(A.error);A._getDirtyPage()>=0||A.writing||A.reading||A.pendingLoads.length>0||A.pendingClose()}close(){const A=this;if(A.pendingClose)throw new Error("Closing the file twice");return new Promise(((I,g)=>{A.pendingClose=I,A.pendingCloseReject=g,A._tryClose()})).then((()=>{A.fd.close()}),(I=>{throw A.fd.close(),I}))}async discard(){await this.close(),await oI.promises.unlink(this.fileName)}async writeULE32(A,I){const g=new Uint8Array(4);new DataView(g.buffer).setUint32(0,A,!0),await this.write(g,I)}async writeUBE32(A,I){const g=new Uint8Array(4);new DataView(g.buffer).setUint32(0,A,!1),await this.write(g,I)}async writeULE64(A,I){const g=new Uint8Array(8),C=new DataView(g.buffer);C.setUint32(0,4294967295&A,!0),C.setUint32(4,Math.floor(A/4294967296),!0),await this.write(g,I)}async readULE32(A){const I=await this.read(4,A);return new Uint32Array(I.buffer)[0]}async readUBE32(A){const I=await this.read(4,A);return new DataView(I.buffer).getUint32(0,!1)}async readULE64(A){const I=await this.read(8,A),g=new Uint32Array(I.buffer);return 4294967296*g[1]+g[0]}}const wI=new Uint8Array(4),sI=new DataView(wI.buffer),fI=new Uint8Array(8),DI=new DataView(fI.buffer);class cI{constructor(){this.pageSize=16384}_resizeIfNeeded(A){if(A>this.allocSize){const I=Math.max(this.allocSize+(1<<20),Math.floor(1.1*this.allocSize),A),g=new Uint8Array(I);g.set(this.o.data),this.o.data=g,this.allocSize=I}}async write(A,I){if(void 0===I&&(I=this.pos),this.readOnly)throw new Error("Writing a read only file");this._resizeIfNeeded(I+A.byteLength),this.o.data.set(A.slice(),I),I+A.byteLength>this.totalSize&&(this.totalSize=I+A.byteLength),this.pos=I+A.byteLength}async readToBuffer(A,I,g,C){if(void 0===C&&(C=this.pos),this.readOnly&&C+g>this.totalSize)throw new Error("Reading out of bounds");this._resizeIfNeeded(C+g);const Q=new Uint8Array(this.o.data.buffer,this.o.data.byteOffset+C,g);A.set(Q,I),this.pos=C+g}async read(A,I){const g=new Uint8Array(A);return await this.readToBuffer(g,0,A,I),g}close(){this.o.data.byteLength!=this.totalSize&&(this.o.data=this.o.data.slice(0,this.totalSize))}async discard(){}async writeULE32(A,I){sI.setUint32(0,A,!0),await this.write(wI,I)}async writeUBE32(A,I){sI.setUint32(0,A,!1),await this.write(wI,I)}async writeULE64(A,I){DI.setUint32(0,4294967295&A,!0),DI.setUint32(4,Math.floor(A/4294967296),!0),await this.write(fI,I)}async readULE32(A){const I=await this.read(4,A);return new Uint32Array(I.buffer)[0]}async readUBE32(A){const I=await this.read(4,A);return new DataView(I.buffer).getUint32(0,!1)}async readULE64(A){const I=await this.read(8,A),g=new Uint32Array(I.buffer);return 4294967296*g[1]+g[0]}}const yI=1<<22;const FI=new Uint8Array(4),MI=new DataView(FI.buffer),uI=new Uint8Array(8),lI=new DataView(uI.buffer);class pI{constructor(){this.pageSize=16384}_resizeIfNeeded(A){if(A<=this.totalSize)return;if(this.readOnly)throw new Error("Reading out of file bounds");const I=Math.floor((A-1)/yI)+1;for(let g=Math.max(this.o.data.length-1,0);g0;){const I=Q+B>yI?yI-Q:B,t=A.slice(A.byteLength-B,A.byteLength-B+I);new Uint8Array(g.o.data[C].buffer,Q,I).set(t),B-=I,C++,Q=0}this.pos=I+A.byteLength}async readToBuffer(A,I,g,C){const Q=this;if(void 0===C&&(C=Q.pos),this.readOnly&&C+g>this.totalSize)throw new Error("Reading out of bounds");this._resizeIfNeeded(C+g);let B=Math.floor(C/yI),t=C%yI,i=g;for(;i>0;){const C=t+i>yI?yI-t:i,E=new Uint8Array(Q.o.data[B].buffer,t,C);A.set(E,I+g-i),i-=C,B++,t=0}this.pos=C+g}async read(A,I){const g=new Uint8Array(A);return await this.readToBuffer(g,0,A,I),g}close(){}async discard(){}async writeULE32(A,I){MI.setUint32(0,A,!0),await this.write(FI,I)}async writeUBE32(A,I){MI.setUint32(0,A,!1),await this.write(FI,I)}async writeULE64(A,I){lI.setUint32(0,4294967295&A,!0),lI.setUint32(4,Math.floor(A/4294967296),!0),await this.write(uI,I)}async readULE32(A){const I=await this.read(4,A);return new Uint32Array(I.buffer)[0]}async readUBE32(A){const I=await this.read(4,A);return new DataView(I.buffer).getUint32(0,!1)}async readULE64(A){const I=await this.read(8,A),g=new Uint32Array(I.buffer);return 4294967296*g[1]+g[0]}}async function HI(A,I,g){if("string"==typeof A&&(A={type:"file",fileName:A,cacheSize:I||65536,pageSize:g||8192}),"file"==A.type)return await hI(A.fileName,"w+",A.cacheSize,A.pageSize);if("mem"==A.type)return function(A){const I=A.initialSize||1<<20,g=new cI;return g.o=A,g.o.data=new Uint8Array(I),g.allocSize=I,g.totalSize=0,g.readOnly=!1,g.pos=0,g}(A);if("bigMem"==A.type)return function(A){const I=A.initialSize||0,g=new pI;g.o=A;const C=I?Math.floor((I-1)/yI)+1:0;g.o.data=[];for(let A=0;Ag)throw new Error("Version not supported");const E=await B.readULE32();let e=[];for(let A=0;A1)throw new Error(A.fileName+": Section Duplicated "+g);A.pos=I[g][0].p,A.readingSection=I[g][0]}async function kI(A,I){if(void 0===A.readingSection)throw new Error("Not reading a section");if(!I&&A.pos-A.readingSection.p!=A.readingSection.size)throw new Error("Invalid section size reading");delete A.readingSection}async function NI(A,I,g,C){const Q=new Uint8Array(g);nI.toRprLE(Q,0,I,g),await A.write(Q,C)}async function bI(A,I,g){const C=await A.read(I,g);return nI.fromRprLE(C,0,I)}async function RI(A,I,g,C,Q){void 0===Q&&(Q=I[C][0].size);const B=A.pageSize;await JI(A,I,C),await mI(g,C);for(let I=0;II[g][0].size)throw new Error("Reading out of the range of the section");let B;return B=Q<1<<30?new Uint8Array(Q):new ZA(Q),await A.readToBuffer(B,0,Q,I[g][0].p+C),B}async function vI(A,I,g,C,Q){const B=16*A.pageSize;if(await JI(A,I,Q),await JI(g,C,Q),I[Q][0].size!=C[Q][0].size)return!1;const t=I[Q][0].size;for(let I=0;I=Q,"digestLength must be at least "+Q+", was given "+A),xI(A<=B,"digestLength must be at most "+B+", was given "+A),null!=a&&(xI(a instanceof Uint8Array,"key must be Uint8Array or Buffer"),xI(a.length>=t,"key must be at least "+t+", was given "+a.length),xI(a.length<=i,"key must be at least "+i+", was given "+a.length)),null!=o&&(xI(o instanceof Uint8Array,"salt must be Uint8Array or Buffer"),xI(o.length===E,"salt must be exactly "+E+", was given "+o.length)),null!=h&&(xI(h instanceof Uint8Array,"personal must be Uint8Array or Buffer"),xI(h.length===e,"personal must be exactly "+e+", was given "+h.length))),C.length||(C.push(g),g+=216),this.digestLength=A,this.finalized=!1,this.pointer=C.pop(),I.memory.fill(0,0,64),I.memory[0]=this.digestLength,I.memory[1]=a?a.length:0,I.memory[2]=1,I.memory[3]=1,o&&I.memory.set(o,32),h&&I.memory.set(h,48),this.pointer+216>I.memory.length&&I.realloc(this.pointer+216),I.exports.blake2b_init(this.pointer,this.digestLength),a&&(this.update(a),I.memory.fill(0,g,g+a.length),I.memory[this.pointer+200]=128)}function a(){}function o(A){return A<16?"0"+A.toString(16):A.toString(16)}n.prototype.update=function(A){return xI(!1===this.finalized,"Hash instance finalized"),xI(A instanceof Uint8Array,"input must be Uint8Array or Buffer"),g+A.length>I.memory.length&&I.realloc(g+A.length),I.memory.set(A,g),I.exports.blake2b_update(this.pointer,g,g+A.length),this},n.prototype.getPartialHash=function(){return I.memory.slice(this.pointer,this.pointer+216)},n.prototype.setPartialHash=function(A){I.memory.set(A,this.pointer)},n.prototype.digest=function(A){if(xI(!1===this.finalized,"Hash instance finalized"),this.finalized=!0,C.push(this.pointer),I.exports.blake2b_final(this.pointer),!A||"binary"===A)return I.memory.slice(this.pointer+128,this.pointer+128+this.digestLength);if("hex"===A)return function(A,I,g){for(var C="",Q=0;Q=this.digestLength,"input must be Uint8Array or Buffer");for(var g=0;g>=1;return g}function zI(A){return(0!=(4294901760&A)?(A&=4294901760,16):0)|(0!=(4278255360&A)?(A&=4278255360,8):0)|(0!=(4042322160&A)?(A&=4042322160,4):0)|(0!=(3435973836&A)?(A&=3435973836,2):0)|0!=(2863311530&A)}function TI(A,I){const g=new DataView(A.buffer,A.byteOffset,A.byteLength);let C="";for(let A=0;A<4;A++){A>0&&(C+="\n"),C+="\t\t";for(let I=0;I<4;I++)I>0&&(C+=" "),C+=g.getUint32(16*A+4*I).toString(16).padStart(8,"0")}return I&&(C=I+"\n"+C),C}function _I(A,I){if(A.byteLength!=I.byteLength)return!1;for(var g=new Int8Array(A),C=new Int8Array(I),Q=0;Q!=A.byteLength;Q++)if(g[Q]!=C[Q])return!1;return!0}function $I(A){const I=A.getPartialHash(),g=WI(64);return g.setPartialHash(I),g}async function Ag(A,I,g,C,Q){if(A.G1.isZero(I))return!1;if(A.G1.isZero(g))return!1;if(A.G2.isZero(C))return!1;if(A.G2.isZero(Q))return!1;return await A.pairingEq(I,Q,A.G1.neg(g),C)}async function Ig(A){for(;!A;)A=await window.prompt("Enter a random text. (Entropy): ","");const I=WI(64);I.update(DA.randomBytes(64));const g=new TextEncoder;I.update(g.encode(A));const C=Buffer.from(I.digest()),Q=[];for(let A=0;A<8;A++)Q[A]=C.readUInt32BE(4*A);return new fA(Q)}function gg(A,I){let g,C;I<32?(g=1<>>0,C=1):(g=4294967296,C=1<>>0);let Q=A;for(let A=0;A0){const I=new Uint8Array(C);await A.writeULE32(I.byteLength),await A.write(I)}else await A.writeULE32(0)}async function rg(A,I,g){await mI(A,10),await A.write(g.csHash),await A.writeULE32(g.contributions.length);for(let C=0;C /\\../\\",h=52,r={32:{offset:0},64:{offset:[0,0,0,0]},128:{offset:[0,0,0,0,0,0,0,0]},256:{offset:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},512:{offset:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},1024:{offset:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}};for(A=0;A<256;A++)E[A]=(A>>4&15).toString(16)+(15&A).toString(16);function w(A,I){var g,C,Q,B=[0],t="";for(C=0;C0;)B.push(g%I),g=g/I|0}for(C=B.length-1;C>=0;--C)t+="0123456789abcdefghijklmnopqrstuvwxyz"[B[C]];return t}function s(A,I){return{bits:I,value:A,dec:function(){return w(A,10)},hex:function(){return A},str:function(){return w(A,36)}}}function f(A,I){return{bits:I,value:A,dec:function(){return A.toString()},hex:function(){return E[A>>>24]+E[A>>>16&255]+E[A>>>8&255]+E[255&A]},str:function(){return A.toString(36)}}}function D(A,I){return{bits:I,value:A,dec:function(){return A.toString()},hex:function(){return("0000000000000000"+A.toString(16)).substr(-13)},str:function(){return A.toString(36)}}}function c(A,E){var e="object"==typeof A?JSON.stringify(A):A;switch(E||h){case 32:return I(e);case 64:return C(e);case 128:return Q(e);case 256:return B(e);case 512:return t(e);case 1024:return i(e);default:return g(e)}}function y(A){if("1a"===A)n=A,I=a?p:u,g=a?d:G,C=a?k:L,Q=a?S:b,B=a?q:Y,t=a?V:X,i=a?j:W;else{if("1"!==A)throw new Error("Supported FNV versions: 1, 1a");n=A,I=a?H:l,g=a?m:U,C=a?N:J,Q=a?v:R,B=a?x:P,t=a?K:Z,i=a?z:O}}function F(A){A?(a=!0,I="1a"==n?p:H,g="1a"==n?d:m,C="1a"==n?k:N,Q="1a"==n?S:v,B="1a"==n?q:x,t="1a"==n?V:K,i="1a"==n?j:z):(a=!1,I="1a"==n?u:l,g="1a"==n?G:U,C="1a"==n?L:J,Q="1a"==n?b:R,B="1a"==n?Y:P,t="1a"==n?X:Z,i="1a"==n?W:O)}function M(A){var I,g,C=n;for(var Q in(A=A||0===A?A:o)===o&&y("1"),r){for(r[Q].offset=[],g=0;g>>16)&65535),t+=(B^=A.charCodeAt(I++))<<8,B=65535&(Q=403*B),t=403*(i=t+(Q>>>16)&65535),t+=(B^=A.charCodeAt(I++))<<8,B=65535&(Q=403*B),t=403*(i=t+(Q>>>16)&65535),i=(t+=(B^=A.charCodeAt(I++))<<8)+((Q=403*B)>>>16)&65535,B=65535&Q;for(;I>>16)&65535,B=65535&Q;return f((i<<16>>>0)+B,32)}function l(A){var I,g=A.length-3,C=r[32].offset,Q=0,B=0|C[1],t=0,i=0|C[0];for(I=0;I>>16)&65535),t+=(B^=A.charCodeAt(I++))<<8,B=65535&(Q=403*B),t=403*(i=t+(Q>>>16)&65535),t+=(B^=A.charCodeAt(I++))<<8,B=65535&(Q=403*B),t=403*(i=t+(Q>>>16)&65535),i=(t+=(B^=A.charCodeAt(I++))<<8)+((Q=403*B)>>>16)&65535,B=65535&Q,B^=A.charCodeAt(I++);for(;I>>16)&65535,B=65535&Q,B^=A.charCodeAt(I++);return f((i<<16>>>0)+B,32)}function p(A){var I,g,C=A.length,Q=r[32].offset,B=0,t=0|Q[1],i=0,E=0|Q[0];for(g=0;g>6|192)<<8)+((B=403*t)>>>16)&65535,t=65535&B,t^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,t=65535&(B=403*t),i=403*(E=i+(B>>>16)&65535),i+=(t^=I>>12&63|128)<<8,t=65535&(B=403*t),i=403*(E=i+(B>>>16)&65535),E=(i+=(t^=I>>6&63|128)<<8)+((B=403*t)>>>16)&65535,t=65535&B,t^=63&I|128):(i=403*E,i+=(t^=I>>12|224)<<8,t=65535&(B=403*t),i=403*(E=i+(B>>>16)&65535),E=(i+=(t^=I>>6&63|128)<<8)+((B=403*t)>>>16)&65535,t=65535&B,t^=63&I|128),i=403*E,E=(i+=t<<8)+((B=403*t)>>>16)&65535,t=65535&B;return f((E<<16>>>0)+t,32)}function H(A){var I,g,C=A.length,Q=r[32].offset,B=0,t=0|Q[1],i=0,E=0|Q[0];for(g=0;g>>16)&65535,t=65535&B,(I=A.charCodeAt(g))<128?t^=I:I<2048?(i=403*E,E=(i+=(t^=I>>6|192)<<8)+((B=403*t)>>>16)&65535,t=65535&B,t^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,t=65535&(B=403*t),i=403*(E=i+(B>>>16)&65535),i+=(t^=I>>12&63|128)<<8,t=65535&(B=403*t),i=403*(E=i+(B>>>16)&65535),E=(i+=(t^=I>>6&63|128)<<8)+((B=403*t)>>>16)&65535,t=65535&B,t^=63&I|128):(i=403*E,i+=(t^=I>>12|224)<<8,t=65535&(B=403*t),i=403*(E=i+(B>>>16)&65535),E=(i+=(t^=I>>6&63|128)<<8)+((B=403*t)>>>16)&65535,t=65535&B,t^=63&I|128);return f((E<<16>>>0)+t,32)}function G(A){var I,g=A.length-3,C=r[64].offset,Q=0,B=0|C[3],t=0,i=0|C[2],E=0,e=0|C[1],n=0,a=0|C[0];for(I=0;I>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),E=435*(e=65535&E),n=435*a,E+=(B^=A.charCodeAt(I++))<<8,B=65535&(Q=435*B),a=(n+=i<<8)+((E+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),E=435*(e=65535&E),n=435*a,E+=(B^=A.charCodeAt(I++))<<8,B=65535&(Q=435*B),a=(n+=i<<8)+((E+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),E=435*(e=65535&E),n=435*a,E+=(B^=A.charCodeAt(I++))<<8,n+=i<<8,B=65535&(Q=435*B),i=65535&(t+=Q>>>16),a=n+((E+=t>>>16)>>>16)&65535,e=65535&E;for(;I>>16),a=n+((E+=t>>>16)>>>16)&65535,e=65535&E;return D(281474976710656*(15&a)+4294967296*e+65536*i+(B^a>>4),52)}function U(A){var I,g=A.length-3,C=r[64].offset,Q=0,B=0|C[3],t=0,i=0|C[2],E=0,e=0|C[1],n=0,a=0|C[0];for(I=0;I>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),E=435*(e=65535&E),n=435*a,E+=(B^=A.charCodeAt(I++))<<8,B=65535&(Q=435*B),a=(n+=i<<8)+((E+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),E=435*(e=65535&E),n=435*a,E+=(B^=A.charCodeAt(I++))<<8,B=65535&(Q=435*B),a=(n+=i<<8)+((E+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),E=435*(e=65535&E),n=435*a,E+=(B^=A.charCodeAt(I++))<<8,n+=i<<8,B=65535&(Q=435*B),i=65535&(t+=Q>>>16),a=n+((E+=t>>>16)>>>16)&65535,e=65535&E,B^=A.charCodeAt(I++);for(;I>>16),a=n+((E+=t>>>16)>>>16)&65535,e=65535&E,B^=A.charCodeAt(I++);return D(281474976710656*(15&a)+4294967296*e+65536*i+(B^a>>4),52)}function d(A){var I,g,C=A.length,Q=r[64].offset,B=0,t=0|Q[3],i=0,E=0|Q[2],e=0,n=0|Q[1],a=0,o=0|Q[0];for(g=0;g>6|192)<<8,a+=E<<8,t=65535&(B=435*t),E=65535&(i+=B>>>16),o=a+((e+=i>>>16)>>>16)&65535,n=65535&e,t^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,t=65535&(B=435*t),o=(a+=E<<8)+((e+=(i+=B>>>16)>>>16)>>>16)&65535,i=435*(E=65535&i),e=435*(n=65535&e),a=435*o,e+=(t^=I>>12&63|128)<<8,t=65535&(B=435*t),o=(a+=E<<8)+((e+=(i+=B>>>16)>>>16)>>>16)&65535,i=435*(E=65535&i),e=435*(n=65535&e),a=435*o,e+=(t^=I>>6&63|128)<<8,a+=E<<8,t=65535&(B=435*t),E=65535&(i+=B>>>16),o=a+((e+=i>>>16)>>>16)&65535,n=65535&e,t^=63&I|128):(i=435*E,e=435*n,a=435*o,e+=(t^=I>>12|224)<<8,t=65535&(B=435*t),o=(a+=E<<8)+((e+=(i+=B>>>16)>>>16)>>>16)&65535,i=435*(E=65535&i),e=435*(n=65535&e),a=435*o,e+=(t^=I>>6&63|128)<<8,a+=E<<8,t=65535&(B=435*t),E=65535&(i+=B>>>16),o=a+((e+=i>>>16)>>>16)&65535,n=65535&e,t^=63&I|128),i=435*E,e=435*n,a=435*o,e+=t<<8,a+=E<<8,t=65535&(B=435*t),E=65535&(i+=B>>>16),o=a+((e+=i>>>16)>>>16)&65535,n=65535&e;return D(281474976710656*(15&o)+4294967296*n+65536*E+(t^o>>4),52)}function m(A){var I,g,C=A.length,Q=r[64].offset,B=0,t=0|Q[3],i=0,E=0|Q[2],e=0,n=0|Q[1],a=0,o=0|Q[0];for(g=0;g>>16),o=a+((e+=i>>>16)>>>16)&65535,n=65535&e,(I=A.charCodeAt(g))<128?t^=I:I<2048?(i=435*E,e=435*n,a=435*o,e+=(t^=I>>6|192)<<8,a+=E<<8,t=65535&(B=435*t),E=65535&(i+=B>>>16),o=a+((e+=i>>>16)>>>16)&65535,n=65535&e,t^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,t=65535&(B=435*t),o=(a+=E<<8)+((e+=(i+=B>>>16)>>>16)>>>16)&65535,i=435*(E=65535&i),e=435*(n=65535&e),a=435*o,e+=(t^=I>>12&63|128)<<8,t=65535&(B=435*t),o=(a+=E<<8)+((e+=(i+=B>>>16)>>>16)>>>16)&65535,i=435*(E=65535&i),e=435*(n=65535&e),a=435*o,e+=(t^=I>>6&63|128)<<8,a+=E<<8,t=65535&(B=435*t),E=65535&(i+=B>>>16),o=a+((e+=i>>>16)>>>16)&65535,n=65535&e,t^=63&I|128):(i=435*E,e=435*n,a=435*o,e+=(t^=I>>12|224)<<8,t=65535&(B=435*t),o=(a+=E<<8)+((e+=(i+=B>>>16)>>>16)>>>16)&65535,i=435*(E=65535&i),e=435*(n=65535&e),a=435*o,e+=(t^=I>>6&63|128)<<8,a+=E<<8,t=65535&(B=435*t),E=65535&(i+=B>>>16),o=a+((e+=i>>>16)>>>16)&65535,n=65535&e,t^=63&I|128);return D(281474976710656*(15&o)+4294967296*n+65536*E+(t^o>>4),52)}function L(A){var I,g=A.length-3,C=r[64].offset,Q=0,B=0|C[3],t=0,i=0|C[2],e=0,n=0|C[1],a=0,o=0|C[0];for(I=0;I>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),e=435*(n=65535&e),a=435*o,e+=(B^=A.charCodeAt(I++))<<8,B=65535&(Q=435*B),o=(a+=i<<8)+((e+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),e=435*(n=65535&e),a=435*o,e+=(B^=A.charCodeAt(I++))<<8,B=65535&(Q=435*B),o=(a+=i<<8)+((e+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),e=435*(n=65535&e),a=435*o,e+=(B^=A.charCodeAt(I++))<<8,a+=i<<8,B=65535&(Q=435*B),i=65535&(t+=Q>>>16),o=a+((e+=t>>>16)>>>16)&65535,n=65535&e;for(;I>>16),o=a+((e+=t>>>16)>>>16)&65535,n=65535&e;return s(E[o>>8]+E[255&o]+E[n>>8]+E[255&n]+E[i>>8]+E[255&i]+E[B>>8]+E[255&B],64)}function J(A){var I,g=A.length-3,C=r[64].offset,Q=0,B=0|C[3],t=0,i=0|C[2],e=0,n=0|C[1],a=0,o=0|C[0];for(I=0;I>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),e=435*(n=65535&e),a=435*o,e+=(B^=A.charCodeAt(I++))<<8,B=65535&(Q=435*B),o=(a+=i<<8)+((e+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),e=435*(n=65535&e),a=435*o,e+=(B^=A.charCodeAt(I++))<<8,B=65535&(Q=435*B),o=(a+=i<<8)+((e+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),e=435*(n=65535&e),a=435*o,e+=(B^=A.charCodeAt(I++))<<8,a+=i<<8,B=65535&(Q=435*B),i=65535&(t+=Q>>>16),o=a+((e+=t>>>16)>>>16)&65535,n=65535&e,B^=A.charCodeAt(I++);for(;I>>16),o=a+((e+=t>>>16)>>>16)&65535,n=65535&e,B^=A.charCodeAt(I++);return s(E[o>>8]+E[255&o]+E[n>>8]+E[255&n]+E[i>>8]+E[255&i]+E[B>>8]+E[255&B],64)}function k(A){var I,g,C=A.length,Q=r[64].offset,B=0,t=0|Q[3],i=0,e=0|Q[2],n=0,a=0|Q[1],o=0,h=0|Q[0];for(g=0;g>6|192)<<8,o+=e<<8,t=65535&(B=435*t),e=65535&(i+=B>>>16),h=o+((n+=i>>>16)>>>16)&65535,a=65535&n,t^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,t=65535&(B=435*t),h=(o+=e<<8)+((n+=(i+=B>>>16)>>>16)>>>16)&65535,i=435*(e=65535&i),n=435*(a=65535&n),o=435*h,n+=(t^=I>>12&63|128)<<8,t=65535&(B=435*t),h=(o+=e<<8)+((n+=(i+=B>>>16)>>>16)>>>16)&65535,i=435*(e=65535&i),n=435*(a=65535&n),o=435*h,n+=(t^=I>>6&63|128)<<8,o+=e<<8,t=65535&(B=435*t),e=65535&(i+=B>>>16),h=o+((n+=i>>>16)>>>16)&65535,a=65535&n,t^=63&I|128):(i=435*e,n=435*a,o=435*h,n+=(t^=I>>12|224)<<8,t=65535&(B=435*t),h=(o+=e<<8)+((n+=(i+=B>>>16)>>>16)>>>16)&65535,i=435*(e=65535&i),n=435*(a=65535&n),o=435*h,n+=(t^=I>>6&63|128)<<8,o+=e<<8,t=65535&(B=435*t),e=65535&(i+=B>>>16),h=o+((n+=i>>>16)>>>16)&65535,a=65535&n,t^=63&I|128),i=435*e,n=435*a,o=435*h,n+=t<<8,o+=e<<8,t=65535&(B=435*t),e=65535&(i+=B>>>16),h=o+((n+=i>>>16)>>>16)&65535,a=65535&n;return s(E[h>>8]+E[255&h]+E[a>>8]+E[255&a]+E[e>>8]+E[255&e]+E[t>>8]+E[255&t],64)}function N(A){var I,g,C=A.length,Q=r[64].offset,B=0,t=0|Q[3],i=0,e=0|Q[2],n=0,a=0|Q[1],o=0,h=0|Q[0];for(g=0;g>>16),h=o+((n+=i>>>16)>>>16)&65535,a=65535&n,(I=A.charCodeAt(g))<128?t^=I:I<2048?(i=435*e,n=435*a,o=435*h,n+=(t^=I>>6|192)<<8,o+=e<<8,t=65535&(B=435*t),e=65535&(i+=B>>>16),h=o+((n+=i>>>16)>>>16)&65535,a=65535&n,t^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,t=65535&(B=435*t),h=(o+=e<<8)+((n+=(i+=B>>>16)>>>16)>>>16)&65535,i=435*(e=65535&i),n=435*(a=65535&n),o=435*h,n+=(t^=I>>12&63|128)<<8,t=65535&(B=435*t),h=(o+=e<<8)+((n+=(i+=B>>>16)>>>16)>>>16)&65535,i=435*(e=65535&i),n=435*(a=65535&n),o=435*h,n+=(t^=I>>6&63|128)<<8,o+=e<<8,t=65535&(B=435*t),e=65535&(i+=B>>>16),h=o+((n+=i>>>16)>>>16)&65535,a=65535&n,t^=63&I|128):(i=435*e,n=435*a,o=435*h,n+=(t^=I>>12|224)<<8,t=65535&(B=435*t),h=(o+=e<<8)+((n+=(i+=B>>>16)>>>16)>>>16)&65535,i=435*(e=65535&i),n=435*(a=65535&n),o=435*h,n+=(t^=I>>6&63|128)<<8,o+=e<<8,t=65535&(B=435*t),e=65535&(i+=B>>>16),h=o+((n+=i>>>16)>>>16)&65535,a=65535&n,t^=63&I|128);return s(E[h>>8]+E[255&h]+E[a>>8]+E[255&a]+E[e>>8]+E[255&e]+E[t>>8]+E[255&t],64)}function b(A){var I,g=A.length-3,C=r[128].offset,Q=0,B=0|C[7],t=0,i=0|C[6],e=0,n=0|C[5],a=0,o=0|C[4],h=0,w=0|C[3],f=0,D=0|C[2],c=0,y=0|C[1],F=0,M=0|C[0];for(I=0;I>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=315*(i=65535&t),e=315*(n=65535&e),a=315*(o=65535&a),h=315*(w=65535&h),f=315*(D=65535&f),c=315*(y=65535&c),F=315*M,f+=(B^=A.charCodeAt(I++))<<8,c+=i<<8,B=65535&(Q=315*B),M=(F+=n<<8)+((c+=(f+=(h+=(a+=(e+=(t+=Q>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=315*(i=65535&t),e=315*(n=65535&e),a=315*(o=65535&a),h=315*(w=65535&h),f=315*(D=65535&f),c=315*(y=65535&c),F=315*M,f+=(B^=A.charCodeAt(I++))<<8,c+=i<<8,B=65535&(Q=315*B),M=(F+=n<<8)+((c+=(f+=(h+=(a+=(e+=(t+=Q>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=315*(i=65535&t),e=315*(n=65535&e),a=315*(o=65535&a),h=315*(w=65535&h),f=315*(D=65535&f),c=315*(y=65535&c),F=315*M,f+=(B^=A.charCodeAt(I++))<<8,c+=i<<8,F+=n<<8,B=65535&(Q=315*B),i=65535&(t+=Q>>>16),n=65535&(e+=t>>>16),o=65535&(a+=e>>>16),w=65535&(h+=a>>>16),D=65535&(f+=h>>>16),M=F+((c+=f>>>16)>>>16)&65535,y=65535&c;for(;I>>16),n=65535&(e+=t>>>16),o=65535&(a+=e>>>16),w=65535&(h+=a>>>16),D=65535&(f+=h>>>16),M=F+((c+=f>>>16)>>>16)&65535,y=65535&c;return s(E[M>>8]+E[255&M]+E[y>>8]+E[255&y]+E[D>>8]+E[255&D]+E[w>>8]+E[255&w]+E[o>>8]+E[255&o]+E[n>>8]+E[255&n]+E[i>>8]+E[255&i]+E[B>>8]+E[255&B],128)}function R(A){var I,g=A.length-3,C=r[128].offset,Q=0,B=0|C[7],t=0,i=0|C[6],e=0,n=0|C[5],a=0,o=0|C[4],h=0,w=0|C[3],f=0,D=0|C[2],c=0,y=0|C[1],F=0,M=0|C[0];for(I=0;I>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=315*(i=65535&t),e=315*(n=65535&e),a=315*(o=65535&a),h=315*(w=65535&h),f=315*(D=65535&f),c=315*(y=65535&c),F=315*M,f+=(B^=A.charCodeAt(I++))<<8,c+=i<<8,B=65535&(Q=315*B),M=(F+=n<<8)+((c+=(f+=(h+=(a+=(e+=(t+=Q>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=315*(i=65535&t),e=315*(n=65535&e),a=315*(o=65535&a),h=315*(w=65535&h),f=315*(D=65535&f),c=315*(y=65535&c),F=315*M,f+=(B^=A.charCodeAt(I++))<<8,c+=i<<8,B=65535&(Q=315*B),M=(F+=n<<8)+((c+=(f+=(h+=(a+=(e+=(t+=Q>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=315*(i=65535&t),e=315*(n=65535&e),a=315*(o=65535&a),h=315*(w=65535&h),f=315*(D=65535&f),c=315*(y=65535&c),F=315*M,f+=(B^=A.charCodeAt(I++))<<8,c+=i<<8,F+=n<<8,B=65535&(Q=315*B),i=65535&(t+=Q>>>16),n=65535&(e+=t>>>16),o=65535&(a+=e>>>16),w=65535&(h+=a>>>16),D=65535&(f+=h>>>16),M=F+((c+=f>>>16)>>>16)&65535,y=65535&c,B^=A.charCodeAt(I++);for(;I>>16),n=65535&(e+=t>>>16),o=65535&(a+=e>>>16),w=65535&(h+=a>>>16),D=65535&(f+=h>>>16),M=F+((c+=f>>>16)>>>16)&65535,y=65535&c,B^=A.charCodeAt(I++);return s(E[M>>8]+E[255&M]+E[y>>8]+E[255&y]+E[D>>8]+E[255&D]+E[w>>8]+E[255&w]+E[o>>8]+E[255&o]+E[n>>8]+E[255&n]+E[i>>8]+E[255&i]+E[B>>8]+E[255&B],128)}function S(A){var I,g,C=A.length,Q=r[128].offset,B=0,t=0|Q[7],i=0,e=0|Q[6],n=0,a=0|Q[5],o=0,h=0|Q[4],w=0,f=0|Q[3],D=0,c=0|Q[2],y=0,F=0|Q[1],M=0,u=0|Q[0];for(g=0;g>6|192)<<8,y+=e<<8,M+=a<<8,t=65535&(B=315*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),u=M+((y+=D>>>16)>>>16)&65535,F=65535&y,t^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,y+=e<<8,t=65535&(B=315*t),u=(M+=a<<8)+((y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=315*(e=65535&i),n=315*(a=65535&n),o=315*(h=65535&o),w=315*(f=65535&w),D=315*(c=65535&D),y=315*(F=65535&y),M=315*u,D+=(t^=I>>12&63|128)<<8,y+=e<<8,t=65535&(B=315*t),u=(M+=a<<8)+((y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=315*(e=65535&i),n=315*(a=65535&n),o=315*(h=65535&o),w=315*(f=65535&w),D=315*(c=65535&D),y=315*(F=65535&y),M=315*u,D+=(t^=I>>6&63|128)<<8,y+=e<<8,M+=a<<8,t=65535&(B=315*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),u=M+((y+=D>>>16)>>>16)&65535,F=65535&y,t^=63&I|128):(i=315*e,n=315*a,o=315*h,w=315*f,D=315*c,y=315*F,M=315*u,D+=(t^=I>>12|224)<<8,y+=e<<8,t=65535&(B=315*t),u=(M+=a<<8)+((y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=315*(e=65535&i),n=315*(a=65535&n),o=315*(h=65535&o),w=315*(f=65535&w),D=315*(c=65535&D),y=315*(F=65535&y),M=315*u,D+=(t^=I>>6&63|128)<<8,y+=e<<8,M+=a<<8,t=65535&(B=315*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),u=M+((y+=D>>>16)>>>16)&65535,F=65535&y,t^=63&I|128),i=315*e,n=315*a,o=315*h,w=315*f,D=315*c,y=315*F,M=315*u,D+=t<<8,y+=e<<8,M+=a<<8,t=65535&(B=315*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),u=M+((y+=D>>>16)>>>16)&65535,F=65535&y;return s(E[u>>8]+E[255&u]+E[F>>8]+E[255&F]+E[c>>8]+E[255&c]+E[f>>8]+E[255&f]+E[h>>8]+E[255&h]+E[a>>8]+E[255&a]+E[e>>8]+E[255&e]+E[t>>8]+E[255&t],128)}function v(A){var I,g,C=A.length,Q=r[128].offset,B=0,t=0|Q[7],i=0,e=0|Q[6],n=0,a=0|Q[5],o=0,h=0|Q[4],w=0,f=0|Q[3],D=0,c=0|Q[2],y=0,F=0|Q[1],M=0,u=0|Q[0];for(g=0;g>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),u=M+((y+=D>>>16)>>>16)&65535,F=65535&y,(I=A.charCodeAt(g))<128?t^=I:I<2048?(i=315*e,n=315*a,o=315*h,w=315*f,D=315*c,y=315*F,M=315*u,D+=(t^=I>>6|192)<<8,y+=e<<8,M+=a<<8,t=65535&(B=315*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),u=M+((y+=D>>>16)>>>16)&65535,F=65535&y,t^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,y+=e<<8,t=65535&(B=315*t),u=(M+=a<<8)+((y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=315*(e=65535&i),n=315*(a=65535&n),o=315*(h=65535&o),w=315*(f=65535&w),D=315*(c=65535&D),y=315*(F=65535&y),M=315*u,D+=(t^=I>>12&63|128)<<8,y+=e<<8,t=65535&(B=315*t),u=(M+=a<<8)+((y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=315*(e=65535&i),n=315*(a=65535&n),o=315*(h=65535&o),w=315*(f=65535&w),D=315*(c=65535&D),y=315*(F=65535&y),M=315*u,D+=(t^=I>>6&63|128)<<8,y+=e<<8,M+=a<<8,t=65535&(B=315*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),u=M+((y+=D>>>16)>>>16)&65535,F=65535&y,t^=63&I|128):(i=315*e,n=315*a,o=315*h,w=315*f,D=315*c,y=315*F,M=315*u,D+=(t^=I>>12|224)<<8,y+=e<<8,t=65535&(B=315*t),u=(M+=a<<8)+((y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=315*(e=65535&i),n=315*(a=65535&n),o=315*(h=65535&o),w=315*(f=65535&w),D=315*(c=65535&D),y=315*(F=65535&y),M=315*u,D+=(t^=I>>6&63|128)<<8,y+=e<<8,M+=a<<8,t=65535&(B=315*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),u=M+((y+=D>>>16)>>>16)&65535,F=65535&y,t^=63&I|128);return s(E[u>>8]+E[255&u]+E[F>>8]+E[255&F]+E[c>>8]+E[255&c]+E[f>>8]+E[255&f]+E[h>>8]+E[255&h]+E[a>>8]+E[255&a]+E[e>>8]+E[255&e]+E[t>>8]+E[255&t],128)}function Y(A){var I,g=A.length-3,C=r[256].offset,Q=0,B=0|C[15],t=0,i=0|C[14],e=0,n=0|C[13],a=0,o=0|C[12],h=0,w=0|C[11],f=0,D=0|C[10],c=0,y=0|C[9],F=0,M=0|C[8],u=0,l=0|C[7],p=0,H=0|C[6],G=0,U=0|C[5],d=0,m=0|C[4],L=0,J=0|C[3],k=0,N=0|C[2],b=0,R=0|C[1],S=0,v=0|C[0];for(I=0;I>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=355*(i=65535&t),e=355*(n=65535&e),a=355*(o=65535&a),h=355*(w=65535&h),f=355*(D=65535&f),c=355*(y=65535&c),F=355*(M=65535&F),u=355*(l=65535&u),p=355*(H=65535&p),G=355*(U=65535&G),d=355*(m=65535&d),L=355*(J=65535&L),k=355*(N=65535&k),b=355*(R=65535&b),S=355*v,G+=(B^=A.charCodeAt(I++))<<8,d+=i<<8,L+=n<<8,k+=o<<8,b+=w<<8,B=65535&(Q=355*B),v=(S+=D<<8)+((b+=(k+=(L+=(d+=(G+=(p+=(u+=(F+=(c+=(f+=(h+=(a+=(e+=(t+=Q>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=355*(i=65535&t),e=355*(n=65535&e),a=355*(o=65535&a),h=355*(w=65535&h),f=355*(D=65535&f),c=355*(y=65535&c),F=355*(M=65535&F),u=355*(l=65535&u),p=355*(H=65535&p),G=355*(U=65535&G),d=355*(m=65535&d),L=355*(J=65535&L),k=355*(N=65535&k),b=355*(R=65535&b),S=355*v,G+=(B^=A.charCodeAt(I++))<<8,d+=i<<8,L+=n<<8,k+=o<<8,b+=w<<8,B=65535&(Q=355*B),v=(S+=D<<8)+((b+=(k+=(L+=(d+=(G+=(p+=(u+=(F+=(c+=(f+=(h+=(a+=(e+=(t+=Q>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=355*(i=65535&t),e=355*(n=65535&e),a=355*(o=65535&a),h=355*(w=65535&h),f=355*(D=65535&f),c=355*(y=65535&c),F=355*(M=65535&F),u=355*(l=65535&u),p=355*(H=65535&p),G=355*(U=65535&G),d=355*(m=65535&d),L=355*(J=65535&L),k=355*(N=65535&k),b=355*(R=65535&b),S=355*v,G+=(B^=A.charCodeAt(I++))<<8,d+=i<<8,L+=n<<8,k+=o<<8,b+=w<<8,S+=D<<8,B=65535&(Q=355*B),i=65535&(t+=Q>>>16),n=65535&(e+=t>>>16),o=65535&(a+=e>>>16),w=65535&(h+=a>>>16),D=65535&(f+=h>>>16),y=65535&(c+=f>>>16),M=65535&(F+=c>>>16),l=65535&(u+=F>>>16),H=65535&(p+=u>>>16),U=65535&(G+=p>>>16),m=65535&(d+=G>>>16),J=65535&(L+=d>>>16),N=65535&(k+=L>>>16),v=S+((b+=k>>>16)>>>16)&65535,R=65535&b;for(;I>>16),n=65535&(e+=t>>>16),o=65535&(a+=e>>>16),w=65535&(h+=a>>>16),D=65535&(f+=h>>>16),y=65535&(c+=f>>>16),M=65535&(F+=c>>>16),l=65535&(u+=F>>>16),H=65535&(p+=u>>>16),U=65535&(G+=p>>>16),m=65535&(d+=G>>>16),J=65535&(L+=d>>>16),N=65535&(k+=L>>>16),v=S+((b+=k>>>16)>>>16)&65535,R=65535&b;return s(E[v>>8]+E[255&v]+E[R>>8]+E[255&R]+E[N>>8]+E[255&N]+E[J>>8]+E[255&J]+E[m>>8]+E[255&m]+E[U>>8]+E[255&U]+E[H>>8]+E[255&H]+E[l>>8]+E[255&l]+E[M>>8]+E[255&M]+E[y>>8]+E[255&y]+E[D>>8]+E[255&D]+E[w>>8]+E[255&w]+E[o>>8]+E[255&o]+E[n>>8]+E[255&n]+E[i>>8]+E[255&i]+E[B>>8]+E[255&B],256)}function P(A){var I,g=A.length-3,C=r[256].offset,Q=0,B=0|C[15],t=0,i=0|C[14],e=0,n=0|C[13],a=0,o=0|C[12],h=0,w=0|C[11],f=0,D=0|C[10],c=0,y=0|C[9],F=0,M=0|C[8],u=0,l=0|C[7],p=0,H=0|C[6],G=0,U=0|C[5],d=0,m=0|C[4],L=0,J=0|C[3],k=0,N=0|C[2],b=0,R=0|C[1],S=0,v=0|C[0];for(I=0;I>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=355*(i=65535&t),e=355*(n=65535&e),a=355*(o=65535&a),h=355*(w=65535&h),f=355*(D=65535&f),c=355*(y=65535&c),F=355*(M=65535&F),u=355*(l=65535&u),p=355*(H=65535&p),G=355*(U=65535&G),d=355*(m=65535&d),L=355*(J=65535&L),k=355*(N=65535&k),b=355*(R=65535&b),S=355*v,G+=(B^=A.charCodeAt(I++))<<8,d+=i<<8,L+=n<<8,k+=o<<8,b+=w<<8,B=65535&(Q=355*B),v=(S+=D<<8)+((b+=(k+=(L+=(d+=(G+=(p+=(u+=(F+=(c+=(f+=(h+=(a+=(e+=(t+=Q>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=355*(i=65535&t),e=355*(n=65535&e),a=355*(o=65535&a),h=355*(w=65535&h),f=355*(D=65535&f),c=355*(y=65535&c),F=355*(M=65535&F),u=355*(l=65535&u),p=355*(H=65535&p),G=355*(U=65535&G),d=355*(m=65535&d),L=355*(J=65535&L),k=355*(N=65535&k),b=355*(R=65535&b),S=355*v,G+=(B^=A.charCodeAt(I++))<<8,d+=i<<8,L+=n<<8,k+=o<<8,b+=w<<8,B=65535&(Q=355*B),v=(S+=D<<8)+((b+=(k+=(L+=(d+=(G+=(p+=(u+=(F+=(c+=(f+=(h+=(a+=(e+=(t+=Q>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=355*(i=65535&t),e=355*(n=65535&e),a=355*(o=65535&a),h=355*(w=65535&h),f=355*(D=65535&f),c=355*(y=65535&c),F=355*(M=65535&F),u=355*(l=65535&u),p=355*(H=65535&p),G=355*(U=65535&G),d=355*(m=65535&d),L=355*(J=65535&L),k=355*(N=65535&k),b=355*(R=65535&b),S=355*v,G+=(B^=A.charCodeAt(I++))<<8,d+=i<<8,L+=n<<8,k+=o<<8,b+=w<<8,S+=D<<8,B=65535&(Q=355*B),i=65535&(t+=Q>>>16),n=65535&(e+=t>>>16),o=65535&(a+=e>>>16),w=65535&(h+=a>>>16),D=65535&(f+=h>>>16),y=65535&(c+=f>>>16),M=65535&(F+=c>>>16),l=65535&(u+=F>>>16),H=65535&(p+=u>>>16),U=65535&(G+=p>>>16),m=65535&(d+=G>>>16),J=65535&(L+=d>>>16),N=65535&(k+=L>>>16),v=S+((b+=k>>>16)>>>16)&65535,R=65535&b,B^=A.charCodeAt(I++);for(;I>>16),n=65535&(e+=t>>>16),o=65535&(a+=e>>>16),w=65535&(h+=a>>>16),D=65535&(f+=h>>>16),y=65535&(c+=f>>>16),M=65535&(F+=c>>>16),l=65535&(u+=F>>>16),H=65535&(p+=u>>>16),U=65535&(G+=p>>>16),m=65535&(d+=G>>>16),J=65535&(L+=d>>>16),N=65535&(k+=L>>>16),v=S+((b+=k>>>16)>>>16)&65535,R=65535&b,B^=A.charCodeAt(I++);return s(E[v>>8]+E[255&v]+E[R>>8]+E[255&R]+E[N>>8]+E[255&N]+E[J>>8]+E[255&J]+E[m>>8]+E[255&m]+E[U>>8]+E[255&U]+E[H>>8]+E[255&H]+E[l>>8]+E[255&l]+E[M>>8]+E[255&M]+E[y>>8]+E[255&y]+E[D>>8]+E[255&D]+E[w>>8]+E[255&w]+E[o>>8]+E[255&o]+E[n>>8]+E[255&n]+E[i>>8]+E[255&i]+E[B>>8]+E[255&B],256)}function q(A){var I,g,C=A.length,Q=r[256].offset,B=0,t=0|Q[15],i=0,e=0|Q[14],n=0,a=0|Q[13],o=0,h=0|Q[12],w=0,f=0|Q[11],D=0,c=0|Q[10],y=0,F=0|Q[9],M=0,u=0|Q[8],l=0,p=0|Q[7],H=0,G=0|Q[6],U=0,d=0|Q[5],m=0,L=0|Q[4],J=0,k=0|Q[3],N=0,b=0|Q[2],R=0,S=0|Q[1],v=0,Y=0|Q[0];for(g=0;g>6|192)<<8,m+=e<<8,J+=a<<8,N+=h<<8,R+=f<<8,v+=c<<8,t=65535&(B=355*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),Y=v+((R+=N>>>16)>>>16)&65535,S=65535&R,t^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,m+=e<<8,J+=a<<8,N+=h<<8,R+=f<<8,t=65535&(B=355*t),Y=(v+=c<<8)+((R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=355*(e=65535&i),n=355*(a=65535&n),o=355*(h=65535&o),w=355*(f=65535&w),D=355*(c=65535&D),y=355*(F=65535&y),M=355*(u=65535&M),l=355*(p=65535&l),H=355*(G=65535&H),U=355*(d=65535&U),m=355*(L=65535&m),J=355*(k=65535&J),N=355*(b=65535&N),R=355*(S=65535&R),v=355*Y,U+=(t^=I>>12&63|128)<<8,m+=e<<8,J+=a<<8,N+=h<<8,R+=f<<8,t=65535&(B=355*t),Y=(v+=c<<8)+((R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=355*(e=65535&i),n=355*(a=65535&n),o=355*(h=65535&o),w=355*(f=65535&w),D=355*(c=65535&D),y=355*(F=65535&y),M=355*(u=65535&M),l=355*(p=65535&l),H=355*(G=65535&H),U=355*(d=65535&U),m=355*(L=65535&m),J=355*(k=65535&J),N=355*(b=65535&N),R=355*(S=65535&R),v=355*Y,U+=(t^=I>>6&63|128)<<8,m+=e<<8,J+=a<<8,N+=h<<8,R+=f<<8,v+=c<<8,t=65535&(B=355*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),Y=v+((R+=N>>>16)>>>16)&65535,S=65535&R,t^=63&I|128):(i=355*e,n=355*a,o=355*h,w=355*f,D=355*c,y=355*F,M=355*u,l=355*p,H=355*G,U=355*d,m=355*L,J=355*k,N=355*b,R=355*S,v=355*Y,U+=(t^=I>>12|224)<<8,m+=e<<8,J+=a<<8,N+=h<<8,R+=f<<8,t=65535&(B=355*t),Y=(v+=c<<8)+((R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=355*(e=65535&i),n=355*(a=65535&n),o=355*(h=65535&o),w=355*(f=65535&w),D=355*(c=65535&D),y=355*(F=65535&y),M=355*(u=65535&M),l=355*(p=65535&l),H=355*(G=65535&H),U=355*(d=65535&U),m=355*(L=65535&m),J=355*(k=65535&J),N=355*(b=65535&N),R=355*(S=65535&R),v=355*Y,U+=(t^=I>>6&63|128)<<8,m+=e<<8,J+=a<<8,N+=h<<8,R+=f<<8,v+=c<<8,t=65535&(B=355*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),Y=v+((R+=N>>>16)>>>16)&65535,S=65535&R,t^=63&I|128),i=355*e,n=355*a,o=355*h,w=355*f,D=355*c,y=355*F,M=355*u,l=355*p,H=355*G,U=355*d,m=355*L,J=355*k,N=355*b,R=355*S,v=355*Y,U+=t<<8,m+=e<<8,J+=a<<8,N+=h<<8,R+=f<<8,v+=c<<8,t=65535&(B=355*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),Y=v+((R+=N>>>16)>>>16)&65535,S=65535&R;return s(E[Y>>8]+E[255&Y]+E[S>>8]+E[255&S]+E[b>>8]+E[255&b]+E[k>>8]+E[255&k]+E[L>>8]+E[255&L]+E[d>>8]+E[255&d]+E[G>>8]+E[255&G]+E[p>>8]+E[255&p]+E[u>>8]+E[255&u]+E[F>>8]+E[255&F]+E[c>>8]+E[255&c]+E[f>>8]+E[255&f]+E[h>>8]+E[255&h]+E[a>>8]+E[255&a]+E[e>>8]+E[255&e]+E[t>>8]+E[255&t],256)}function x(A){var I,g,C=A.length,Q=r[256].offset,B=0,t=0|Q[15],i=0,e=0|Q[14],n=0,a=0|Q[13],o=0,h=0|Q[12],w=0,f=0|Q[11],D=0,c=0|Q[10],y=0,F=0|Q[9],M=0,u=0|Q[8],l=0,p=0|Q[7],H=0,G=0|Q[6],U=0,d=0|Q[5],m=0,L=0|Q[4],J=0,k=0|Q[3],N=0,b=0|Q[2],R=0,S=0|Q[1],v=0,Y=0|Q[0];for(g=0;g>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),Y=v+((R+=N>>>16)>>>16)&65535,S=65535&R,(I=A.charCodeAt(g))<128?t^=I:I<2048?(i=355*e,n=355*a,o=355*h,w=355*f,D=355*c,y=355*F,M=355*u,l=355*p,H=355*G,U=355*d,m=355*L,J=355*k,N=355*b,R=355*S,v=355*Y,U+=(t^=I>>6|192)<<8,m+=e<<8,J+=a<<8,N+=h<<8,R+=f<<8,v+=c<<8,t=65535&(B=355*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),Y=v+((R+=N>>>16)>>>16)&65535,S=65535&R,t^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,m+=e<<8,J+=a<<8,N+=h<<8,R+=f<<8,t=65535&(B=355*t),Y=(v+=c<<8)+((R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=355*(e=65535&i),n=355*(a=65535&n),o=355*(h=65535&o),w=355*(f=65535&w),D=355*(c=65535&D),y=355*(F=65535&y),M=355*(u=65535&M),l=355*(p=65535&l),H=355*(G=65535&H),U=355*(d=65535&U),m=355*(L=65535&m),J=355*(k=65535&J),N=355*(b=65535&N),R=355*(S=65535&R),v=355*Y,U+=(t^=I>>12&63|128)<<8,m+=e<<8,J+=a<<8,N+=h<<8,R+=f<<8,t=65535&(B=355*t),Y=(v+=c<<8)+((R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=355*(e=65535&i),n=355*(a=65535&n),o=355*(h=65535&o),w=355*(f=65535&w),D=355*(c=65535&D),y=355*(F=65535&y),M=355*(u=65535&M),l=355*(p=65535&l),H=355*(G=65535&H),U=355*(d=65535&U),m=355*(L=65535&m),J=355*(k=65535&J),N=355*(b=65535&N),R=355*(S=65535&R),v=355*Y,U+=(t^=I>>6&63|128)<<8,m+=e<<8,J+=a<<8,N+=h<<8,R+=f<<8,v+=c<<8,t=65535&(B=355*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),Y=v+((R+=N>>>16)>>>16)&65535,S=65535&R,t^=63&I|128):(i=355*e,n=355*a,o=355*h,w=355*f,D=355*c,y=355*F,M=355*u,l=355*p,H=355*G,U=355*d,m=355*L,J=355*k,N=355*b,R=355*S,v=355*Y,U+=(t^=I>>12|224)<<8,m+=e<<8,J+=a<<8,N+=h<<8,R+=f<<8,t=65535&(B=355*t),Y=(v+=c<<8)+((R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=355*(e=65535&i),n=355*(a=65535&n),o=355*(h=65535&o),w=355*(f=65535&w),D=355*(c=65535&D),y=355*(F=65535&y),M=355*(u=65535&M),l=355*(p=65535&l),H=355*(G=65535&H),U=355*(d=65535&U),m=355*(L=65535&m),J=355*(k=65535&J),N=355*(b=65535&N),R=355*(S=65535&R),v=355*Y,U+=(t^=I>>6&63|128)<<8,m+=e<<8,J+=a<<8,N+=h<<8,R+=f<<8,v+=c<<8,t=65535&(B=355*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),Y=v+((R+=N>>>16)>>>16)&65535,S=65535&R,t^=63&I|128);return s(E[Y>>8]+E[255&Y]+E[S>>8]+E[255&S]+E[b>>8]+E[255&b]+E[k>>8]+E[255&k]+E[L>>8]+E[255&L]+E[d>>8]+E[255&d]+E[G>>8]+E[255&G]+E[p>>8]+E[255&p]+E[u>>8]+E[255&u]+E[F>>8]+E[255&F]+E[c>>8]+E[255&c]+E[f>>8]+E[255&f]+E[h>>8]+E[255&h]+E[a>>8]+E[255&a]+E[e>>8]+E[255&e]+E[t>>8]+E[255&t],256)}function X(A){var I,g=A.length-3,C=r[512].offset,Q=0,B=0|C[31],t=0,i=0|C[30],e=0,n=0|C[29],a=0,o=0|C[28],h=0,w=0|C[27],f=0,D=0|C[26],c=0,y=0|C[25],F=0,M=0|C[24],u=0,l=0|C[23],p=0,H=0|C[22],G=0,U=0|C[21],d=0,m=0|C[20],L=0,J=0|C[19],k=0,N=0|C[18],b=0,R=0|C[17],S=0,v=0|C[16],Y=0,P=0|C[15],q=0,x=0|C[14],X=0,Z=0|C[13],V=0,K=0|C[12],W=0,O=0|C[11],j=0,z=0|C[10],T=0,_=0|C[9],$=0,AA=0|C[8],IA=0,gA=0|C[7],CA=0,QA=0|C[6],BA=0,tA=0|C[5],iA=0,EA=0|C[4],eA=0,nA=0|C[3],aA=0,oA=0|C[2],hA=0,rA=0|C[1],wA=0,sA=0|C[0];for(I=0;I>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=343*(i=65535&t),e=343*(n=65535&e),a=343*(o=65535&a),h=343*(w=65535&h),f=343*(D=65535&f),c=343*(y=65535&c),F=343*(M=65535&F),u=343*(l=65535&u),p=343*(H=65535&p),G=343*(U=65535&G),d=343*(m=65535&d),L=343*(J=65535&L),k=343*(N=65535&k),b=343*(R=65535&b),S=343*(v=65535&S),Y=343*(P=65535&Y),q=343*(x=65535&q),X=343*(Z=65535&X),V=343*(K=65535&V),W=343*(O=65535&W),j=343*(z=65535&j),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(gA=65535&IA),CA=343*(QA=65535&CA),BA=343*(tA=65535&BA),iA=343*(EA=65535&iA),eA=343*(nA=65535&eA),aA=343*(oA=65535&aA),hA=343*(rA=65535&hA),wA=343*sA,j+=(B^=A.charCodeAt(I++))<<8,T+=i<<8,$+=n<<8,IA+=o<<8,CA+=w<<8,BA+=D<<8,iA+=y<<8,eA+=M<<8,aA+=l<<8,hA+=H<<8,B=65535&(Q=343*B),sA=(wA+=U<<8)+((hA+=(aA+=(eA+=(iA+=(BA+=(CA+=(IA+=($+=(T+=(j+=(W+=(V+=(X+=(q+=(Y+=(S+=(b+=(k+=(L+=(d+=(G+=(p+=(u+=(F+=(c+=(f+=(h+=(a+=(e+=(t+=Q>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=343*(i=65535&t),e=343*(n=65535&e),a=343*(o=65535&a),h=343*(w=65535&h),f=343*(D=65535&f),c=343*(y=65535&c),F=343*(M=65535&F),u=343*(l=65535&u),p=343*(H=65535&p),G=343*(U=65535&G),d=343*(m=65535&d),L=343*(J=65535&L),k=343*(N=65535&k),b=343*(R=65535&b),S=343*(v=65535&S),Y=343*(P=65535&Y),q=343*(x=65535&q),X=343*(Z=65535&X),V=343*(K=65535&V),W=343*(O=65535&W),j=343*(z=65535&j),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(gA=65535&IA),CA=343*(QA=65535&CA),BA=343*(tA=65535&BA),iA=343*(EA=65535&iA),eA=343*(nA=65535&eA),aA=343*(oA=65535&aA),hA=343*(rA=65535&hA),wA=343*sA,j+=(B^=A.charCodeAt(I++))<<8,T+=i<<8,$+=n<<8,IA+=o<<8,CA+=w<<8,BA+=D<<8,iA+=y<<8,eA+=M<<8,aA+=l<<8,hA+=H<<8,B=65535&(Q=343*B),sA=(wA+=U<<8)+((hA+=(aA+=(eA+=(iA+=(BA+=(CA+=(IA+=($+=(T+=(j+=(W+=(V+=(X+=(q+=(Y+=(S+=(b+=(k+=(L+=(d+=(G+=(p+=(u+=(F+=(c+=(f+=(h+=(a+=(e+=(t+=Q>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=343*(i=65535&t),e=343*(n=65535&e),a=343*(o=65535&a),h=343*(w=65535&h),f=343*(D=65535&f),c=343*(y=65535&c),F=343*(M=65535&F),u=343*(l=65535&u),p=343*(H=65535&p),G=343*(U=65535&G),d=343*(m=65535&d),L=343*(J=65535&L),k=343*(N=65535&k),b=343*(R=65535&b),S=343*(v=65535&S),Y=343*(P=65535&Y),q=343*(x=65535&q),X=343*(Z=65535&X),V=343*(K=65535&V),W=343*(O=65535&W),j=343*(z=65535&j),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(gA=65535&IA),CA=343*(QA=65535&CA),BA=343*(tA=65535&BA),iA=343*(EA=65535&iA),eA=343*(nA=65535&eA),aA=343*(oA=65535&aA),hA=343*(rA=65535&hA),wA=343*sA,j+=(B^=A.charCodeAt(I++))<<8,T+=i<<8,$+=n<<8,IA+=o<<8,CA+=w<<8,BA+=D<<8,iA+=y<<8,eA+=M<<8,aA+=l<<8,hA+=H<<8,wA+=U<<8,B=65535&(Q=343*B),i=65535&(t+=Q>>>16),n=65535&(e+=t>>>16),o=65535&(a+=e>>>16),w=65535&(h+=a>>>16),D=65535&(f+=h>>>16),y=65535&(c+=f>>>16),M=65535&(F+=c>>>16),l=65535&(u+=F>>>16),H=65535&(p+=u>>>16),U=65535&(G+=p>>>16),m=65535&(d+=G>>>16),J=65535&(L+=d>>>16),N=65535&(k+=L>>>16),R=65535&(b+=k>>>16),v=65535&(S+=b>>>16),P=65535&(Y+=S>>>16),x=65535&(q+=Y>>>16),Z=65535&(X+=q>>>16),K=65535&(V+=X>>>16),O=65535&(W+=V>>>16),z=65535&(j+=W>>>16),_=65535&(T+=j>>>16),AA=65535&($+=T>>>16),gA=65535&(IA+=$>>>16),QA=65535&(CA+=IA>>>16),tA=65535&(BA+=CA>>>16),EA=65535&(iA+=BA>>>16),nA=65535&(eA+=iA>>>16),oA=65535&(aA+=eA>>>16),sA=wA+((hA+=aA>>>16)>>>16)&65535,rA=65535&hA;for(;I>>16),n=65535&(e+=t>>>16),o=65535&(a+=e>>>16),w=65535&(h+=a>>>16),D=65535&(f+=h>>>16),y=65535&(c+=f>>>16),M=65535&(F+=c>>>16),l=65535&(u+=F>>>16),H=65535&(p+=u>>>16),U=65535&(G+=p>>>16),m=65535&(d+=G>>>16),J=65535&(L+=d>>>16),N=65535&(k+=L>>>16),R=65535&(b+=k>>>16),v=65535&(S+=b>>>16),P=65535&(Y+=S>>>16),x=65535&(q+=Y>>>16),Z=65535&(X+=q>>>16),K=65535&(V+=X>>>16),O=65535&(W+=V>>>16),z=65535&(j+=W>>>16),_=65535&(T+=j>>>16),AA=65535&($+=T>>>16),gA=65535&(IA+=$>>>16),QA=65535&(CA+=IA>>>16),tA=65535&(BA+=CA>>>16),EA=65535&(iA+=BA>>>16),nA=65535&(eA+=iA>>>16),oA=65535&(aA+=eA>>>16),sA=wA+((hA+=aA>>>16)>>>16)&65535,rA=65535&hA;return s(E[sA>>8]+E[255&sA]+E[rA>>8]+E[255&rA]+E[oA>>8]+E[255&oA]+E[nA>>8]+E[255&nA]+E[EA>>8]+E[255&EA]+E[tA>>8]+E[255&tA]+E[QA>>8]+E[255&QA]+E[gA>>8]+E[255&gA]+E[AA>>8]+E[255&AA]+E[_>>8]+E[255&_]+E[z>>8]+E[255&z]+E[O>>8]+E[255&O]+E[K>>8]+E[255&K]+E[Z>>8]+E[255&Z]+E[x>>8]+E[255&x]+E[P>>8]+E[255&P]+E[v>>8]+E[255&v]+E[R>>8]+E[255&R]+E[N>>8]+E[255&N]+E[J>>8]+E[255&J]+E[m>>8]+E[255&m]+E[U>>8]+E[255&U]+E[H>>8]+E[255&H]+E[l>>8]+E[255&l]+E[M>>8]+E[255&M]+E[y>>8]+E[255&y]+E[D>>8]+E[255&D]+E[w>>8]+E[255&w]+E[o>>8]+E[255&o]+E[n>>8]+E[255&n]+E[i>>8]+E[255&i]+E[B>>8]+E[255&B],512)}function Z(A){var I,g=A.length-3,C=r[512].offset,Q=0,B=0|C[31],t=0,i=0|C[30],e=0,n=0|C[29],a=0,o=0|C[28],h=0,w=0|C[27],f=0,D=0|C[26],c=0,y=0|C[25],F=0,M=0|C[24],u=0,l=0|C[23],p=0,H=0|C[22],G=0,U=0|C[21],d=0,m=0|C[20],L=0,J=0|C[19],k=0,N=0|C[18],b=0,R=0|C[17],S=0,v=0|C[16],Y=0,P=0|C[15],q=0,x=0|C[14],X=0,Z=0|C[13],V=0,K=0|C[12],W=0,O=0|C[11],j=0,z=0|C[10],T=0,_=0|C[9],$=0,AA=0|C[8],IA=0,gA=0|C[7],CA=0,QA=0|C[6],BA=0,tA=0|C[5],iA=0,EA=0|C[4],eA=0,nA=0|C[3],aA=0,oA=0|C[2],hA=0,rA=0|C[1],wA=0,sA=0|C[0];for(I=0;I>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=343*(i=65535&t),e=343*(n=65535&e),a=343*(o=65535&a),h=343*(w=65535&h),f=343*(D=65535&f),c=343*(y=65535&c),F=343*(M=65535&F),u=343*(l=65535&u),p=343*(H=65535&p),G=343*(U=65535&G),d=343*(m=65535&d),L=343*(J=65535&L),k=343*(N=65535&k),b=343*(R=65535&b),S=343*(v=65535&S),Y=343*(P=65535&Y),q=343*(x=65535&q),X=343*(Z=65535&X),V=343*(K=65535&V),W=343*(O=65535&W),j=343*(z=65535&j),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(gA=65535&IA),CA=343*(QA=65535&CA),BA=343*(tA=65535&BA),iA=343*(EA=65535&iA),eA=343*(nA=65535&eA),aA=343*(oA=65535&aA),hA=343*(rA=65535&hA),wA=343*sA,j+=(B^=A.charCodeAt(I++))<<8,T+=i<<8,$+=n<<8,IA+=o<<8,CA+=w<<8,BA+=D<<8,iA+=y<<8,eA+=M<<8,aA+=l<<8,hA+=H<<8,B=65535&(Q=343*B),sA=(wA+=U<<8)+((hA+=(aA+=(eA+=(iA+=(BA+=(CA+=(IA+=($+=(T+=(j+=(W+=(V+=(X+=(q+=(Y+=(S+=(b+=(k+=(L+=(d+=(G+=(p+=(u+=(F+=(c+=(f+=(h+=(a+=(e+=(t+=Q>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=343*(i=65535&t),e=343*(n=65535&e),a=343*(o=65535&a),h=343*(w=65535&h),f=343*(D=65535&f),c=343*(y=65535&c),F=343*(M=65535&F),u=343*(l=65535&u),p=343*(H=65535&p),G=343*(U=65535&G),d=343*(m=65535&d),L=343*(J=65535&L),k=343*(N=65535&k),b=343*(R=65535&b),S=343*(v=65535&S),Y=343*(P=65535&Y),q=343*(x=65535&q),X=343*(Z=65535&X),V=343*(K=65535&V),W=343*(O=65535&W),j=343*(z=65535&j),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(gA=65535&IA),CA=343*(QA=65535&CA),BA=343*(tA=65535&BA),iA=343*(EA=65535&iA),eA=343*(nA=65535&eA),aA=343*(oA=65535&aA),hA=343*(rA=65535&hA),wA=343*sA,j+=(B^=A.charCodeAt(I++))<<8,T+=i<<8,$+=n<<8,IA+=o<<8,CA+=w<<8,BA+=D<<8,iA+=y<<8,eA+=M<<8,aA+=l<<8,hA+=H<<8,B=65535&(Q=343*B),sA=(wA+=U<<8)+((hA+=(aA+=(eA+=(iA+=(BA+=(CA+=(IA+=($+=(T+=(j+=(W+=(V+=(X+=(q+=(Y+=(S+=(b+=(k+=(L+=(d+=(G+=(p+=(u+=(F+=(c+=(f+=(h+=(a+=(e+=(t+=Q>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=343*(i=65535&t),e=343*(n=65535&e),a=343*(o=65535&a),h=343*(w=65535&h),f=343*(D=65535&f),c=343*(y=65535&c),F=343*(M=65535&F),u=343*(l=65535&u),p=343*(H=65535&p),G=343*(U=65535&G),d=343*(m=65535&d),L=343*(J=65535&L),k=343*(N=65535&k),b=343*(R=65535&b),S=343*(v=65535&S),Y=343*(P=65535&Y),q=343*(x=65535&q),X=343*(Z=65535&X),V=343*(K=65535&V),W=343*(O=65535&W),j=343*(z=65535&j),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(gA=65535&IA),CA=343*(QA=65535&CA),BA=343*(tA=65535&BA),iA=343*(EA=65535&iA),eA=343*(nA=65535&eA),aA=343*(oA=65535&aA),hA=343*(rA=65535&hA),wA=343*sA,j+=(B^=A.charCodeAt(I++))<<8,T+=i<<8,$+=n<<8,IA+=o<<8,CA+=w<<8,BA+=D<<8,iA+=y<<8,eA+=M<<8,aA+=l<<8,hA+=H<<8,wA+=U<<8,B=65535&(Q=343*B),i=65535&(t+=Q>>>16),n=65535&(e+=t>>>16),o=65535&(a+=e>>>16),w=65535&(h+=a>>>16),D=65535&(f+=h>>>16),y=65535&(c+=f>>>16),M=65535&(F+=c>>>16),l=65535&(u+=F>>>16),H=65535&(p+=u>>>16),U=65535&(G+=p>>>16),m=65535&(d+=G>>>16),J=65535&(L+=d>>>16),N=65535&(k+=L>>>16),R=65535&(b+=k>>>16),v=65535&(S+=b>>>16),P=65535&(Y+=S>>>16),x=65535&(q+=Y>>>16),Z=65535&(X+=q>>>16),K=65535&(V+=X>>>16),O=65535&(W+=V>>>16),z=65535&(j+=W>>>16),_=65535&(T+=j>>>16),AA=65535&($+=T>>>16),gA=65535&(IA+=$>>>16),QA=65535&(CA+=IA>>>16),tA=65535&(BA+=CA>>>16),EA=65535&(iA+=BA>>>16),nA=65535&(eA+=iA>>>16),oA=65535&(aA+=eA>>>16),sA=wA+((hA+=aA>>>16)>>>16)&65535,rA=65535&hA,B^=A.charCodeAt(I++);for(;I>>16),n=65535&(e+=t>>>16),o=65535&(a+=e>>>16),w=65535&(h+=a>>>16),D=65535&(f+=h>>>16),y=65535&(c+=f>>>16),M=65535&(F+=c>>>16),l=65535&(u+=F>>>16),H=65535&(p+=u>>>16),U=65535&(G+=p>>>16),m=65535&(d+=G>>>16),J=65535&(L+=d>>>16),N=65535&(k+=L>>>16),R=65535&(b+=k>>>16),v=65535&(S+=b>>>16),P=65535&(Y+=S>>>16),x=65535&(q+=Y>>>16),Z=65535&(X+=q>>>16),K=65535&(V+=X>>>16),O=65535&(W+=V>>>16),z=65535&(j+=W>>>16),_=65535&(T+=j>>>16),AA=65535&($+=T>>>16),gA=65535&(IA+=$>>>16),QA=65535&(CA+=IA>>>16),tA=65535&(BA+=CA>>>16),EA=65535&(iA+=BA>>>16),nA=65535&(eA+=iA>>>16),oA=65535&(aA+=eA>>>16),sA=wA+((hA+=aA>>>16)>>>16)&65535,rA=65535&hA,B^=A.charCodeAt(I++);return s(E[sA>>8]+E[255&sA]+E[rA>>8]+E[255&rA]+E[oA>>8]+E[255&oA]+E[nA>>8]+E[255&nA]+E[EA>>8]+E[255&EA]+E[tA>>8]+E[255&tA]+E[QA>>8]+E[255&QA]+E[gA>>8]+E[255&gA]+E[AA>>8]+E[255&AA]+E[_>>8]+E[255&_]+E[z>>8]+E[255&z]+E[O>>8]+E[255&O]+E[K>>8]+E[255&K]+E[Z>>8]+E[255&Z]+E[x>>8]+E[255&x]+E[P>>8]+E[255&P]+E[v>>8]+E[255&v]+E[R>>8]+E[255&R]+E[N>>8]+E[255&N]+E[J>>8]+E[255&J]+E[m>>8]+E[255&m]+E[U>>8]+E[255&U]+E[H>>8]+E[255&H]+E[l>>8]+E[255&l]+E[M>>8]+E[255&M]+E[y>>8]+E[255&y]+E[D>>8]+E[255&D]+E[w>>8]+E[255&w]+E[o>>8]+E[255&o]+E[n>>8]+E[255&n]+E[i>>8]+E[255&i]+E[B>>8]+E[255&B],512)}function V(A){var I,g,C=A.length,Q=r[512].offset,B=0,t=0|Q[31],i=0,e=0|Q[30],n=0,a=0|Q[29],o=0,h=0|Q[28],w=0,f=0|Q[27],D=0,c=0|Q[26],y=0,F=0|Q[25],M=0,u=0|Q[24],l=0,p=0|Q[23],H=0,G=0|Q[22],U=0,d=0|Q[21],m=0,L=0|Q[20],J=0,k=0|Q[19],N=0,b=0|Q[18],R=0,S=0|Q[17],v=0,Y=0|Q[16],P=0,q=0|Q[15],x=0,X=0|Q[14],Z=0,V=0|Q[13],K=0,W=0|Q[12],O=0,j=0|Q[11],z=0,T=0|Q[10],_=0,$=0|Q[9],AA=0,IA=0|Q[8],gA=0,CA=0|Q[7],QA=0,BA=0|Q[6],tA=0,iA=0|Q[5],EA=0,eA=0|Q[4],nA=0,aA=0|Q[3],oA=0,hA=0|Q[2],rA=0,wA=0|Q[1],sA=0,fA=0|Q[0];for(g=0;g>6|192)<<8,_+=e<<8,AA+=a<<8,gA+=h<<8,QA+=f<<8,tA+=c<<8,EA+=F<<8,nA+=u<<8,oA+=p<<8,rA+=G<<8,sA+=d<<8,t=65535&(B=343*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),S=65535&(R+=N>>>16),Y=65535&(v+=R>>>16),q=65535&(P+=v>>>16),X=65535&(x+=P>>>16),V=65535&(Z+=x>>>16),W=65535&(K+=Z>>>16),j=65535&(O+=K>>>16),T=65535&(z+=O>>>16),$=65535&(_+=z>>>16),IA=65535&(AA+=_>>>16),CA=65535&(gA+=AA>>>16),BA=65535&(QA+=gA>>>16),iA=65535&(tA+=QA>>>16),eA=65535&(EA+=tA>>>16),aA=65535&(nA+=EA>>>16),hA=65535&(oA+=nA>>>16),fA=sA+((rA+=oA>>>16)>>>16)&65535,wA=65535&rA,t^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,_+=e<<8,AA+=a<<8,gA+=h<<8,QA+=f<<8,tA+=c<<8,EA+=F<<8,nA+=u<<8,oA+=p<<8,rA+=G<<8,t=65535&(B=343*t),fA=(sA+=d<<8)+((rA+=(oA+=(nA+=(EA+=(tA+=(QA+=(gA+=(AA+=(_+=(z+=(O+=(K+=(Z+=(x+=(P+=(v+=(R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=343*(e=65535&i),n=343*(a=65535&n),o=343*(h=65535&o),w=343*(f=65535&w),D=343*(c=65535&D),y=343*(F=65535&y),M=343*(u=65535&M),l=343*(p=65535&l),H=343*(G=65535&H),U=343*(d=65535&U),m=343*(L=65535&m),J=343*(k=65535&J),N=343*(b=65535&N),R=343*(S=65535&R),v=343*(Y=65535&v),P=343*(q=65535&P),x=343*(X=65535&x),Z=343*(V=65535&Z),K=343*(W=65535&K),O=343*(j=65535&O),z=343*(T=65535&z),_=343*($=65535&_),AA=343*(IA=65535&AA),gA=343*(CA=65535&gA),QA=343*(BA=65535&QA),tA=343*(iA=65535&tA),EA=343*(eA=65535&EA),nA=343*(aA=65535&nA),oA=343*(hA=65535&oA),rA=343*(wA=65535&rA),sA=343*fA,z+=(t^=I>>12&63|128)<<8,_+=e<<8,AA+=a<<8,gA+=h<<8,QA+=f<<8,tA+=c<<8,EA+=F<<8,nA+=u<<8,oA+=p<<8,rA+=G<<8,t=65535&(B=343*t),fA=(sA+=d<<8)+((rA+=(oA+=(nA+=(EA+=(tA+=(QA+=(gA+=(AA+=(_+=(z+=(O+=(K+=(Z+=(x+=(P+=(v+=(R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=343*(e=65535&i),n=343*(a=65535&n),o=343*(h=65535&o),w=343*(f=65535&w),D=343*(c=65535&D),y=343*(F=65535&y),M=343*(u=65535&M),l=343*(p=65535&l),H=343*(G=65535&H),U=343*(d=65535&U),m=343*(L=65535&m),J=343*(k=65535&J),N=343*(b=65535&N),R=343*(S=65535&R),v=343*(Y=65535&v),P=343*(q=65535&P),x=343*(X=65535&x),Z=343*(V=65535&Z),K=343*(W=65535&K),O=343*(j=65535&O),z=343*(T=65535&z),_=343*($=65535&_),AA=343*(IA=65535&AA),gA=343*(CA=65535&gA),QA=343*(BA=65535&QA),tA=343*(iA=65535&tA),EA=343*(eA=65535&EA),nA=343*(aA=65535&nA),oA=343*(hA=65535&oA),rA=343*(wA=65535&rA),sA=343*fA,z+=(t^=I>>6&63|128)<<8,_+=e<<8,AA+=a<<8,gA+=h<<8,QA+=f<<8,tA+=c<<8,EA+=F<<8,nA+=u<<8,oA+=p<<8,rA+=G<<8,sA+=d<<8,t=65535&(B=343*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),S=65535&(R+=N>>>16),Y=65535&(v+=R>>>16),q=65535&(P+=v>>>16),X=65535&(x+=P>>>16),V=65535&(Z+=x>>>16),W=65535&(K+=Z>>>16),j=65535&(O+=K>>>16),T=65535&(z+=O>>>16),$=65535&(_+=z>>>16),IA=65535&(AA+=_>>>16),CA=65535&(gA+=AA>>>16),BA=65535&(QA+=gA>>>16),iA=65535&(tA+=QA>>>16),eA=65535&(EA+=tA>>>16),aA=65535&(nA+=EA>>>16),hA=65535&(oA+=nA>>>16),fA=sA+((rA+=oA>>>16)>>>16)&65535,wA=65535&rA,t^=63&I|128):(i=343*e,n=343*a,o=343*h,w=343*f,D=343*c,y=343*F,M=343*u,l=343*p,H=343*G,U=343*d,m=343*L,J=343*k,N=343*b,R=343*S,v=343*Y,P=343*q,x=343*X,Z=343*V,K=343*W,O=343*j,z=343*T,_=343*$,AA=343*IA,gA=343*CA,QA=343*BA,tA=343*iA,EA=343*eA,nA=343*aA,oA=343*hA,rA=343*wA,sA=343*fA,z+=(t^=I>>12|224)<<8,_+=e<<8,AA+=a<<8,gA+=h<<8,QA+=f<<8,tA+=c<<8,EA+=F<<8,nA+=u<<8,oA+=p<<8,rA+=G<<8,t=65535&(B=343*t),fA=(sA+=d<<8)+((rA+=(oA+=(nA+=(EA+=(tA+=(QA+=(gA+=(AA+=(_+=(z+=(O+=(K+=(Z+=(x+=(P+=(v+=(R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=343*(e=65535&i),n=343*(a=65535&n),o=343*(h=65535&o),w=343*(f=65535&w),D=343*(c=65535&D),y=343*(F=65535&y),M=343*(u=65535&M),l=343*(p=65535&l),H=343*(G=65535&H),U=343*(d=65535&U),m=343*(L=65535&m),J=343*(k=65535&J),N=343*(b=65535&N),R=343*(S=65535&R),v=343*(Y=65535&v),P=343*(q=65535&P),x=343*(X=65535&x),Z=343*(V=65535&Z),K=343*(W=65535&K),O=343*(j=65535&O),z=343*(T=65535&z),_=343*($=65535&_),AA=343*(IA=65535&AA),gA=343*(CA=65535&gA),QA=343*(BA=65535&QA),tA=343*(iA=65535&tA),EA=343*(eA=65535&EA),nA=343*(aA=65535&nA),oA=343*(hA=65535&oA),rA=343*(wA=65535&rA),sA=343*fA,z+=(t^=I>>6&63|128)<<8,_+=e<<8,AA+=a<<8,gA+=h<<8,QA+=f<<8,tA+=c<<8,EA+=F<<8,nA+=u<<8,oA+=p<<8,rA+=G<<8,sA+=d<<8,t=65535&(B=343*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),S=65535&(R+=N>>>16),Y=65535&(v+=R>>>16),q=65535&(P+=v>>>16),X=65535&(x+=P>>>16),V=65535&(Z+=x>>>16),W=65535&(K+=Z>>>16),j=65535&(O+=K>>>16),T=65535&(z+=O>>>16),$=65535&(_+=z>>>16),IA=65535&(AA+=_>>>16),CA=65535&(gA+=AA>>>16),BA=65535&(QA+=gA>>>16),iA=65535&(tA+=QA>>>16),eA=65535&(EA+=tA>>>16),aA=65535&(nA+=EA>>>16),hA=65535&(oA+=nA>>>16),fA=sA+((rA+=oA>>>16)>>>16)&65535,wA=65535&rA,t^=63&I|128),i=343*e,n=343*a,o=343*h,w=343*f,D=343*c,y=343*F,M=343*u,l=343*p,H=343*G,U=343*d,m=343*L,J=343*k,N=343*b,R=343*S,v=343*Y,P=343*q,x=343*X,Z=343*V,K=343*W,O=343*j,z=343*T,_=343*$,AA=343*IA,gA=343*CA,QA=343*BA,tA=343*iA,EA=343*eA,nA=343*aA,oA=343*hA,rA=343*wA,sA=343*fA,z+=t<<8,_+=e<<8,AA+=a<<8,gA+=h<<8,QA+=f<<8,tA+=c<<8,EA+=F<<8,nA+=u<<8,oA+=p<<8,rA+=G<<8,sA+=d<<8,t=65535&(B=343*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),S=65535&(R+=N>>>16),Y=65535&(v+=R>>>16),q=65535&(P+=v>>>16),X=65535&(x+=P>>>16),V=65535&(Z+=x>>>16),W=65535&(K+=Z>>>16),j=65535&(O+=K>>>16),T=65535&(z+=O>>>16),$=65535&(_+=z>>>16),IA=65535&(AA+=_>>>16),CA=65535&(gA+=AA>>>16),BA=65535&(QA+=gA>>>16),iA=65535&(tA+=QA>>>16),eA=65535&(EA+=tA>>>16),aA=65535&(nA+=EA>>>16),hA=65535&(oA+=nA>>>16),fA=sA+((rA+=oA>>>16)>>>16)&65535,wA=65535&rA;return s(E[fA>>8]+E[255&fA]+E[wA>>8]+E[255&wA]+E[hA>>8]+E[255&hA]+E[aA>>8]+E[255&aA]+E[eA>>8]+E[255&eA]+E[iA>>8]+E[255&iA]+E[BA>>8]+E[255&BA]+E[CA>>8]+E[255&CA]+E[IA>>8]+E[255&IA]+E[$>>8]+E[255&$]+E[T>>8]+E[255&T]+E[j>>8]+E[255&j]+E[W>>8]+E[255&W]+E[V>>8]+E[255&V]+E[X>>8]+E[255&X]+E[q>>8]+E[255&q]+E[Y>>8]+E[255&Y]+E[S>>8]+E[255&S]+E[b>>8]+E[255&b]+E[k>>8]+E[255&k]+E[L>>8]+E[255&L]+E[d>>8]+E[255&d]+E[G>>8]+E[255&G]+E[p>>8]+E[255&p]+E[u>>8]+E[255&u]+E[F>>8]+E[255&F]+E[c>>8]+E[255&c]+E[f>>8]+E[255&f]+E[h>>8]+E[255&h]+E[a>>8]+E[255&a]+E[e>>8]+E[255&e]+E[t>>8]+E[255&t],512)}function K(A){var I,g,C=A.length,Q=r[512].offset,B=0,t=0|Q[31],i=0,e=0|Q[30],n=0,a=0|Q[29],o=0,h=0|Q[28],w=0,f=0|Q[27],D=0,c=0|Q[26],y=0,F=0|Q[25],M=0,u=0|Q[24],l=0,p=0|Q[23],H=0,G=0|Q[22],U=0,d=0|Q[21],m=0,L=0|Q[20],J=0,k=0|Q[19],N=0,b=0|Q[18],R=0,S=0|Q[17],v=0,Y=0|Q[16],P=0,q=0|Q[15],x=0,X=0|Q[14],Z=0,V=0|Q[13],K=0,W=0|Q[12],O=0,j=0|Q[11],z=0,T=0|Q[10],_=0,$=0|Q[9],AA=0,IA=0|Q[8],gA=0,CA=0|Q[7],QA=0,BA=0|Q[6],tA=0,iA=0|Q[5],EA=0,eA=0|Q[4],nA=0,aA=0|Q[3],oA=0,hA=0|Q[2],rA=0,wA=0|Q[1],sA=0,fA=0|Q[0];for(g=0;g>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),S=65535&(R+=N>>>16),Y=65535&(v+=R>>>16),q=65535&(P+=v>>>16),X=65535&(x+=P>>>16),V=65535&(Z+=x>>>16),W=65535&(K+=Z>>>16),j=65535&(O+=K>>>16),T=65535&(z+=O>>>16),$=65535&(_+=z>>>16),IA=65535&(AA+=_>>>16),CA=65535&(gA+=AA>>>16),BA=65535&(QA+=gA>>>16),iA=65535&(tA+=QA>>>16),eA=65535&(EA+=tA>>>16),aA=65535&(nA+=EA>>>16),hA=65535&(oA+=nA>>>16),fA=sA+((rA+=oA>>>16)>>>16)&65535,wA=65535&rA,(I=A.charCodeAt(g))<128?t^=I:I<2048?(i=343*e,n=343*a,o=343*h,w=343*f,D=343*c,y=343*F,M=343*u,l=343*p,H=343*G,U=343*d,m=343*L,J=343*k,N=343*b,R=343*S,v=343*Y,P=343*q,x=343*X,Z=343*V,K=343*W,O=343*j,z=343*T,_=343*$,AA=343*IA,gA=343*CA,QA=343*BA,tA=343*iA,EA=343*eA,nA=343*aA,oA=343*hA,rA=343*wA,sA=343*fA,z+=(t^=I>>6|192)<<8,_+=e<<8,AA+=a<<8,gA+=h<<8,QA+=f<<8,tA+=c<<8,EA+=F<<8,nA+=u<<8,oA+=p<<8,rA+=G<<8,sA+=d<<8,t=65535&(B=343*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),S=65535&(R+=N>>>16),Y=65535&(v+=R>>>16),q=65535&(P+=v>>>16),X=65535&(x+=P>>>16),V=65535&(Z+=x>>>16),W=65535&(K+=Z>>>16),j=65535&(O+=K>>>16),T=65535&(z+=O>>>16),$=65535&(_+=z>>>16),IA=65535&(AA+=_>>>16),CA=65535&(gA+=AA>>>16),BA=65535&(QA+=gA>>>16),iA=65535&(tA+=QA>>>16),eA=65535&(EA+=tA>>>16),aA=65535&(nA+=EA>>>16),hA=65535&(oA+=nA>>>16),fA=sA+((rA+=oA>>>16)>>>16)&65535,wA=65535&rA,t^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,_+=e<<8,AA+=a<<8,gA+=h<<8,QA+=f<<8,tA+=c<<8,EA+=F<<8,nA+=u<<8,oA+=p<<8,rA+=G<<8,t=65535&(B=343*t),fA=(sA+=d<<8)+((rA+=(oA+=(nA+=(EA+=(tA+=(QA+=(gA+=(AA+=(_+=(z+=(O+=(K+=(Z+=(x+=(P+=(v+=(R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=343*(e=65535&i),n=343*(a=65535&n),o=343*(h=65535&o),w=343*(f=65535&w),D=343*(c=65535&D),y=343*(F=65535&y),M=343*(u=65535&M),l=343*(p=65535&l),H=343*(G=65535&H),U=343*(d=65535&U),m=343*(L=65535&m),J=343*(k=65535&J),N=343*(b=65535&N),R=343*(S=65535&R),v=343*(Y=65535&v),P=343*(q=65535&P),x=343*(X=65535&x),Z=343*(V=65535&Z),K=343*(W=65535&K),O=343*(j=65535&O),z=343*(T=65535&z),_=343*($=65535&_),AA=343*(IA=65535&AA),gA=343*(CA=65535&gA),QA=343*(BA=65535&QA),tA=343*(iA=65535&tA),EA=343*(eA=65535&EA),nA=343*(aA=65535&nA),oA=343*(hA=65535&oA),rA=343*(wA=65535&rA),sA=343*fA,z+=(t^=I>>12&63|128)<<8,_+=e<<8,AA+=a<<8,gA+=h<<8,QA+=f<<8,tA+=c<<8,EA+=F<<8,nA+=u<<8,oA+=p<<8,rA+=G<<8,t=65535&(B=343*t),fA=(sA+=d<<8)+((rA+=(oA+=(nA+=(EA+=(tA+=(QA+=(gA+=(AA+=(_+=(z+=(O+=(K+=(Z+=(x+=(P+=(v+=(R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=343*(e=65535&i),n=343*(a=65535&n),o=343*(h=65535&o),w=343*(f=65535&w),D=343*(c=65535&D),y=343*(F=65535&y),M=343*(u=65535&M),l=343*(p=65535&l),H=343*(G=65535&H),U=343*(d=65535&U),m=343*(L=65535&m),J=343*(k=65535&J),N=343*(b=65535&N),R=343*(S=65535&R),v=343*(Y=65535&v),P=343*(q=65535&P),x=343*(X=65535&x),Z=343*(V=65535&Z),K=343*(W=65535&K),O=343*(j=65535&O),z=343*(T=65535&z),_=343*($=65535&_),AA=343*(IA=65535&AA),gA=343*(CA=65535&gA),QA=343*(BA=65535&QA),tA=343*(iA=65535&tA),EA=343*(eA=65535&EA),nA=343*(aA=65535&nA),oA=343*(hA=65535&oA),rA=343*(wA=65535&rA),sA=343*fA,z+=(t^=I>>6&63|128)<<8,_+=e<<8,AA+=a<<8,gA+=h<<8,QA+=f<<8,tA+=c<<8,EA+=F<<8,nA+=u<<8,oA+=p<<8,rA+=G<<8,sA+=d<<8,t=65535&(B=343*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),S=65535&(R+=N>>>16),Y=65535&(v+=R>>>16),q=65535&(P+=v>>>16),X=65535&(x+=P>>>16),V=65535&(Z+=x>>>16),W=65535&(K+=Z>>>16),j=65535&(O+=K>>>16),T=65535&(z+=O>>>16),$=65535&(_+=z>>>16),IA=65535&(AA+=_>>>16),CA=65535&(gA+=AA>>>16),BA=65535&(QA+=gA>>>16),iA=65535&(tA+=QA>>>16),eA=65535&(EA+=tA>>>16),aA=65535&(nA+=EA>>>16),hA=65535&(oA+=nA>>>16),fA=sA+((rA+=oA>>>16)>>>16)&65535,wA=65535&rA,t^=63&I|128):(i=343*e,n=343*a,o=343*h,w=343*f,D=343*c,y=343*F,M=343*u,l=343*p,H=343*G,U=343*d,m=343*L,J=343*k,N=343*b,R=343*S,v=343*Y,P=343*q,x=343*X,Z=343*V,K=343*W,O=343*j,z=343*T,_=343*$,AA=343*IA,gA=343*CA,QA=343*BA,tA=343*iA,EA=343*eA,nA=343*aA,oA=343*hA,rA=343*wA,sA=343*fA,z+=(t^=I>>12|224)<<8,_+=e<<8,AA+=a<<8,gA+=h<<8,QA+=f<<8,tA+=c<<8,EA+=F<<8,nA+=u<<8,oA+=p<<8,rA+=G<<8,t=65535&(B=343*t),fA=(sA+=d<<8)+((rA+=(oA+=(nA+=(EA+=(tA+=(QA+=(gA+=(AA+=(_+=(z+=(O+=(K+=(Z+=(x+=(P+=(v+=(R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=343*(e=65535&i),n=343*(a=65535&n),o=343*(h=65535&o),w=343*(f=65535&w),D=343*(c=65535&D),y=343*(F=65535&y),M=343*(u=65535&M),l=343*(p=65535&l),H=343*(G=65535&H),U=343*(d=65535&U),m=343*(L=65535&m),J=343*(k=65535&J),N=343*(b=65535&N),R=343*(S=65535&R),v=343*(Y=65535&v),P=343*(q=65535&P),x=343*(X=65535&x),Z=343*(V=65535&Z),K=343*(W=65535&K),O=343*(j=65535&O),z=343*(T=65535&z),_=343*($=65535&_),AA=343*(IA=65535&AA),gA=343*(CA=65535&gA),QA=343*(BA=65535&QA),tA=343*(iA=65535&tA),EA=343*(eA=65535&EA),nA=343*(aA=65535&nA),oA=343*(hA=65535&oA),rA=343*(wA=65535&rA),sA=343*fA,z+=(t^=I>>6&63|128)<<8,_+=e<<8,AA+=a<<8,gA+=h<<8,QA+=f<<8,tA+=c<<8,EA+=F<<8,nA+=u<<8,oA+=p<<8,rA+=G<<8,sA+=d<<8,t=65535&(B=343*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),S=65535&(R+=N>>>16),Y=65535&(v+=R>>>16),q=65535&(P+=v>>>16),X=65535&(x+=P>>>16),V=65535&(Z+=x>>>16),W=65535&(K+=Z>>>16),j=65535&(O+=K>>>16),T=65535&(z+=O>>>16),$=65535&(_+=z>>>16),IA=65535&(AA+=_>>>16),CA=65535&(gA+=AA>>>16),BA=65535&(QA+=gA>>>16),iA=65535&(tA+=QA>>>16),eA=65535&(EA+=tA>>>16),aA=65535&(nA+=EA>>>16),hA=65535&(oA+=nA>>>16),fA=sA+((rA+=oA>>>16)>>>16)&65535,wA=65535&rA,t^=63&I|128);return s(E[fA>>8]+E[255&fA]+E[wA>>8]+E[255&wA]+E[hA>>8]+E[255&hA]+E[aA>>8]+E[255&aA]+E[eA>>8]+E[255&eA]+E[iA>>8]+E[255&iA]+E[BA>>8]+E[255&BA]+E[CA>>8]+E[255&CA]+E[IA>>8]+E[255&IA]+E[$>>8]+E[255&$]+E[T>>8]+E[255&T]+E[j>>8]+E[255&j]+E[W>>8]+E[255&W]+E[V>>8]+E[255&V]+E[X>>8]+E[255&X]+E[q>>8]+E[255&q]+E[Y>>8]+E[255&Y]+E[S>>8]+E[255&S]+E[b>>8]+E[255&b]+E[k>>8]+E[255&k]+E[L>>8]+E[255&L]+E[d>>8]+E[255&d]+E[G>>8]+E[255&G]+E[p>>8]+E[255&p]+E[u>>8]+E[255&u]+E[F>>8]+E[255&F]+E[c>>8]+E[255&c]+E[f>>8]+E[255&f]+E[h>>8]+E[255&h]+E[a>>8]+E[255&a]+E[e>>8]+E[255&e]+E[t>>8]+E[255&t],512)}function W(A){var I,g=A.length-3,C=r[1024].offset,Q=0,B=0|C[63],t=0,i=0|C[62],e=0,n=0|C[61],a=0,o=0|C[60],h=0,w=0|C[59],f=0,D=0|C[58],c=0,y=0|C[57],F=0,M=0|C[56],u=0,l=0|C[55],p=0,H=0|C[54],G=0,U=0|C[53],d=0,m=0|C[52],L=0,J=0|C[51],k=0,N=0|C[50],b=0,R=0|C[49],S=0,v=0|C[48],Y=0,P=0|C[47],q=0,x=0|C[46],X=0,Z=0|C[45],V=0,K=0|C[44],W=0,O=0|C[43],j=0,z=0|C[42],T=0,_=0|C[41],$=0,AA=0|C[40],IA=0,gA=0|C[39],CA=0,QA=0|C[38],BA=0,tA=0|C[37],iA=0,EA=0|C[36],eA=0,nA=0|C[35],aA=0,oA=0|C[34],hA=0,rA=0|C[33],wA=0,sA=0|C[32],fA=0,DA=0|C[31],cA=0,yA=0|C[30],FA=0,MA=0|C[29],uA=0,lA=0|C[28],pA=0,HA=0|C[27],GA=0,UA=0|C[26],dA=0,mA=0|C[25],LA=0,JA=0|C[24],kA=0,NA=0|C[23],bA=0,RA=0|C[22],SA=0,vA=0|C[21],YA=0,PA=0|C[20],qA=0,xA=0|C[19],XA=0,ZA=0|C[18],VA=0,KA=0|C[17],WA=0,OA=0|C[16],jA=0,zA=0|C[15],TA=0,_A=0|C[14],$A=0,AI=0|C[13],II=0,gI=0|C[12],CI=0,QI=0|C[11],BI=0,tI=0|C[10],iI=0,EI=0|C[9],eI=0,nI=0|C[8],aI=0,oI=0|C[7],hI=0,rI=0|C[6],wI=0,sI=0|C[5],fI=0,DI=0|C[4],cI=0,yI=0|C[3],FI=0,MI=0|C[2],uI=0,lI=0|C[1],pI=0,HI=0|C[0];for(I=0;I>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=397*(i=65535&t),e=397*(n=65535&e),a=397*(o=65535&a),h=397*(w=65535&h),f=397*(D=65535&f),c=397*(y=65535&c),F=397*(M=65535&F),u=397*(l=65535&u),p=397*(H=65535&p),G=397*(U=65535&G),d=397*(m=65535&d),L=397*(J=65535&L),k=397*(N=65535&k),b=397*(R=65535&b),S=397*(v=65535&S),Y=397*(P=65535&Y),q=397*(x=65535&q),X=397*(Z=65535&X),V=397*(K=65535&V),W=397*(O=65535&W),j=397*(z=65535&j),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(gA=65535&IA),CA=397*(QA=65535&CA),BA=397*(tA=65535&BA),iA=397*(EA=65535&iA),eA=397*(nA=65535&eA),aA=397*(oA=65535&aA),hA=397*(rA=65535&hA),wA=397*(sA=65535&wA),fA=397*(DA=65535&fA),cA=397*(yA=65535&cA),FA=397*(MA=65535&FA),uA=397*(lA=65535&uA),pA=397*(HA=65535&pA),GA=397*(UA=65535&GA),dA=397*(mA=65535&dA),LA=397*(JA=65535&LA),kA=397*(NA=65535&kA),bA=397*(RA=65535&bA),SA=397*(vA=65535&SA),YA=397*(PA=65535&YA),qA=397*(xA=65535&qA),XA=397*(ZA=65535&XA),VA=397*(KA=65535&VA),WA=397*(OA=65535&WA),jA=397*(zA=65535&jA),TA=397*(_A=65535&TA),$A=397*(AI=65535&$A),II=397*(gI=65535&II),CI=397*(QI=65535&CI),BI=397*(tI=65535&BI),iI=397*(EI=65535&iI),eI=397*(nI=65535&eI),aI=397*(oI=65535&aI),hI=397*(rI=65535&hI),wI=397*(sI=65535&wI),fI=397*(DI=65535&fI),cI=397*(yI=65535&cI),FI=397*(MI=65535&FI),uI=397*(lI=65535&uI),pI=397*HI,SA+=(B^=A.charCodeAt(I++))<<8,YA+=i<<8,qA+=n<<8,XA+=o<<8,VA+=w<<8,WA+=D<<8,jA+=y<<8,TA+=M<<8,$A+=l<<8,II+=H<<8,CI+=U<<8,BI+=m<<8,iI+=J<<8,eI+=N<<8,aI+=R<<8,hI+=v<<8,wI+=P<<8,fI+=x<<8,cI+=Z<<8,FI+=K<<8,uI+=O<<8,B=65535&(Q=397*B),HI=(pI+=z<<8)+((uI+=(FI+=(cI+=(fI+=(wI+=(hI+=(aI+=(eI+=(iI+=(BI+=(CI+=(II+=($A+=(TA+=(jA+=(WA+=(VA+=(XA+=(qA+=(YA+=(SA+=(bA+=(kA+=(LA+=(dA+=(GA+=(pA+=(uA+=(FA+=(cA+=(fA+=(wA+=(hA+=(aA+=(eA+=(iA+=(BA+=(CA+=(IA+=($+=(T+=(j+=(W+=(V+=(X+=(q+=(Y+=(S+=(b+=(k+=(L+=(d+=(G+=(p+=(u+=(F+=(c+=(f+=(h+=(a+=(e+=(t+=Q>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=397*(i=65535&t),e=397*(n=65535&e),a=397*(o=65535&a),h=397*(w=65535&h),f=397*(D=65535&f),c=397*(y=65535&c),F=397*(M=65535&F),u=397*(l=65535&u),p=397*(H=65535&p),G=397*(U=65535&G),d=397*(m=65535&d),L=397*(J=65535&L),k=397*(N=65535&k),b=397*(R=65535&b),S=397*(v=65535&S),Y=397*(P=65535&Y),q=397*(x=65535&q),X=397*(Z=65535&X),V=397*(K=65535&V),W=397*(O=65535&W),j=397*(z=65535&j),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(gA=65535&IA),CA=397*(QA=65535&CA),BA=397*(tA=65535&BA),iA=397*(EA=65535&iA),eA=397*(nA=65535&eA),aA=397*(oA=65535&aA),hA=397*(rA=65535&hA),wA=397*(sA=65535&wA),fA=397*(DA=65535&fA),cA=397*(yA=65535&cA),FA=397*(MA=65535&FA),uA=397*(lA=65535&uA),pA=397*(HA=65535&pA),GA=397*(UA=65535&GA),dA=397*(mA=65535&dA),LA=397*(JA=65535&LA),kA=397*(NA=65535&kA),bA=397*(RA=65535&bA),SA=397*(vA=65535&SA),YA=397*(PA=65535&YA),qA=397*(xA=65535&qA),XA=397*(ZA=65535&XA),VA=397*(KA=65535&VA),WA=397*(OA=65535&WA),jA=397*(zA=65535&jA),TA=397*(_A=65535&TA),$A=397*(AI=65535&$A),II=397*(gI=65535&II),CI=397*(QI=65535&CI),BI=397*(tI=65535&BI),iI=397*(EI=65535&iI),eI=397*(nI=65535&eI),aI=397*(oI=65535&aI),hI=397*(rI=65535&hI),wI=397*(sI=65535&wI),fI=397*(DI=65535&fI),cI=397*(yI=65535&cI),FI=397*(MI=65535&FI),uI=397*(lI=65535&uI),pI=397*HI,SA+=(B^=A.charCodeAt(I++))<<8,YA+=i<<8,qA+=n<<8,XA+=o<<8,VA+=w<<8,WA+=D<<8,jA+=y<<8,TA+=M<<8,$A+=l<<8,II+=H<<8,CI+=U<<8,BI+=m<<8,iI+=J<<8,eI+=N<<8,aI+=R<<8,hI+=v<<8,wI+=P<<8,fI+=x<<8,cI+=Z<<8,FI+=K<<8,uI+=O<<8,B=65535&(Q=397*B),HI=(pI+=z<<8)+((uI+=(FI+=(cI+=(fI+=(wI+=(hI+=(aI+=(eI+=(iI+=(BI+=(CI+=(II+=($A+=(TA+=(jA+=(WA+=(VA+=(XA+=(qA+=(YA+=(SA+=(bA+=(kA+=(LA+=(dA+=(GA+=(pA+=(uA+=(FA+=(cA+=(fA+=(wA+=(hA+=(aA+=(eA+=(iA+=(BA+=(CA+=(IA+=($+=(T+=(j+=(W+=(V+=(X+=(q+=(Y+=(S+=(b+=(k+=(L+=(d+=(G+=(p+=(u+=(F+=(c+=(f+=(h+=(a+=(e+=(t+=Q>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=397*(i=65535&t),e=397*(n=65535&e),a=397*(o=65535&a),h=397*(w=65535&h),f=397*(D=65535&f),c=397*(y=65535&c),F=397*(M=65535&F),u=397*(l=65535&u),p=397*(H=65535&p),G=397*(U=65535&G),d=397*(m=65535&d),L=397*(J=65535&L),k=397*(N=65535&k),b=397*(R=65535&b),S=397*(v=65535&S),Y=397*(P=65535&Y),q=397*(x=65535&q),X=397*(Z=65535&X),V=397*(K=65535&V),W=397*(O=65535&W),j=397*(z=65535&j),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(gA=65535&IA),CA=397*(QA=65535&CA),BA=397*(tA=65535&BA),iA=397*(EA=65535&iA),eA=397*(nA=65535&eA),aA=397*(oA=65535&aA),hA=397*(rA=65535&hA),wA=397*(sA=65535&wA),fA=397*(DA=65535&fA),cA=397*(yA=65535&cA),FA=397*(MA=65535&FA),uA=397*(lA=65535&uA),pA=397*(HA=65535&pA),GA=397*(UA=65535&GA),dA=397*(mA=65535&dA),LA=397*(JA=65535&LA),kA=397*(NA=65535&kA),bA=397*(RA=65535&bA),SA=397*(vA=65535&SA),YA=397*(PA=65535&YA),qA=397*(xA=65535&qA),XA=397*(ZA=65535&XA),VA=397*(KA=65535&VA),WA=397*(OA=65535&WA),jA=397*(zA=65535&jA),TA=397*(_A=65535&TA),$A=397*(AI=65535&$A),II=397*(gI=65535&II),CI=397*(QI=65535&CI),BI=397*(tI=65535&BI),iI=397*(EI=65535&iI),eI=397*(nI=65535&eI),aI=397*(oI=65535&aI),hI=397*(rI=65535&hI),wI=397*(sI=65535&wI),fI=397*(DI=65535&fI),cI=397*(yI=65535&cI),FI=397*(MI=65535&FI),uI=397*(lI=65535&uI),pI=397*HI,SA+=(B^=A.charCodeAt(I++))<<8,YA+=i<<8,qA+=n<<8,XA+=o<<8,VA+=w<<8,WA+=D<<8,jA+=y<<8,TA+=M<<8,$A+=l<<8,II+=H<<8,CI+=U<<8,BI+=m<<8,iI+=J<<8,eI+=N<<8,aI+=R<<8,hI+=v<<8,wI+=P<<8,fI+=x<<8,cI+=Z<<8,FI+=K<<8,uI+=O<<8,pI+=z<<8,B=65535&(Q=397*B),i=65535&(t+=Q>>>16),n=65535&(e+=t>>>16),o=65535&(a+=e>>>16),w=65535&(h+=a>>>16),D=65535&(f+=h>>>16),y=65535&(c+=f>>>16),M=65535&(F+=c>>>16),l=65535&(u+=F>>>16),H=65535&(p+=u>>>16),U=65535&(G+=p>>>16),m=65535&(d+=G>>>16),J=65535&(L+=d>>>16),N=65535&(k+=L>>>16),R=65535&(b+=k>>>16),v=65535&(S+=b>>>16),P=65535&(Y+=S>>>16),x=65535&(q+=Y>>>16),Z=65535&(X+=q>>>16),K=65535&(V+=X>>>16),O=65535&(W+=V>>>16),z=65535&(j+=W>>>16),_=65535&(T+=j>>>16),AA=65535&($+=T>>>16),gA=65535&(IA+=$>>>16),QA=65535&(CA+=IA>>>16),tA=65535&(BA+=CA>>>16),EA=65535&(iA+=BA>>>16),nA=65535&(eA+=iA>>>16),oA=65535&(aA+=eA>>>16),rA=65535&(hA+=aA>>>16),sA=65535&(wA+=hA>>>16),DA=65535&(fA+=wA>>>16),yA=65535&(cA+=fA>>>16),MA=65535&(FA+=cA>>>16),lA=65535&(uA+=FA>>>16),HA=65535&(pA+=uA>>>16),UA=65535&(GA+=pA>>>16),mA=65535&(dA+=GA>>>16),JA=65535&(LA+=dA>>>16),NA=65535&(kA+=LA>>>16),RA=65535&(bA+=kA>>>16),vA=65535&(SA+=bA>>>16),PA=65535&(YA+=SA>>>16),xA=65535&(qA+=YA>>>16),ZA=65535&(XA+=qA>>>16),KA=65535&(VA+=XA>>>16),OA=65535&(WA+=VA>>>16),zA=65535&(jA+=WA>>>16),_A=65535&(TA+=jA>>>16),AI=65535&($A+=TA>>>16),gI=65535&(II+=$A>>>16),QI=65535&(CI+=II>>>16),tI=65535&(BI+=CI>>>16),EI=65535&(iI+=BI>>>16),nI=65535&(eI+=iI>>>16),oI=65535&(aI+=eI>>>16),rI=65535&(hI+=aI>>>16),sI=65535&(wI+=hI>>>16),DI=65535&(fI+=wI>>>16),yI=65535&(cI+=fI>>>16),MI=65535&(FI+=cI>>>16),HI=pI+((uI+=FI>>>16)>>>16)&65535,lI=65535&uI;for(;I>>16),n=65535&(e+=t>>>16),o=65535&(a+=e>>>16),w=65535&(h+=a>>>16),D=65535&(f+=h>>>16),y=65535&(c+=f>>>16),M=65535&(F+=c>>>16),l=65535&(u+=F>>>16),H=65535&(p+=u>>>16),U=65535&(G+=p>>>16),m=65535&(d+=G>>>16),J=65535&(L+=d>>>16),N=65535&(k+=L>>>16),R=65535&(b+=k>>>16),v=65535&(S+=b>>>16),P=65535&(Y+=S>>>16),x=65535&(q+=Y>>>16),Z=65535&(X+=q>>>16),K=65535&(V+=X>>>16),O=65535&(W+=V>>>16),z=65535&(j+=W>>>16),_=65535&(T+=j>>>16),AA=65535&($+=T>>>16),gA=65535&(IA+=$>>>16),QA=65535&(CA+=IA>>>16),tA=65535&(BA+=CA>>>16),EA=65535&(iA+=BA>>>16),nA=65535&(eA+=iA>>>16),oA=65535&(aA+=eA>>>16),rA=65535&(hA+=aA>>>16),sA=65535&(wA+=hA>>>16),DA=65535&(fA+=wA>>>16),yA=65535&(cA+=fA>>>16),MA=65535&(FA+=cA>>>16),lA=65535&(uA+=FA>>>16),HA=65535&(pA+=uA>>>16),UA=65535&(GA+=pA>>>16),mA=65535&(dA+=GA>>>16),JA=65535&(LA+=dA>>>16),NA=65535&(kA+=LA>>>16),RA=65535&(bA+=kA>>>16),vA=65535&(SA+=bA>>>16),PA=65535&(YA+=SA>>>16),xA=65535&(qA+=YA>>>16),ZA=65535&(XA+=qA>>>16),KA=65535&(VA+=XA>>>16),OA=65535&(WA+=VA>>>16),zA=65535&(jA+=WA>>>16),_A=65535&(TA+=jA>>>16),AI=65535&($A+=TA>>>16),gI=65535&(II+=$A>>>16),QI=65535&(CI+=II>>>16),tI=65535&(BI+=CI>>>16),EI=65535&(iI+=BI>>>16),nI=65535&(eI+=iI>>>16),oI=65535&(aI+=eI>>>16),rI=65535&(hI+=aI>>>16),sI=65535&(wI+=hI>>>16),DI=65535&(fI+=wI>>>16),yI=65535&(cI+=fI>>>16),MI=65535&(FI+=cI>>>16),HI=pI+((uI+=FI>>>16)>>>16)&65535,lI=65535&uI;return s(E[HI>>8]+E[255&HI]+E[lI>>8]+E[255&lI]+E[MI>>8]+E[255&MI]+E[yI>>8]+E[255&yI]+E[DI>>8]+E[255&DI]+E[sI>>8]+E[255&sI]+E[rI>>8]+E[255&rI]+E[oI>>8]+E[255&oI]+E[nI>>8]+E[255&nI]+E[EI>>8]+E[255&EI]+E[tI>>8]+E[255&tI]+E[QI>>8]+E[255&QI]+E[gI>>8]+E[255&gI]+E[AI>>8]+E[255&AI]+E[_A>>8]+E[255&_A]+E[zA>>8]+E[255&zA]+E[OA>>8]+E[255&OA]+E[KA>>8]+E[255&KA]+E[ZA>>8]+E[255&ZA]+E[xA>>8]+E[255&xA]+E[PA>>8]+E[255&PA]+E[vA>>8]+E[255&vA]+E[RA>>8]+E[255&RA]+E[NA>>8]+E[255&NA]+E[JA>>8]+E[255&JA]+E[mA>>8]+E[255&mA]+E[UA>>8]+E[255&UA]+E[HA>>8]+E[255&HA]+E[lA>>8]+E[255&lA]+E[MA>>8]+E[255&MA]+E[yA>>8]+E[255&yA]+E[DA>>8]+E[255&DA]+E[sA>>8]+E[255&sA]+E[rA>>8]+E[255&rA]+E[oA>>8]+E[255&oA]+E[nA>>8]+E[255&nA]+E[EA>>8]+E[255&EA]+E[tA>>8]+E[255&tA]+E[QA>>8]+E[255&QA]+E[gA>>8]+E[255&gA]+E[AA>>8]+E[255&AA]+E[_>>8]+E[255&_]+E[z>>8]+E[255&z]+E[O>>8]+E[255&O]+E[K>>8]+E[255&K]+E[Z>>8]+E[255&Z]+E[x>>8]+E[255&x]+E[P>>8]+E[255&P]+E[v>>8]+E[255&v]+E[R>>8]+E[255&R]+E[N>>8]+E[255&N]+E[J>>8]+E[255&J]+E[m>>8]+E[255&m]+E[U>>8]+E[255&U]+E[H>>8]+E[255&H]+E[l>>8]+E[255&l]+E[M>>8]+E[255&M]+E[y>>8]+E[255&y]+E[D>>8]+E[255&D]+E[w>>8]+E[255&w]+E[o>>8]+E[255&o]+E[n>>8]+E[255&n]+E[i>>8]+E[255&i]+E[B>>8]+E[255&B],1024)}function O(A){var I,g=A.length-3,C=r[1024].offset,Q=0,B=0|C[63],t=0,i=0|C[62],e=0,n=0|C[61],a=0,o=0|C[60],h=0,w=0|C[59],f=0,D=0|C[58],c=0,y=0|C[57],F=0,M=0|C[56],u=0,l=0|C[55],p=0,H=0|C[54],G=0,U=0|C[53],d=0,m=0|C[52],L=0,J=0|C[51],k=0,N=0|C[50],b=0,R=0|C[49],S=0,v=0|C[48],Y=0,P=0|C[47],q=0,x=0|C[46],X=0,Z=0|C[45],V=0,K=0|C[44],W=0,O=0|C[43],j=0,z=0|C[42],T=0,_=0|C[41],$=0,AA=0|C[40],IA=0,gA=0|C[39],CA=0,QA=0|C[38],BA=0,tA=0|C[37],iA=0,EA=0|C[36],eA=0,nA=0|C[35],aA=0,oA=0|C[34],hA=0,rA=0|C[33],wA=0,sA=0|C[32],fA=0,DA=0|C[31],cA=0,yA=0|C[30],FA=0,MA=0|C[29],uA=0,lA=0|C[28],pA=0,HA=0|C[27],GA=0,UA=0|C[26],dA=0,mA=0|C[25],LA=0,JA=0|C[24],kA=0,NA=0|C[23],bA=0,RA=0|C[22],SA=0,vA=0|C[21],YA=0,PA=0|C[20],qA=0,xA=0|C[19],XA=0,ZA=0|C[18],VA=0,KA=0|C[17],WA=0,OA=0|C[16],jA=0,zA=0|C[15],TA=0,_A=0|C[14],$A=0,AI=0|C[13],II=0,gI=0|C[12],CI=0,QI=0|C[11],BI=0,tI=0|C[10],iI=0,EI=0|C[9],eI=0,nI=0|C[8],aI=0,oI=0|C[7],hI=0,rI=0|C[6],wI=0,sI=0|C[5],fI=0,DI=0|C[4],cI=0,yI=0|C[3],FI=0,MI=0|C[2],uI=0,lI=0|C[1],pI=0,HI=0|C[0];for(I=0;I>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=397*(i=65535&t),e=397*(n=65535&e),a=397*(o=65535&a),h=397*(w=65535&h),f=397*(D=65535&f),c=397*(y=65535&c),F=397*(M=65535&F),u=397*(l=65535&u),p=397*(H=65535&p),G=397*(U=65535&G),d=397*(m=65535&d),L=397*(J=65535&L),k=397*(N=65535&k),b=397*(R=65535&b),S=397*(v=65535&S),Y=397*(P=65535&Y),q=397*(x=65535&q),X=397*(Z=65535&X),V=397*(K=65535&V),W=397*(O=65535&W),j=397*(z=65535&j),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(gA=65535&IA),CA=397*(QA=65535&CA),BA=397*(tA=65535&BA),iA=397*(EA=65535&iA),eA=397*(nA=65535&eA),aA=397*(oA=65535&aA),hA=397*(rA=65535&hA),wA=397*(sA=65535&wA),fA=397*(DA=65535&fA),cA=397*(yA=65535&cA),FA=397*(MA=65535&FA),uA=397*(lA=65535&uA),pA=397*(HA=65535&pA),GA=397*(UA=65535&GA),dA=397*(mA=65535&dA),LA=397*(JA=65535&LA),kA=397*(NA=65535&kA),bA=397*(RA=65535&bA),SA=397*(vA=65535&SA),YA=397*(PA=65535&YA),qA=397*(xA=65535&qA),XA=397*(ZA=65535&XA),VA=397*(KA=65535&VA),WA=397*(OA=65535&WA),jA=397*(zA=65535&jA),TA=397*(_A=65535&TA),$A=397*(AI=65535&$A),II=397*(gI=65535&II),CI=397*(QI=65535&CI),BI=397*(tI=65535&BI),iI=397*(EI=65535&iI),eI=397*(nI=65535&eI),aI=397*(oI=65535&aI),hI=397*(rI=65535&hI),wI=397*(sI=65535&wI),fI=397*(DI=65535&fI),cI=397*(yI=65535&cI),FI=397*(MI=65535&FI),uI=397*(lI=65535&uI),pI=397*HI,SA+=(B^=A.charCodeAt(I++))<<8,YA+=i<<8,qA+=n<<8,XA+=o<<8,VA+=w<<8,WA+=D<<8,jA+=y<<8,TA+=M<<8,$A+=l<<8,II+=H<<8,CI+=U<<8,BI+=m<<8,iI+=J<<8,eI+=N<<8,aI+=R<<8,hI+=v<<8,wI+=P<<8,fI+=x<<8,cI+=Z<<8,FI+=K<<8,uI+=O<<8,B=65535&(Q=397*B),HI=(pI+=z<<8)+((uI+=(FI+=(cI+=(fI+=(wI+=(hI+=(aI+=(eI+=(iI+=(BI+=(CI+=(II+=($A+=(TA+=(jA+=(WA+=(VA+=(XA+=(qA+=(YA+=(SA+=(bA+=(kA+=(LA+=(dA+=(GA+=(pA+=(uA+=(FA+=(cA+=(fA+=(wA+=(hA+=(aA+=(eA+=(iA+=(BA+=(CA+=(IA+=($+=(T+=(j+=(W+=(V+=(X+=(q+=(Y+=(S+=(b+=(k+=(L+=(d+=(G+=(p+=(u+=(F+=(c+=(f+=(h+=(a+=(e+=(t+=Q>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=397*(i=65535&t),e=397*(n=65535&e),a=397*(o=65535&a),h=397*(w=65535&h),f=397*(D=65535&f),c=397*(y=65535&c),F=397*(M=65535&F),u=397*(l=65535&u),p=397*(H=65535&p),G=397*(U=65535&G),d=397*(m=65535&d),L=397*(J=65535&L),k=397*(N=65535&k),b=397*(R=65535&b),S=397*(v=65535&S),Y=397*(P=65535&Y),q=397*(x=65535&q),X=397*(Z=65535&X),V=397*(K=65535&V),W=397*(O=65535&W),j=397*(z=65535&j),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(gA=65535&IA),CA=397*(QA=65535&CA),BA=397*(tA=65535&BA),iA=397*(EA=65535&iA),eA=397*(nA=65535&eA),aA=397*(oA=65535&aA),hA=397*(rA=65535&hA),wA=397*(sA=65535&wA),fA=397*(DA=65535&fA),cA=397*(yA=65535&cA),FA=397*(MA=65535&FA),uA=397*(lA=65535&uA),pA=397*(HA=65535&pA),GA=397*(UA=65535&GA),dA=397*(mA=65535&dA),LA=397*(JA=65535&LA),kA=397*(NA=65535&kA),bA=397*(RA=65535&bA),SA=397*(vA=65535&SA),YA=397*(PA=65535&YA),qA=397*(xA=65535&qA),XA=397*(ZA=65535&XA),VA=397*(KA=65535&VA),WA=397*(OA=65535&WA),jA=397*(zA=65535&jA),TA=397*(_A=65535&TA),$A=397*(AI=65535&$A),II=397*(gI=65535&II),CI=397*(QI=65535&CI),BI=397*(tI=65535&BI),iI=397*(EI=65535&iI),eI=397*(nI=65535&eI),aI=397*(oI=65535&aI),hI=397*(rI=65535&hI),wI=397*(sI=65535&wI),fI=397*(DI=65535&fI),cI=397*(yI=65535&cI),FI=397*(MI=65535&FI),uI=397*(lI=65535&uI),pI=397*HI,SA+=(B^=A.charCodeAt(I++))<<8,YA+=i<<8,qA+=n<<8,XA+=o<<8,VA+=w<<8,WA+=D<<8,jA+=y<<8,TA+=M<<8,$A+=l<<8,II+=H<<8,CI+=U<<8,BI+=m<<8,iI+=J<<8,eI+=N<<8,aI+=R<<8,hI+=v<<8,wI+=P<<8,fI+=x<<8,cI+=Z<<8,FI+=K<<8,uI+=O<<8,B=65535&(Q=397*B),HI=(pI+=z<<8)+((uI+=(FI+=(cI+=(fI+=(wI+=(hI+=(aI+=(eI+=(iI+=(BI+=(CI+=(II+=($A+=(TA+=(jA+=(WA+=(VA+=(XA+=(qA+=(YA+=(SA+=(bA+=(kA+=(LA+=(dA+=(GA+=(pA+=(uA+=(FA+=(cA+=(fA+=(wA+=(hA+=(aA+=(eA+=(iA+=(BA+=(CA+=(IA+=($+=(T+=(j+=(W+=(V+=(X+=(q+=(Y+=(S+=(b+=(k+=(L+=(d+=(G+=(p+=(u+=(F+=(c+=(f+=(h+=(a+=(e+=(t+=Q>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=397*(i=65535&t),e=397*(n=65535&e),a=397*(o=65535&a),h=397*(w=65535&h),f=397*(D=65535&f),c=397*(y=65535&c),F=397*(M=65535&F),u=397*(l=65535&u),p=397*(H=65535&p),G=397*(U=65535&G),d=397*(m=65535&d),L=397*(J=65535&L),k=397*(N=65535&k),b=397*(R=65535&b),S=397*(v=65535&S),Y=397*(P=65535&Y),q=397*(x=65535&q),X=397*(Z=65535&X),V=397*(K=65535&V),W=397*(O=65535&W),j=397*(z=65535&j),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(gA=65535&IA),CA=397*(QA=65535&CA),BA=397*(tA=65535&BA),iA=397*(EA=65535&iA),eA=397*(nA=65535&eA),aA=397*(oA=65535&aA),hA=397*(rA=65535&hA),wA=397*(sA=65535&wA),fA=397*(DA=65535&fA),cA=397*(yA=65535&cA),FA=397*(MA=65535&FA),uA=397*(lA=65535&uA),pA=397*(HA=65535&pA),GA=397*(UA=65535&GA),dA=397*(mA=65535&dA),LA=397*(JA=65535&LA),kA=397*(NA=65535&kA),bA=397*(RA=65535&bA),SA=397*(vA=65535&SA),YA=397*(PA=65535&YA),qA=397*(xA=65535&qA),XA=397*(ZA=65535&XA),VA=397*(KA=65535&VA),WA=397*(OA=65535&WA),jA=397*(zA=65535&jA),TA=397*(_A=65535&TA),$A=397*(AI=65535&$A),II=397*(gI=65535&II),CI=397*(QI=65535&CI),BI=397*(tI=65535&BI),iI=397*(EI=65535&iI),eI=397*(nI=65535&eI),aI=397*(oI=65535&aI),hI=397*(rI=65535&hI),wI=397*(sI=65535&wI),fI=397*(DI=65535&fI),cI=397*(yI=65535&cI),FI=397*(MI=65535&FI),uI=397*(lI=65535&uI),pI=397*HI,SA+=(B^=A.charCodeAt(I++))<<8,YA+=i<<8,qA+=n<<8,XA+=o<<8,VA+=w<<8,WA+=D<<8,jA+=y<<8,TA+=M<<8,$A+=l<<8,II+=H<<8,CI+=U<<8,BI+=m<<8,iI+=J<<8,eI+=N<<8,aI+=R<<8,hI+=v<<8,wI+=P<<8,fI+=x<<8,cI+=Z<<8,FI+=K<<8,uI+=O<<8,pI+=z<<8,B=65535&(Q=397*B),i=65535&(t+=Q>>>16),n=65535&(e+=t>>>16),o=65535&(a+=e>>>16),w=65535&(h+=a>>>16),D=65535&(f+=h>>>16),y=65535&(c+=f>>>16),M=65535&(F+=c>>>16),l=65535&(u+=F>>>16),H=65535&(p+=u>>>16),U=65535&(G+=p>>>16),m=65535&(d+=G>>>16),J=65535&(L+=d>>>16),N=65535&(k+=L>>>16),R=65535&(b+=k>>>16),v=65535&(S+=b>>>16),P=65535&(Y+=S>>>16),x=65535&(q+=Y>>>16),Z=65535&(X+=q>>>16),K=65535&(V+=X>>>16),O=65535&(W+=V>>>16),z=65535&(j+=W>>>16),_=65535&(T+=j>>>16),AA=65535&($+=T>>>16),gA=65535&(IA+=$>>>16),QA=65535&(CA+=IA>>>16),tA=65535&(BA+=CA>>>16),EA=65535&(iA+=BA>>>16),nA=65535&(eA+=iA>>>16),oA=65535&(aA+=eA>>>16),rA=65535&(hA+=aA>>>16),sA=65535&(wA+=hA>>>16),DA=65535&(fA+=wA>>>16),yA=65535&(cA+=fA>>>16),MA=65535&(FA+=cA>>>16),lA=65535&(uA+=FA>>>16),HA=65535&(pA+=uA>>>16),UA=65535&(GA+=pA>>>16),mA=65535&(dA+=GA>>>16),JA=65535&(LA+=dA>>>16),NA=65535&(kA+=LA>>>16),RA=65535&(bA+=kA>>>16),vA=65535&(SA+=bA>>>16),PA=65535&(YA+=SA>>>16),xA=65535&(qA+=YA>>>16),ZA=65535&(XA+=qA>>>16),KA=65535&(VA+=XA>>>16),OA=65535&(WA+=VA>>>16),zA=65535&(jA+=WA>>>16),_A=65535&(TA+=jA>>>16),AI=65535&($A+=TA>>>16),gI=65535&(II+=$A>>>16),QI=65535&(CI+=II>>>16),tI=65535&(BI+=CI>>>16),EI=65535&(iI+=BI>>>16),nI=65535&(eI+=iI>>>16),oI=65535&(aI+=eI>>>16),rI=65535&(hI+=aI>>>16),sI=65535&(wI+=hI>>>16),DI=65535&(fI+=wI>>>16),yI=65535&(cI+=fI>>>16),MI=65535&(FI+=cI>>>16),HI=pI+((uI+=FI>>>16)>>>16)&65535,lI=65535&uI,B^=A.charCodeAt(I++);for(;I>>16),n=65535&(e+=t>>>16),o=65535&(a+=e>>>16),w=65535&(h+=a>>>16),D=65535&(f+=h>>>16),y=65535&(c+=f>>>16),M=65535&(F+=c>>>16),l=65535&(u+=F>>>16),H=65535&(p+=u>>>16),U=65535&(G+=p>>>16),m=65535&(d+=G>>>16),J=65535&(L+=d>>>16),N=65535&(k+=L>>>16),R=65535&(b+=k>>>16),v=65535&(S+=b>>>16),P=65535&(Y+=S>>>16),x=65535&(q+=Y>>>16),Z=65535&(X+=q>>>16),K=65535&(V+=X>>>16),O=65535&(W+=V>>>16),z=65535&(j+=W>>>16),_=65535&(T+=j>>>16),AA=65535&($+=T>>>16),gA=65535&(IA+=$>>>16),QA=65535&(CA+=IA>>>16),tA=65535&(BA+=CA>>>16),EA=65535&(iA+=BA>>>16),nA=65535&(eA+=iA>>>16),oA=65535&(aA+=eA>>>16),rA=65535&(hA+=aA>>>16),sA=65535&(wA+=hA>>>16),DA=65535&(fA+=wA>>>16),yA=65535&(cA+=fA>>>16),MA=65535&(FA+=cA>>>16),lA=65535&(uA+=FA>>>16),HA=65535&(pA+=uA>>>16),UA=65535&(GA+=pA>>>16),mA=65535&(dA+=GA>>>16),JA=65535&(LA+=dA>>>16),NA=65535&(kA+=LA>>>16),RA=65535&(bA+=kA>>>16),vA=65535&(SA+=bA>>>16),PA=65535&(YA+=SA>>>16),xA=65535&(qA+=YA>>>16),ZA=65535&(XA+=qA>>>16),KA=65535&(VA+=XA>>>16),OA=65535&(WA+=VA>>>16),zA=65535&(jA+=WA>>>16),_A=65535&(TA+=jA>>>16),AI=65535&($A+=TA>>>16),gI=65535&(II+=$A>>>16),QI=65535&(CI+=II>>>16),tI=65535&(BI+=CI>>>16),EI=65535&(iI+=BI>>>16),nI=65535&(eI+=iI>>>16),oI=65535&(aI+=eI>>>16),rI=65535&(hI+=aI>>>16),sI=65535&(wI+=hI>>>16),DI=65535&(fI+=wI>>>16),yI=65535&(cI+=fI>>>16),MI=65535&(FI+=cI>>>16),HI=pI+((uI+=FI>>>16)>>>16)&65535,lI=65535&uI,B^=A.charCodeAt(I++);return s(E[HI>>8]+E[255&HI]+E[lI>>8]+E[255&lI]+E[MI>>8]+E[255&MI]+E[yI>>8]+E[255&yI]+E[DI>>8]+E[255&DI]+E[sI>>8]+E[255&sI]+E[rI>>8]+E[255&rI]+E[oI>>8]+E[255&oI]+E[nI>>8]+E[255&nI]+E[EI>>8]+E[255&EI]+E[tI>>8]+E[255&tI]+E[QI>>8]+E[255&QI]+E[gI>>8]+E[255&gI]+E[AI>>8]+E[255&AI]+E[_A>>8]+E[255&_A]+E[zA>>8]+E[255&zA]+E[OA>>8]+E[255&OA]+E[KA>>8]+E[255&KA]+E[ZA>>8]+E[255&ZA]+E[xA>>8]+E[255&xA]+E[PA>>8]+E[255&PA]+E[vA>>8]+E[255&vA]+E[RA>>8]+E[255&RA]+E[NA>>8]+E[255&NA]+E[JA>>8]+E[255&JA]+E[mA>>8]+E[255&mA]+E[UA>>8]+E[255&UA]+E[HA>>8]+E[255&HA]+E[lA>>8]+E[255&lA]+E[MA>>8]+E[255&MA]+E[yA>>8]+E[255&yA]+E[DA>>8]+E[255&DA]+E[sA>>8]+E[255&sA]+E[rA>>8]+E[255&rA]+E[oA>>8]+E[255&oA]+E[nA>>8]+E[255&nA]+E[EA>>8]+E[255&EA]+E[tA>>8]+E[255&tA]+E[QA>>8]+E[255&QA]+E[gA>>8]+E[255&gA]+E[AA>>8]+E[255&AA]+E[_>>8]+E[255&_]+E[z>>8]+E[255&z]+E[O>>8]+E[255&O]+E[K>>8]+E[255&K]+E[Z>>8]+E[255&Z]+E[x>>8]+E[255&x]+E[P>>8]+E[255&P]+E[v>>8]+E[255&v]+E[R>>8]+E[255&R]+E[N>>8]+E[255&N]+E[J>>8]+E[255&J]+E[m>>8]+E[255&m]+E[U>>8]+E[255&U]+E[H>>8]+E[255&H]+E[l>>8]+E[255&l]+E[M>>8]+E[255&M]+E[y>>8]+E[255&y]+E[D>>8]+E[255&D]+E[w>>8]+E[255&w]+E[o>>8]+E[255&o]+E[n>>8]+E[255&n]+E[i>>8]+E[255&i]+E[B>>8]+E[255&B],1024)}function j(A){var I,g,C=A.length,Q=r[1024].offset,B=0,t=0|Q[63],i=0,e=0|Q[62],n=0,a=0|Q[61],o=0,h=0|Q[60],w=0,f=0|Q[59],D=0,c=0|Q[58],y=0,F=0|Q[57],M=0,u=0|Q[56],l=0,p=0|Q[55],H=0,G=0|Q[54],U=0,d=0|Q[53],m=0,L=0|Q[52],J=0,k=0|Q[51],N=0,b=0|Q[50],R=0,S=0|Q[49],v=0,Y=0|Q[48],P=0,q=0|Q[47],x=0,X=0|Q[46],Z=0,V=0|Q[45],K=0,W=0|Q[44],O=0,j=0|Q[43],z=0,T=0|Q[42],_=0,$=0|Q[41],AA=0,IA=0|Q[40],gA=0,CA=0|Q[39],QA=0,BA=0|Q[38],tA=0,iA=0|Q[37],EA=0,eA=0|Q[36],nA=0,aA=0|Q[35],oA=0,hA=0|Q[34],rA=0,wA=0|Q[33],sA=0,fA=0|Q[32],DA=0,cA=0|Q[31],yA=0,FA=0|Q[30],MA=0,uA=0|Q[29],lA=0,pA=0|Q[28],HA=0,GA=0|Q[27],UA=0,dA=0|Q[26],mA=0,LA=0|Q[25],JA=0,kA=0|Q[24],NA=0,bA=0|Q[23],RA=0,SA=0|Q[22],vA=0,YA=0|Q[21],PA=0,qA=0|Q[20],xA=0,XA=0|Q[19],ZA=0,VA=0|Q[18],KA=0,WA=0|Q[17],OA=0,jA=0|Q[16],zA=0,TA=0|Q[15],_A=0,$A=0|Q[14],AI=0,II=0|Q[13],gI=0,CI=0|Q[12],QI=0,BI=0|Q[11],tI=0,iI=0|Q[10],EI=0,eI=0|Q[9],nI=0,aI=0|Q[8],oI=0,hI=0|Q[7],rI=0,wI=0|Q[6],sI=0,fI=0|Q[5],DI=0,cI=0|Q[4],yI=0,FI=0|Q[3],MI=0,uI=0|Q[2],lI=0,pI=0|Q[1],HI=0,GI=0|Q[0];for(g=0;g>6|192)<<8,PA+=e<<8,xA+=a<<8,ZA+=h<<8,KA+=f<<8,OA+=c<<8,zA+=F<<8,_A+=u<<8,AI+=p<<8,gI+=G<<8,QI+=d<<8,tI+=L<<8,EI+=k<<8,nI+=b<<8,oI+=S<<8,rI+=Y<<8,sI+=q<<8,DI+=X<<8,yI+=V<<8,MI+=W<<8,lI+=j<<8,HI+=T<<8,t=65535&(B=397*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),S=65535&(R+=N>>>16),Y=65535&(v+=R>>>16),q=65535&(P+=v>>>16),X=65535&(x+=P>>>16),V=65535&(Z+=x>>>16),W=65535&(K+=Z>>>16),j=65535&(O+=K>>>16),T=65535&(z+=O>>>16),$=65535&(_+=z>>>16),IA=65535&(AA+=_>>>16),CA=65535&(gA+=AA>>>16),BA=65535&(QA+=gA>>>16),iA=65535&(tA+=QA>>>16),eA=65535&(EA+=tA>>>16),aA=65535&(nA+=EA>>>16),hA=65535&(oA+=nA>>>16),wA=65535&(rA+=oA>>>16),fA=65535&(sA+=rA>>>16),cA=65535&(DA+=sA>>>16),FA=65535&(yA+=DA>>>16),uA=65535&(MA+=yA>>>16),pA=65535&(lA+=MA>>>16),GA=65535&(HA+=lA>>>16),dA=65535&(UA+=HA>>>16),LA=65535&(mA+=UA>>>16),kA=65535&(JA+=mA>>>16),bA=65535&(NA+=JA>>>16),SA=65535&(RA+=NA>>>16),YA=65535&(vA+=RA>>>16),qA=65535&(PA+=vA>>>16),XA=65535&(xA+=PA>>>16),VA=65535&(ZA+=xA>>>16),WA=65535&(KA+=ZA>>>16),jA=65535&(OA+=KA>>>16),TA=65535&(zA+=OA>>>16),$A=65535&(_A+=zA>>>16),II=65535&(AI+=_A>>>16),CI=65535&(gI+=AI>>>16),BI=65535&(QI+=gI>>>16),iI=65535&(tI+=QI>>>16),eI=65535&(EI+=tI>>>16),aI=65535&(nI+=EI>>>16),hI=65535&(oI+=nI>>>16),wI=65535&(rI+=oI>>>16),fI=65535&(sI+=rI>>>16),cI=65535&(DI+=sI>>>16),FI=65535&(yI+=DI>>>16),uI=65535&(MI+=yI>>>16),GI=HI+((lI+=MI>>>16)>>>16)&65535,pI=65535&lI,t^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,PA+=e<<8,xA+=a<<8,ZA+=h<<8,KA+=f<<8,OA+=c<<8,zA+=F<<8,_A+=u<<8,AI+=p<<8,gI+=G<<8,QI+=d<<8,tI+=L<<8,EI+=k<<8,nI+=b<<8,oI+=S<<8,rI+=Y<<8,sI+=q<<8,DI+=X<<8,yI+=V<<8,MI+=W<<8,lI+=j<<8,t=65535&(B=397*t),GI=(HI+=T<<8)+((lI+=(MI+=(yI+=(DI+=(sI+=(rI+=(oI+=(nI+=(EI+=(tI+=(QI+=(gI+=(AI+=(_A+=(zA+=(OA+=(KA+=(ZA+=(xA+=(PA+=(vA+=(RA+=(NA+=(JA+=(mA+=(UA+=(HA+=(lA+=(MA+=(yA+=(DA+=(sA+=(rA+=(oA+=(nA+=(EA+=(tA+=(QA+=(gA+=(AA+=(_+=(z+=(O+=(K+=(Z+=(x+=(P+=(v+=(R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=397*(e=65535&i),n=397*(a=65535&n),o=397*(h=65535&o),w=397*(f=65535&w),D=397*(c=65535&D),y=397*(F=65535&y),M=397*(u=65535&M),l=397*(p=65535&l),H=397*(G=65535&H),U=397*(d=65535&U),m=397*(L=65535&m),J=397*(k=65535&J),N=397*(b=65535&N),R=397*(S=65535&R),v=397*(Y=65535&v),P=397*(q=65535&P),x=397*(X=65535&x),Z=397*(V=65535&Z),K=397*(W=65535&K),O=397*(j=65535&O),z=397*(T=65535&z),_=397*($=65535&_),AA=397*(IA=65535&AA),gA=397*(CA=65535&gA),QA=397*(BA=65535&QA),tA=397*(iA=65535&tA),EA=397*(eA=65535&EA),nA=397*(aA=65535&nA),oA=397*(hA=65535&oA),rA=397*(wA=65535&rA),sA=397*(fA=65535&sA),DA=397*(cA=65535&DA),yA=397*(FA=65535&yA),MA=397*(uA=65535&MA),lA=397*(pA=65535&lA),HA=397*(GA=65535&HA),UA=397*(dA=65535&UA),mA=397*(LA=65535&mA),JA=397*(kA=65535&JA),NA=397*(bA=65535&NA),RA=397*(SA=65535&RA),vA=397*(YA=65535&vA),PA=397*(qA=65535&PA),xA=397*(XA=65535&xA),ZA=397*(VA=65535&ZA),KA=397*(WA=65535&KA),OA=397*(jA=65535&OA),zA=397*(TA=65535&zA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),gI=397*(CI=65535&gI),QI=397*(BI=65535&QI),tI=397*(iI=65535&tI),EI=397*(eI=65535&EI),nI=397*(aI=65535&nI),oI=397*(hI=65535&oI),rI=397*(wI=65535&rI),sI=397*(fI=65535&sI),DI=397*(cI=65535&DI),yI=397*(FI=65535&yI),MI=397*(uI=65535&MI),lI=397*(pI=65535&lI),HI=397*GI,vA+=(t^=I>>12&63|128)<<8,PA+=e<<8,xA+=a<<8,ZA+=h<<8,KA+=f<<8,OA+=c<<8,zA+=F<<8,_A+=u<<8,AI+=p<<8,gI+=G<<8,QI+=d<<8,tI+=L<<8,EI+=k<<8,nI+=b<<8,oI+=S<<8,rI+=Y<<8,sI+=q<<8,DI+=X<<8,yI+=V<<8,MI+=W<<8,lI+=j<<8,t=65535&(B=397*t),GI=(HI+=T<<8)+((lI+=(MI+=(yI+=(DI+=(sI+=(rI+=(oI+=(nI+=(EI+=(tI+=(QI+=(gI+=(AI+=(_A+=(zA+=(OA+=(KA+=(ZA+=(xA+=(PA+=(vA+=(RA+=(NA+=(JA+=(mA+=(UA+=(HA+=(lA+=(MA+=(yA+=(DA+=(sA+=(rA+=(oA+=(nA+=(EA+=(tA+=(QA+=(gA+=(AA+=(_+=(z+=(O+=(K+=(Z+=(x+=(P+=(v+=(R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=397*(e=65535&i),n=397*(a=65535&n),o=397*(h=65535&o),w=397*(f=65535&w),D=397*(c=65535&D),y=397*(F=65535&y),M=397*(u=65535&M),l=397*(p=65535&l),H=397*(G=65535&H),U=397*(d=65535&U),m=397*(L=65535&m),J=397*(k=65535&J),N=397*(b=65535&N),R=397*(S=65535&R),v=397*(Y=65535&v),P=397*(q=65535&P),x=397*(X=65535&x),Z=397*(V=65535&Z),K=397*(W=65535&K),O=397*(j=65535&O),z=397*(T=65535&z),_=397*($=65535&_),AA=397*(IA=65535&AA),gA=397*(CA=65535&gA),QA=397*(BA=65535&QA),tA=397*(iA=65535&tA),EA=397*(eA=65535&EA),nA=397*(aA=65535&nA),oA=397*(hA=65535&oA),rA=397*(wA=65535&rA),sA=397*(fA=65535&sA),DA=397*(cA=65535&DA),yA=397*(FA=65535&yA),MA=397*(uA=65535&MA),lA=397*(pA=65535&lA),HA=397*(GA=65535&HA),UA=397*(dA=65535&UA),mA=397*(LA=65535&mA),JA=397*(kA=65535&JA),NA=397*(bA=65535&NA),RA=397*(SA=65535&RA),vA=397*(YA=65535&vA),PA=397*(qA=65535&PA),xA=397*(XA=65535&xA),ZA=397*(VA=65535&ZA),KA=397*(WA=65535&KA),OA=397*(jA=65535&OA),zA=397*(TA=65535&zA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),gI=397*(CI=65535&gI),QI=397*(BI=65535&QI),tI=397*(iI=65535&tI),EI=397*(eI=65535&EI),nI=397*(aI=65535&nI),oI=397*(hI=65535&oI),rI=397*(wI=65535&rI),sI=397*(fI=65535&sI),DI=397*(cI=65535&DI),yI=397*(FI=65535&yI),MI=397*(uI=65535&MI),lI=397*(pI=65535&lI),HI=397*GI,vA+=(t^=I>>6&63|128)<<8,PA+=e<<8,xA+=a<<8,ZA+=h<<8,KA+=f<<8,OA+=c<<8,zA+=F<<8,_A+=u<<8,AI+=p<<8,gI+=G<<8,QI+=d<<8,tI+=L<<8,EI+=k<<8,nI+=b<<8,oI+=S<<8,rI+=Y<<8,sI+=q<<8,DI+=X<<8,yI+=V<<8,MI+=W<<8,lI+=j<<8,HI+=T<<8,t=65535&(B=397*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),S=65535&(R+=N>>>16),Y=65535&(v+=R>>>16),q=65535&(P+=v>>>16),X=65535&(x+=P>>>16),V=65535&(Z+=x>>>16),W=65535&(K+=Z>>>16),j=65535&(O+=K>>>16),T=65535&(z+=O>>>16),$=65535&(_+=z>>>16),IA=65535&(AA+=_>>>16),CA=65535&(gA+=AA>>>16),BA=65535&(QA+=gA>>>16),iA=65535&(tA+=QA>>>16),eA=65535&(EA+=tA>>>16),aA=65535&(nA+=EA>>>16),hA=65535&(oA+=nA>>>16),wA=65535&(rA+=oA>>>16),fA=65535&(sA+=rA>>>16),cA=65535&(DA+=sA>>>16),FA=65535&(yA+=DA>>>16),uA=65535&(MA+=yA>>>16),pA=65535&(lA+=MA>>>16),GA=65535&(HA+=lA>>>16),dA=65535&(UA+=HA>>>16),LA=65535&(mA+=UA>>>16),kA=65535&(JA+=mA>>>16),bA=65535&(NA+=JA>>>16),SA=65535&(RA+=NA>>>16),YA=65535&(vA+=RA>>>16),qA=65535&(PA+=vA>>>16),XA=65535&(xA+=PA>>>16),VA=65535&(ZA+=xA>>>16),WA=65535&(KA+=ZA>>>16),jA=65535&(OA+=KA>>>16),TA=65535&(zA+=OA>>>16),$A=65535&(_A+=zA>>>16),II=65535&(AI+=_A>>>16),CI=65535&(gI+=AI>>>16),BI=65535&(QI+=gI>>>16),iI=65535&(tI+=QI>>>16),eI=65535&(EI+=tI>>>16),aI=65535&(nI+=EI>>>16),hI=65535&(oI+=nI>>>16),wI=65535&(rI+=oI>>>16),fI=65535&(sI+=rI>>>16),cI=65535&(DI+=sI>>>16),FI=65535&(yI+=DI>>>16),uI=65535&(MI+=yI>>>16),GI=HI+((lI+=MI>>>16)>>>16)&65535,pI=65535&lI,t^=63&I|128):(i=397*e,n=397*a,o=397*h,w=397*f,D=397*c,y=397*F,M=397*u,l=397*p,H=397*G,U=397*d,m=397*L,J=397*k,N=397*b,R=397*S,v=397*Y,P=397*q,x=397*X,Z=397*V,K=397*W,O=397*j,z=397*T,_=397*$,AA=397*IA,gA=397*CA,QA=397*BA,tA=397*iA,EA=397*eA,nA=397*aA,oA=397*hA,rA=397*wA,sA=397*fA,DA=397*cA,yA=397*FA,MA=397*uA,lA=397*pA,HA=397*GA,UA=397*dA,mA=397*LA,JA=397*kA,NA=397*bA,RA=397*SA,vA=397*YA,PA=397*qA,xA=397*XA,ZA=397*VA,KA=397*WA,OA=397*jA,zA=397*TA,_A=397*$A,AI=397*II,gI=397*CI,QI=397*BI,tI=397*iI,EI=397*eI,nI=397*aI,oI=397*hI,rI=397*wI,sI=397*fI,DI=397*cI,yI=397*FI,MI=397*uI,lI=397*pI,HI=397*GI,vA+=(t^=I>>12|224)<<8,PA+=e<<8,xA+=a<<8,ZA+=h<<8,KA+=f<<8,OA+=c<<8,zA+=F<<8,_A+=u<<8,AI+=p<<8,gI+=G<<8,QI+=d<<8,tI+=L<<8,EI+=k<<8,nI+=b<<8,oI+=S<<8,rI+=Y<<8,sI+=q<<8,DI+=X<<8,yI+=V<<8,MI+=W<<8,lI+=j<<8,t=65535&(B=397*t),GI=(HI+=T<<8)+((lI+=(MI+=(yI+=(DI+=(sI+=(rI+=(oI+=(nI+=(EI+=(tI+=(QI+=(gI+=(AI+=(_A+=(zA+=(OA+=(KA+=(ZA+=(xA+=(PA+=(vA+=(RA+=(NA+=(JA+=(mA+=(UA+=(HA+=(lA+=(MA+=(yA+=(DA+=(sA+=(rA+=(oA+=(nA+=(EA+=(tA+=(QA+=(gA+=(AA+=(_+=(z+=(O+=(K+=(Z+=(x+=(P+=(v+=(R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=397*(e=65535&i),n=397*(a=65535&n),o=397*(h=65535&o),w=397*(f=65535&w),D=397*(c=65535&D),y=397*(F=65535&y),M=397*(u=65535&M),l=397*(p=65535&l),H=397*(G=65535&H),U=397*(d=65535&U),m=397*(L=65535&m),J=397*(k=65535&J),N=397*(b=65535&N),R=397*(S=65535&R),v=397*(Y=65535&v),P=397*(q=65535&P),x=397*(X=65535&x),Z=397*(V=65535&Z),K=397*(W=65535&K),O=397*(j=65535&O),z=397*(T=65535&z),_=397*($=65535&_),AA=397*(IA=65535&AA),gA=397*(CA=65535&gA),QA=397*(BA=65535&QA),tA=397*(iA=65535&tA),EA=397*(eA=65535&EA),nA=397*(aA=65535&nA),oA=397*(hA=65535&oA),rA=397*(wA=65535&rA),sA=397*(fA=65535&sA),DA=397*(cA=65535&DA),yA=397*(FA=65535&yA),MA=397*(uA=65535&MA),lA=397*(pA=65535&lA),HA=397*(GA=65535&HA),UA=397*(dA=65535&UA),mA=397*(LA=65535&mA),JA=397*(kA=65535&JA),NA=397*(bA=65535&NA),RA=397*(SA=65535&RA),vA=397*(YA=65535&vA),PA=397*(qA=65535&PA),xA=397*(XA=65535&xA),ZA=397*(VA=65535&ZA),KA=397*(WA=65535&KA),OA=397*(jA=65535&OA),zA=397*(TA=65535&zA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),gI=397*(CI=65535&gI),QI=397*(BI=65535&QI),tI=397*(iI=65535&tI),EI=397*(eI=65535&EI),nI=397*(aI=65535&nI),oI=397*(hI=65535&oI),rI=397*(wI=65535&rI),sI=397*(fI=65535&sI),DI=397*(cI=65535&DI),yI=397*(FI=65535&yI),MI=397*(uI=65535&MI),lI=397*(pI=65535&lI),HI=397*GI,vA+=(t^=I>>6&63|128)<<8,PA+=e<<8,xA+=a<<8,ZA+=h<<8,KA+=f<<8,OA+=c<<8,zA+=F<<8,_A+=u<<8,AI+=p<<8,gI+=G<<8,QI+=d<<8,tI+=L<<8,EI+=k<<8,nI+=b<<8,oI+=S<<8,rI+=Y<<8,sI+=q<<8,DI+=X<<8,yI+=V<<8,MI+=W<<8,lI+=j<<8,HI+=T<<8,t=65535&(B=397*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),S=65535&(R+=N>>>16),Y=65535&(v+=R>>>16),q=65535&(P+=v>>>16),X=65535&(x+=P>>>16),V=65535&(Z+=x>>>16),W=65535&(K+=Z>>>16),j=65535&(O+=K>>>16),T=65535&(z+=O>>>16),$=65535&(_+=z>>>16),IA=65535&(AA+=_>>>16),CA=65535&(gA+=AA>>>16),BA=65535&(QA+=gA>>>16),iA=65535&(tA+=QA>>>16),eA=65535&(EA+=tA>>>16),aA=65535&(nA+=EA>>>16),hA=65535&(oA+=nA>>>16),wA=65535&(rA+=oA>>>16),fA=65535&(sA+=rA>>>16),cA=65535&(DA+=sA>>>16),FA=65535&(yA+=DA>>>16),uA=65535&(MA+=yA>>>16),pA=65535&(lA+=MA>>>16),GA=65535&(HA+=lA>>>16),dA=65535&(UA+=HA>>>16),LA=65535&(mA+=UA>>>16),kA=65535&(JA+=mA>>>16),bA=65535&(NA+=JA>>>16),SA=65535&(RA+=NA>>>16),YA=65535&(vA+=RA>>>16),qA=65535&(PA+=vA>>>16),XA=65535&(xA+=PA>>>16),VA=65535&(ZA+=xA>>>16),WA=65535&(KA+=ZA>>>16),jA=65535&(OA+=KA>>>16),TA=65535&(zA+=OA>>>16),$A=65535&(_A+=zA>>>16),II=65535&(AI+=_A>>>16),CI=65535&(gI+=AI>>>16),BI=65535&(QI+=gI>>>16),iI=65535&(tI+=QI>>>16),eI=65535&(EI+=tI>>>16),aI=65535&(nI+=EI>>>16),hI=65535&(oI+=nI>>>16),wI=65535&(rI+=oI>>>16),fI=65535&(sI+=rI>>>16),cI=65535&(DI+=sI>>>16),FI=65535&(yI+=DI>>>16),uI=65535&(MI+=yI>>>16),GI=HI+((lI+=MI>>>16)>>>16)&65535,pI=65535&lI,t^=63&I|128),i=397*e,n=397*a,o=397*h,w=397*f,D=397*c,y=397*F,M=397*u,l=397*p,H=397*G,U=397*d,m=397*L,J=397*k,N=397*b,R=397*S,v=397*Y,P=397*q,x=397*X,Z=397*V,K=397*W,O=397*j,z=397*T,_=397*$,AA=397*IA,gA=397*CA,QA=397*BA,tA=397*iA,EA=397*eA,nA=397*aA,oA=397*hA,rA=397*wA,sA=397*fA,DA=397*cA,yA=397*FA,MA=397*uA,lA=397*pA,HA=397*GA,UA=397*dA,mA=397*LA,JA=397*kA,NA=397*bA,RA=397*SA,vA=397*YA,PA=397*qA,xA=397*XA,ZA=397*VA,KA=397*WA,OA=397*jA,zA=397*TA,_A=397*$A,AI=397*II,gI=397*CI,QI=397*BI,tI=397*iI,EI=397*eI,nI=397*aI,oI=397*hI,rI=397*wI,sI=397*fI,DI=397*cI,yI=397*FI,MI=397*uI,lI=397*pI,HI=397*GI,vA+=t<<8,PA+=e<<8,xA+=a<<8,ZA+=h<<8,KA+=f<<8,OA+=c<<8,zA+=F<<8,_A+=u<<8,AI+=p<<8,gI+=G<<8,QI+=d<<8,tI+=L<<8,EI+=k<<8,nI+=b<<8,oI+=S<<8,rI+=Y<<8,sI+=q<<8,DI+=X<<8,yI+=V<<8,MI+=W<<8,lI+=j<<8,HI+=T<<8,t=65535&(B=397*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),S=65535&(R+=N>>>16),Y=65535&(v+=R>>>16),q=65535&(P+=v>>>16),X=65535&(x+=P>>>16),V=65535&(Z+=x>>>16),W=65535&(K+=Z>>>16),j=65535&(O+=K>>>16),T=65535&(z+=O>>>16),$=65535&(_+=z>>>16),IA=65535&(AA+=_>>>16),CA=65535&(gA+=AA>>>16),BA=65535&(QA+=gA>>>16),iA=65535&(tA+=QA>>>16),eA=65535&(EA+=tA>>>16),aA=65535&(nA+=EA>>>16),hA=65535&(oA+=nA>>>16),wA=65535&(rA+=oA>>>16),fA=65535&(sA+=rA>>>16),cA=65535&(DA+=sA>>>16),FA=65535&(yA+=DA>>>16),uA=65535&(MA+=yA>>>16),pA=65535&(lA+=MA>>>16),GA=65535&(HA+=lA>>>16),dA=65535&(UA+=HA>>>16),LA=65535&(mA+=UA>>>16),kA=65535&(JA+=mA>>>16),bA=65535&(NA+=JA>>>16),SA=65535&(RA+=NA>>>16),YA=65535&(vA+=RA>>>16),qA=65535&(PA+=vA>>>16),XA=65535&(xA+=PA>>>16),VA=65535&(ZA+=xA>>>16),WA=65535&(KA+=ZA>>>16),jA=65535&(OA+=KA>>>16),TA=65535&(zA+=OA>>>16),$A=65535&(_A+=zA>>>16),II=65535&(AI+=_A>>>16),CI=65535&(gI+=AI>>>16),BI=65535&(QI+=gI>>>16),iI=65535&(tI+=QI>>>16),eI=65535&(EI+=tI>>>16),aI=65535&(nI+=EI>>>16),hI=65535&(oI+=nI>>>16),wI=65535&(rI+=oI>>>16),fI=65535&(sI+=rI>>>16),cI=65535&(DI+=sI>>>16),FI=65535&(yI+=DI>>>16),uI=65535&(MI+=yI>>>16),GI=HI+((lI+=MI>>>16)>>>16)&65535,pI=65535&lI;return s(E[GI>>8]+E[255&GI]+E[pI>>8]+E[255&pI]+E[uI>>8]+E[255&uI]+E[FI>>8]+E[255&FI]+E[cI>>8]+E[255&cI]+E[fI>>8]+E[255&fI]+E[wI>>8]+E[255&wI]+E[hI>>8]+E[255&hI]+E[aI>>8]+E[255&aI]+E[eI>>8]+E[255&eI]+E[iI>>8]+E[255&iI]+E[BI>>8]+E[255&BI]+E[CI>>8]+E[255&CI]+E[II>>8]+E[255&II]+E[$A>>8]+E[255&$A]+E[TA>>8]+E[255&TA]+E[jA>>8]+E[255&jA]+E[WA>>8]+E[255&WA]+E[VA>>8]+E[255&VA]+E[XA>>8]+E[255&XA]+E[qA>>8]+E[255&qA]+E[YA>>8]+E[255&YA]+E[SA>>8]+E[255&SA]+E[bA>>8]+E[255&bA]+E[kA>>8]+E[255&kA]+E[LA>>8]+E[255&LA]+E[dA>>8]+E[255&dA]+E[GA>>8]+E[255&GA]+E[pA>>8]+E[255&pA]+E[uA>>8]+E[255&uA]+E[FA>>8]+E[255&FA]+E[cA>>8]+E[255&cA]+E[fA>>8]+E[255&fA]+E[wA>>8]+E[255&wA]+E[hA>>8]+E[255&hA]+E[aA>>8]+E[255&aA]+E[eA>>8]+E[255&eA]+E[iA>>8]+E[255&iA]+E[BA>>8]+E[255&BA]+E[CA>>8]+E[255&CA]+E[IA>>8]+E[255&IA]+E[$>>8]+E[255&$]+E[T>>8]+E[255&T]+E[j>>8]+E[255&j]+E[W>>8]+E[255&W]+E[V>>8]+E[255&V]+E[X>>8]+E[255&X]+E[q>>8]+E[255&q]+E[Y>>8]+E[255&Y]+E[S>>8]+E[255&S]+E[b>>8]+E[255&b]+E[k>>8]+E[255&k]+E[L>>8]+E[255&L]+E[d>>8]+E[255&d]+E[G>>8]+E[255&G]+E[p>>8]+E[255&p]+E[u>>8]+E[255&u]+E[F>>8]+E[255&F]+E[c>>8]+E[255&c]+E[f>>8]+E[255&f]+E[h>>8]+E[255&h]+E[a>>8]+E[255&a]+E[e>>8]+E[255&e]+E[t>>8]+E[255&t],1024)}function z(A){var I,g,C=A.length,Q=r[1024].offset,B=0,t=0|Q[63],i=0,e=0|Q[62],n=0,a=0|Q[61],o=0,h=0|Q[60],w=0,f=0|Q[59],D=0,c=0|Q[58],y=0,F=0|Q[57],M=0,u=0|Q[56],l=0,p=0|Q[55],H=0,G=0|Q[54],U=0,d=0|Q[53],m=0,L=0|Q[52],J=0,k=0|Q[51],N=0,b=0|Q[50],R=0,S=0|Q[49],v=0,Y=0|Q[48],P=0,q=0|Q[47],x=0,X=0|Q[46],Z=0,V=0|Q[45],K=0,W=0|Q[44],O=0,j=0|Q[43],z=0,T=0|Q[42],_=0,$=0|Q[41],AA=0,IA=0|Q[40],gA=0,CA=0|Q[39],QA=0,BA=0|Q[38],tA=0,iA=0|Q[37],EA=0,eA=0|Q[36],nA=0,aA=0|Q[35],oA=0,hA=0|Q[34],rA=0,wA=0|Q[33],sA=0,fA=0|Q[32],DA=0,cA=0|Q[31],yA=0,FA=0|Q[30],MA=0,uA=0|Q[29],lA=0,pA=0|Q[28],HA=0,GA=0|Q[27],UA=0,dA=0|Q[26],mA=0,LA=0|Q[25],JA=0,kA=0|Q[24],NA=0,bA=0|Q[23],RA=0,SA=0|Q[22],vA=0,YA=0|Q[21],PA=0,qA=0|Q[20],xA=0,XA=0|Q[19],ZA=0,VA=0|Q[18],KA=0,WA=0|Q[17],OA=0,jA=0|Q[16],zA=0,TA=0|Q[15],_A=0,$A=0|Q[14],AI=0,II=0|Q[13],gI=0,CI=0|Q[12],QI=0,BI=0|Q[11],tI=0,iI=0|Q[10],EI=0,eI=0|Q[9],nI=0,aI=0|Q[8],oI=0,hI=0|Q[7],rI=0,wI=0|Q[6],sI=0,fI=0|Q[5],DI=0,cI=0|Q[4],yI=0,FI=0|Q[3],MI=0,uI=0|Q[2],lI=0,pI=0|Q[1],HI=0,GI=0|Q[0];for(g=0;g>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),S=65535&(R+=N>>>16),Y=65535&(v+=R>>>16),q=65535&(P+=v>>>16),X=65535&(x+=P>>>16),V=65535&(Z+=x>>>16),W=65535&(K+=Z>>>16),j=65535&(O+=K>>>16),T=65535&(z+=O>>>16),$=65535&(_+=z>>>16),IA=65535&(AA+=_>>>16),CA=65535&(gA+=AA>>>16),BA=65535&(QA+=gA>>>16),iA=65535&(tA+=QA>>>16),eA=65535&(EA+=tA>>>16),aA=65535&(nA+=EA>>>16),hA=65535&(oA+=nA>>>16),wA=65535&(rA+=oA>>>16),fA=65535&(sA+=rA>>>16),cA=65535&(DA+=sA>>>16),FA=65535&(yA+=DA>>>16),uA=65535&(MA+=yA>>>16),pA=65535&(lA+=MA>>>16),GA=65535&(HA+=lA>>>16),dA=65535&(UA+=HA>>>16),LA=65535&(mA+=UA>>>16),kA=65535&(JA+=mA>>>16),bA=65535&(NA+=JA>>>16),SA=65535&(RA+=NA>>>16),YA=65535&(vA+=RA>>>16),qA=65535&(PA+=vA>>>16),XA=65535&(xA+=PA>>>16),VA=65535&(ZA+=xA>>>16),WA=65535&(KA+=ZA>>>16),jA=65535&(OA+=KA>>>16),TA=65535&(zA+=OA>>>16),$A=65535&(_A+=zA>>>16),II=65535&(AI+=_A>>>16),CI=65535&(gI+=AI>>>16),BI=65535&(QI+=gI>>>16),iI=65535&(tI+=QI>>>16),eI=65535&(EI+=tI>>>16),aI=65535&(nI+=EI>>>16),hI=65535&(oI+=nI>>>16),wI=65535&(rI+=oI>>>16),fI=65535&(sI+=rI>>>16),cI=65535&(DI+=sI>>>16),FI=65535&(yI+=DI>>>16),uI=65535&(MI+=yI>>>16),GI=HI+((lI+=MI>>>16)>>>16)&65535,pI=65535&lI,(I=A.charCodeAt(g))<128?t^=I:I<2048?(i=397*e,n=397*a,o=397*h,w=397*f,D=397*c,y=397*F,M=397*u,l=397*p,H=397*G,U=397*d,m=397*L,J=397*k,N=397*b,R=397*S,v=397*Y,P=397*q,x=397*X,Z=397*V,K=397*W,O=397*j,z=397*T,_=397*$,AA=397*IA,gA=397*CA,QA=397*BA,tA=397*iA,EA=397*eA,nA=397*aA,oA=397*hA,rA=397*wA,sA=397*fA,DA=397*cA,yA=397*FA,MA=397*uA,lA=397*pA,HA=397*GA,UA=397*dA,mA=397*LA,JA=397*kA,NA=397*bA,RA=397*SA,vA=397*YA,PA=397*qA,xA=397*XA,ZA=397*VA,KA=397*WA,OA=397*jA,zA=397*TA,_A=397*$A,AI=397*II,gI=397*CI,QI=397*BI,tI=397*iI,EI=397*eI,nI=397*aI,oI=397*hI,rI=397*wI,sI=397*fI,DI=397*cI,yI=397*FI,MI=397*uI,lI=397*pI,HI=397*GI,vA+=(t^=I>>6|192)<<8,PA+=e<<8,xA+=a<<8,ZA+=h<<8,KA+=f<<8,OA+=c<<8,zA+=F<<8,_A+=u<<8,AI+=p<<8,gI+=G<<8,QI+=d<<8,tI+=L<<8,EI+=k<<8,nI+=b<<8,oI+=S<<8,rI+=Y<<8,sI+=q<<8,DI+=X<<8,yI+=V<<8,MI+=W<<8,lI+=j<<8,HI+=T<<8,t=65535&(B=397*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),S=65535&(R+=N>>>16),Y=65535&(v+=R>>>16),q=65535&(P+=v>>>16),X=65535&(x+=P>>>16),V=65535&(Z+=x>>>16),W=65535&(K+=Z>>>16),j=65535&(O+=K>>>16),T=65535&(z+=O>>>16),$=65535&(_+=z>>>16),IA=65535&(AA+=_>>>16),CA=65535&(gA+=AA>>>16),BA=65535&(QA+=gA>>>16),iA=65535&(tA+=QA>>>16),eA=65535&(EA+=tA>>>16),aA=65535&(nA+=EA>>>16),hA=65535&(oA+=nA>>>16),wA=65535&(rA+=oA>>>16),fA=65535&(sA+=rA>>>16),cA=65535&(DA+=sA>>>16),FA=65535&(yA+=DA>>>16),uA=65535&(MA+=yA>>>16),pA=65535&(lA+=MA>>>16),GA=65535&(HA+=lA>>>16),dA=65535&(UA+=HA>>>16),LA=65535&(mA+=UA>>>16),kA=65535&(JA+=mA>>>16),bA=65535&(NA+=JA>>>16),SA=65535&(RA+=NA>>>16),YA=65535&(vA+=RA>>>16),qA=65535&(PA+=vA>>>16),XA=65535&(xA+=PA>>>16),VA=65535&(ZA+=xA>>>16),WA=65535&(KA+=ZA>>>16),jA=65535&(OA+=KA>>>16),TA=65535&(zA+=OA>>>16),$A=65535&(_A+=zA>>>16),II=65535&(AI+=_A>>>16),CI=65535&(gI+=AI>>>16),BI=65535&(QI+=gI>>>16),iI=65535&(tI+=QI>>>16),eI=65535&(EI+=tI>>>16),aI=65535&(nI+=EI>>>16),hI=65535&(oI+=nI>>>16),wI=65535&(rI+=oI>>>16),fI=65535&(sI+=rI>>>16),cI=65535&(DI+=sI>>>16),FI=65535&(yI+=DI>>>16),uI=65535&(MI+=yI>>>16),GI=HI+((lI+=MI>>>16)>>>16)&65535,pI=65535&lI,t^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,PA+=e<<8,xA+=a<<8,ZA+=h<<8,KA+=f<<8,OA+=c<<8,zA+=F<<8,_A+=u<<8,AI+=p<<8,gI+=G<<8,QI+=d<<8,tI+=L<<8,EI+=k<<8,nI+=b<<8,oI+=S<<8,rI+=Y<<8,sI+=q<<8,DI+=X<<8,yI+=V<<8,MI+=W<<8,lI+=j<<8,t=65535&(B=397*t),GI=(HI+=T<<8)+((lI+=(MI+=(yI+=(DI+=(sI+=(rI+=(oI+=(nI+=(EI+=(tI+=(QI+=(gI+=(AI+=(_A+=(zA+=(OA+=(KA+=(ZA+=(xA+=(PA+=(vA+=(RA+=(NA+=(JA+=(mA+=(UA+=(HA+=(lA+=(MA+=(yA+=(DA+=(sA+=(rA+=(oA+=(nA+=(EA+=(tA+=(QA+=(gA+=(AA+=(_+=(z+=(O+=(K+=(Z+=(x+=(P+=(v+=(R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=397*(e=65535&i),n=397*(a=65535&n),o=397*(h=65535&o),w=397*(f=65535&w),D=397*(c=65535&D),y=397*(F=65535&y),M=397*(u=65535&M),l=397*(p=65535&l),H=397*(G=65535&H),U=397*(d=65535&U),m=397*(L=65535&m),J=397*(k=65535&J),N=397*(b=65535&N),R=397*(S=65535&R),v=397*(Y=65535&v),P=397*(q=65535&P),x=397*(X=65535&x),Z=397*(V=65535&Z),K=397*(W=65535&K),O=397*(j=65535&O),z=397*(T=65535&z),_=397*($=65535&_),AA=397*(IA=65535&AA),gA=397*(CA=65535&gA),QA=397*(BA=65535&QA),tA=397*(iA=65535&tA),EA=397*(eA=65535&EA),nA=397*(aA=65535&nA),oA=397*(hA=65535&oA),rA=397*(wA=65535&rA),sA=397*(fA=65535&sA),DA=397*(cA=65535&DA),yA=397*(FA=65535&yA),MA=397*(uA=65535&MA),lA=397*(pA=65535&lA),HA=397*(GA=65535&HA),UA=397*(dA=65535&UA),mA=397*(LA=65535&mA),JA=397*(kA=65535&JA),NA=397*(bA=65535&NA),RA=397*(SA=65535&RA),vA=397*(YA=65535&vA),PA=397*(qA=65535&PA),xA=397*(XA=65535&xA),ZA=397*(VA=65535&ZA),KA=397*(WA=65535&KA),OA=397*(jA=65535&OA),zA=397*(TA=65535&zA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),gI=397*(CI=65535&gI),QI=397*(BI=65535&QI),tI=397*(iI=65535&tI),EI=397*(eI=65535&EI),nI=397*(aI=65535&nI),oI=397*(hI=65535&oI),rI=397*(wI=65535&rI),sI=397*(fI=65535&sI),DI=397*(cI=65535&DI),yI=397*(FI=65535&yI),MI=397*(uI=65535&MI),lI=397*(pI=65535&lI),HI=397*GI,vA+=(t^=I>>12&63|128)<<8,PA+=e<<8,xA+=a<<8,ZA+=h<<8,KA+=f<<8,OA+=c<<8,zA+=F<<8,_A+=u<<8,AI+=p<<8,gI+=G<<8,QI+=d<<8,tI+=L<<8,EI+=k<<8,nI+=b<<8,oI+=S<<8,rI+=Y<<8,sI+=q<<8,DI+=X<<8,yI+=V<<8,MI+=W<<8,lI+=j<<8,t=65535&(B=397*t),GI=(HI+=T<<8)+((lI+=(MI+=(yI+=(DI+=(sI+=(rI+=(oI+=(nI+=(EI+=(tI+=(QI+=(gI+=(AI+=(_A+=(zA+=(OA+=(KA+=(ZA+=(xA+=(PA+=(vA+=(RA+=(NA+=(JA+=(mA+=(UA+=(HA+=(lA+=(MA+=(yA+=(DA+=(sA+=(rA+=(oA+=(nA+=(EA+=(tA+=(QA+=(gA+=(AA+=(_+=(z+=(O+=(K+=(Z+=(x+=(P+=(v+=(R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=397*(e=65535&i),n=397*(a=65535&n),o=397*(h=65535&o),w=397*(f=65535&w),D=397*(c=65535&D),y=397*(F=65535&y),M=397*(u=65535&M),l=397*(p=65535&l),H=397*(G=65535&H),U=397*(d=65535&U),m=397*(L=65535&m),J=397*(k=65535&J),N=397*(b=65535&N),R=397*(S=65535&R),v=397*(Y=65535&v),P=397*(q=65535&P),x=397*(X=65535&x),Z=397*(V=65535&Z),K=397*(W=65535&K),O=397*(j=65535&O),z=397*(T=65535&z),_=397*($=65535&_),AA=397*(IA=65535&AA),gA=397*(CA=65535&gA),QA=397*(BA=65535&QA),tA=397*(iA=65535&tA),EA=397*(eA=65535&EA),nA=397*(aA=65535&nA),oA=397*(hA=65535&oA),rA=397*(wA=65535&rA),sA=397*(fA=65535&sA),DA=397*(cA=65535&DA),yA=397*(FA=65535&yA),MA=397*(uA=65535&MA),lA=397*(pA=65535&lA),HA=397*(GA=65535&HA),UA=397*(dA=65535&UA),mA=397*(LA=65535&mA),JA=397*(kA=65535&JA),NA=397*(bA=65535&NA),RA=397*(SA=65535&RA),vA=397*(YA=65535&vA),PA=397*(qA=65535&PA),xA=397*(XA=65535&xA),ZA=397*(VA=65535&ZA),KA=397*(WA=65535&KA),OA=397*(jA=65535&OA),zA=397*(TA=65535&zA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),gI=397*(CI=65535&gI),QI=397*(BI=65535&QI),tI=397*(iI=65535&tI),EI=397*(eI=65535&EI),nI=397*(aI=65535&nI),oI=397*(hI=65535&oI),rI=397*(wI=65535&rI),sI=397*(fI=65535&sI),DI=397*(cI=65535&DI),yI=397*(FI=65535&yI),MI=397*(uI=65535&MI),lI=397*(pI=65535&lI),HI=397*GI,vA+=(t^=I>>6&63|128)<<8,PA+=e<<8,xA+=a<<8,ZA+=h<<8,KA+=f<<8,OA+=c<<8,zA+=F<<8,_A+=u<<8,AI+=p<<8,gI+=G<<8,QI+=d<<8,tI+=L<<8,EI+=k<<8,nI+=b<<8,oI+=S<<8,rI+=Y<<8,sI+=q<<8,DI+=X<<8,yI+=V<<8,MI+=W<<8,lI+=j<<8,HI+=T<<8,t=65535&(B=397*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),S=65535&(R+=N>>>16),Y=65535&(v+=R>>>16),q=65535&(P+=v>>>16),X=65535&(x+=P>>>16),V=65535&(Z+=x>>>16),W=65535&(K+=Z>>>16),j=65535&(O+=K>>>16),T=65535&(z+=O>>>16),$=65535&(_+=z>>>16),IA=65535&(AA+=_>>>16),CA=65535&(gA+=AA>>>16),BA=65535&(QA+=gA>>>16),iA=65535&(tA+=QA>>>16),eA=65535&(EA+=tA>>>16),aA=65535&(nA+=EA>>>16),hA=65535&(oA+=nA>>>16),wA=65535&(rA+=oA>>>16),fA=65535&(sA+=rA>>>16),cA=65535&(DA+=sA>>>16),FA=65535&(yA+=DA>>>16),uA=65535&(MA+=yA>>>16),pA=65535&(lA+=MA>>>16),GA=65535&(HA+=lA>>>16),dA=65535&(UA+=HA>>>16),LA=65535&(mA+=UA>>>16),kA=65535&(JA+=mA>>>16),bA=65535&(NA+=JA>>>16),SA=65535&(RA+=NA>>>16),YA=65535&(vA+=RA>>>16),qA=65535&(PA+=vA>>>16),XA=65535&(xA+=PA>>>16),VA=65535&(ZA+=xA>>>16),WA=65535&(KA+=ZA>>>16),jA=65535&(OA+=KA>>>16),TA=65535&(zA+=OA>>>16),$A=65535&(_A+=zA>>>16),II=65535&(AI+=_A>>>16),CI=65535&(gI+=AI>>>16),BI=65535&(QI+=gI>>>16),iI=65535&(tI+=QI>>>16),eI=65535&(EI+=tI>>>16),aI=65535&(nI+=EI>>>16),hI=65535&(oI+=nI>>>16),wI=65535&(rI+=oI>>>16),fI=65535&(sI+=rI>>>16),cI=65535&(DI+=sI>>>16),FI=65535&(yI+=DI>>>16),uI=65535&(MI+=yI>>>16),GI=HI+((lI+=MI>>>16)>>>16)&65535,pI=65535&lI,t^=63&I|128):(i=397*e,n=397*a,o=397*h,w=397*f,D=397*c,y=397*F,M=397*u,l=397*p,H=397*G,U=397*d,m=397*L,J=397*k,N=397*b,R=397*S,v=397*Y,P=397*q,x=397*X,Z=397*V,K=397*W,O=397*j,z=397*T,_=397*$,AA=397*IA,gA=397*CA,QA=397*BA,tA=397*iA,EA=397*eA,nA=397*aA,oA=397*hA,rA=397*wA,sA=397*fA,DA=397*cA,yA=397*FA,MA=397*uA,lA=397*pA,HA=397*GA,UA=397*dA,mA=397*LA,JA=397*kA,NA=397*bA,RA=397*SA,vA=397*YA,PA=397*qA,xA=397*XA,ZA=397*VA,KA=397*WA,OA=397*jA,zA=397*TA,_A=397*$A,AI=397*II,gI=397*CI,QI=397*BI,tI=397*iI,EI=397*eI,nI=397*aI,oI=397*hI,rI=397*wI,sI=397*fI,DI=397*cI,yI=397*FI,MI=397*uI,lI=397*pI,HI=397*GI,vA+=(t^=I>>12|224)<<8,PA+=e<<8,xA+=a<<8,ZA+=h<<8,KA+=f<<8,OA+=c<<8,zA+=F<<8,_A+=u<<8,AI+=p<<8,gI+=G<<8,QI+=d<<8,tI+=L<<8,EI+=k<<8,nI+=b<<8,oI+=S<<8,rI+=Y<<8,sI+=q<<8,DI+=X<<8,yI+=V<<8,MI+=W<<8,lI+=j<<8,t=65535&(B=397*t),GI=(HI+=T<<8)+((lI+=(MI+=(yI+=(DI+=(sI+=(rI+=(oI+=(nI+=(EI+=(tI+=(QI+=(gI+=(AI+=(_A+=(zA+=(OA+=(KA+=(ZA+=(xA+=(PA+=(vA+=(RA+=(NA+=(JA+=(mA+=(UA+=(HA+=(lA+=(MA+=(yA+=(DA+=(sA+=(rA+=(oA+=(nA+=(EA+=(tA+=(QA+=(gA+=(AA+=(_+=(z+=(O+=(K+=(Z+=(x+=(P+=(v+=(R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=397*(e=65535&i),n=397*(a=65535&n),o=397*(h=65535&o),w=397*(f=65535&w),D=397*(c=65535&D),y=397*(F=65535&y),M=397*(u=65535&M),l=397*(p=65535&l),H=397*(G=65535&H),U=397*(d=65535&U),m=397*(L=65535&m),J=397*(k=65535&J),N=397*(b=65535&N),R=397*(S=65535&R),v=397*(Y=65535&v),P=397*(q=65535&P),x=397*(X=65535&x),Z=397*(V=65535&Z),K=397*(W=65535&K),O=397*(j=65535&O),z=397*(T=65535&z),_=397*($=65535&_),AA=397*(IA=65535&AA),gA=397*(CA=65535&gA),QA=397*(BA=65535&QA),tA=397*(iA=65535&tA),EA=397*(eA=65535&EA),nA=397*(aA=65535&nA),oA=397*(hA=65535&oA),rA=397*(wA=65535&rA),sA=397*(fA=65535&sA),DA=397*(cA=65535&DA),yA=397*(FA=65535&yA),MA=397*(uA=65535&MA),lA=397*(pA=65535&lA),HA=397*(GA=65535&HA),UA=397*(dA=65535&UA),mA=397*(LA=65535&mA),JA=397*(kA=65535&JA),NA=397*(bA=65535&NA),RA=397*(SA=65535&RA),vA=397*(YA=65535&vA),PA=397*(qA=65535&PA),xA=397*(XA=65535&xA),ZA=397*(VA=65535&ZA),KA=397*(WA=65535&KA),OA=397*(jA=65535&OA),zA=397*(TA=65535&zA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),gI=397*(CI=65535&gI),QI=397*(BI=65535&QI),tI=397*(iI=65535&tI),EI=397*(eI=65535&EI),nI=397*(aI=65535&nI),oI=397*(hI=65535&oI),rI=397*(wI=65535&rI),sI=397*(fI=65535&sI),DI=397*(cI=65535&DI),yI=397*(FI=65535&yI),MI=397*(uI=65535&MI),lI=397*(pI=65535&lI),HI=397*GI,vA+=(t^=I>>6&63|128)<<8,PA+=e<<8,xA+=a<<8,ZA+=h<<8,KA+=f<<8,OA+=c<<8,zA+=F<<8,_A+=u<<8,AI+=p<<8,gI+=G<<8,QI+=d<<8,tI+=L<<8,EI+=k<<8,nI+=b<<8,oI+=S<<8,rI+=Y<<8,sI+=q<<8,DI+=X<<8,yI+=V<<8,MI+=W<<8,lI+=j<<8,HI+=T<<8,t=65535&(B=397*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),S=65535&(R+=N>>>16),Y=65535&(v+=R>>>16),q=65535&(P+=v>>>16),X=65535&(x+=P>>>16),V=65535&(Z+=x>>>16),W=65535&(K+=Z>>>16),j=65535&(O+=K>>>16),T=65535&(z+=O>>>16),$=65535&(_+=z>>>16),IA=65535&(AA+=_>>>16),CA=65535&(gA+=AA>>>16),BA=65535&(QA+=gA>>>16),iA=65535&(tA+=QA>>>16),eA=65535&(EA+=tA>>>16),aA=65535&(nA+=EA>>>16),hA=65535&(oA+=nA>>>16),wA=65535&(rA+=oA>>>16),fA=65535&(sA+=rA>>>16),cA=65535&(DA+=sA>>>16),FA=65535&(yA+=DA>>>16),uA=65535&(MA+=yA>>>16),pA=65535&(lA+=MA>>>16),GA=65535&(HA+=lA>>>16),dA=65535&(UA+=HA>>>16),LA=65535&(mA+=UA>>>16),kA=65535&(JA+=mA>>>16),bA=65535&(NA+=JA>>>16),SA=65535&(RA+=NA>>>16),YA=65535&(vA+=RA>>>16),qA=65535&(PA+=vA>>>16),XA=65535&(xA+=PA>>>16),VA=65535&(ZA+=xA>>>16),WA=65535&(KA+=ZA>>>16),jA=65535&(OA+=KA>>>16),TA=65535&(zA+=OA>>>16),$A=65535&(_A+=zA>>>16),II=65535&(AI+=_A>>>16),CI=65535&(gI+=AI>>>16),BI=65535&(QI+=gI>>>16),iI=65535&(tI+=QI>>>16),eI=65535&(EI+=tI>>>16),aI=65535&(nI+=EI>>>16),hI=65535&(oI+=nI>>>16),wI=65535&(rI+=oI>>>16),fI=65535&(sI+=rI>>>16),cI=65535&(DI+=sI>>>16),FI=65535&(yI+=DI>>>16),uI=65535&(MI+=yI>>>16),GI=HI+((lI+=MI>>>16)>>>16)&65535,pI=65535&lI,t^=63&I|128);return s(E[GI>>8]+E[255&GI]+E[pI>>8]+E[255&pI]+E[uI>>8]+E[255&uI]+E[FI>>8]+E[255&FI]+E[cI>>8]+E[255&cI]+E[fI>>8]+E[255&fI]+E[wI>>8]+E[255&wI]+E[hI>>8]+E[255&hI]+E[aI>>8]+E[255&aI]+E[eI>>8]+E[255&eI]+E[iI>>8]+E[255&iI]+E[BI>>8]+E[255&BI]+E[CI>>8]+E[255&CI]+E[II>>8]+E[255&II]+E[$A>>8]+E[255&$A]+E[TA>>8]+E[255&TA]+E[jA>>8]+E[255&jA]+E[WA>>8]+E[255&WA]+E[VA>>8]+E[255&VA]+E[XA>>8]+E[255&XA]+E[qA>>8]+E[255&qA]+E[YA>>8]+E[255&YA]+E[SA>>8]+E[255&SA]+E[bA>>8]+E[255&bA]+E[kA>>8]+E[255&kA]+E[LA>>8]+E[255&LA]+E[dA>>8]+E[255&dA]+E[GA>>8]+E[255&GA]+E[pA>>8]+E[255&pA]+E[uA>>8]+E[255&uA]+E[FA>>8]+E[255&FA]+E[cA>>8]+E[255&cA]+E[fA>>8]+E[255&fA]+E[wA>>8]+E[255&wA]+E[hA>>8]+E[255&hA]+E[aA>>8]+E[255&aA]+E[eA>>8]+E[255&eA]+E[iA>>8]+E[255&iA]+E[BA>>8]+E[255&BA]+E[CA>>8]+E[255&CA]+E[IA>>8]+E[255&IA]+E[$>>8]+E[255&$]+E[T>>8]+E[255&T]+E[j>>8]+E[255&j]+E[W>>8]+E[255&W]+E[V>>8]+E[255&V]+E[X>>8]+E[255&X]+E[q>>8]+E[255&q]+E[Y>>8]+E[255&Y]+E[S>>8]+E[255&S]+E[b>>8]+E[255&b]+E[k>>8]+E[255&k]+E[L>>8]+E[255&L]+E[d>>8]+E[255&d]+E[G>>8]+E[255&G]+E[p>>8]+E[255&p]+E[u>>8]+E[255&u]+E[F>>8]+E[255&F]+E[c>>8]+E[255&c]+E[f>>8]+E[255&f]+E[h>>8]+E[255&h]+E[a>>8]+E[255&a]+E[e>>8]+E[255&e]+E[t>>8]+E[255&t],1024)}return I=u,g=G,C=L,Q=b,B=Y,t=X,i=W,y("1a"),F(!1),M(),{hash:c,setKeyspace:function(A){if(52!==A&&!r[A])throw new Error("Supported FNV keyspacs: 32, 52, 64, 128, 256, 512, and 1024 bit");h=A},version:y,useUTF8:F,seed:M,fast1a32:function(A){var I,g=A.length-3,C=0,Q=40389,B=0,t=33052;for(I=0;I>>16)&65535),B+=(Q^=A.charCodeAt(I++))<<8,Q=65535&(C=403*Q),B=403*(t=B+(C>>>16)&65535),B+=(Q^=A.charCodeAt(I++))<<8,Q=65535&(C=403*Q),B=403*(t=B+(C>>>16)&65535),t=(B+=(Q^=A.charCodeAt(I++))<<8)+((C=403*Q)>>>16)&65535,Q=65535&C;for(;I>>16)&65535,Q=65535&C;return(t<<16>>>0)+Q},fast1a32hex:function(A){var I,g=A.length-3,C=0,Q=40389,B=0,t=33052;for(I=0;I>>16)&65535),B+=(Q^=A.charCodeAt(I++))<<8,Q=65535&(C=403*Q),B=403*(t=B+(C>>>16)&65535),B+=(Q^=A.charCodeAt(I++))<<8,Q=65535&(C=403*Q),B=403*(t=B+(C>>>16)&65535),t=(B+=(Q^=A.charCodeAt(I++))<<8)+((C=403*Q)>>>16)&65535,Q=65535&C;for(;I>>16)&65535,Q=65535&C;return E[t>>>8&255]+E[255&t]+E[Q>>>8&255]+E[255&Q]},fast1a52:function(A){var I,g=A.length-3,C=0,Q=8997,B=0,t=33826,i=0,E=40164,e=0,n=52210;for(I=0;I>>16)>>>16)>>>16)&65535,B=435*(t=65535&B),i=435*(E=65535&i),e=435*n,i+=(Q^=A.charCodeAt(I++))<<8,Q=65535&(C=435*Q),n=(e+=t<<8)+((i+=(B+=C>>>16)>>>16)>>>16)&65535,B=435*(t=65535&B),i=435*(E=65535&i),e=435*n,i+=(Q^=A.charCodeAt(I++))<<8,Q=65535&(C=435*Q),n=(e+=t<<8)+((i+=(B+=C>>>16)>>>16)>>>16)&65535,B=435*(t=65535&B),i=435*(E=65535&i),e=435*n,i+=(Q^=A.charCodeAt(I++))<<8,e+=t<<8,Q=65535&(C=435*Q),t=65535&(B+=C>>>16),n=e+((i+=B>>>16)>>>16)&65535,E=65535&i;for(;I>>16),n=e+((i+=B>>>16)>>>16)&65535,E=65535&i;return 281474976710656*(15&n)+4294967296*E+65536*t+(Q^n>>4)},fast1a52hex:function(A){var I,g=A.length-3,C=0,Q=8997,B=0,t=33826,i=0,n=40164,a=0,o=52210;for(I=0;I>>16)>>>16)>>>16)&65535,B=435*(t=65535&B),i=435*(n=65535&i),a=435*o,i+=(Q^=A.charCodeAt(I++))<<8,Q=65535&(C=435*Q),o=(a+=t<<8)+((i+=(B+=C>>>16)>>>16)>>>16)&65535,B=435*(t=65535&B),i=435*(n=65535&i),a=435*o,i+=(Q^=A.charCodeAt(I++))<<8,Q=65535&(C=435*Q),o=(a+=t<<8)+((i+=(B+=C>>>16)>>>16)>>>16)&65535,B=435*(t=65535&B),i=435*(n=65535&i),a=435*o,i+=(Q^=A.charCodeAt(I++))<<8,a+=t<<8,Q=65535&(C=435*Q),t=65535&(B+=C>>>16),o=a+((i+=B>>>16)>>>16)&65535,n=65535&i;for(;I>>16),o=a+((i+=B>>>16)>>>16)&65535,n=65535&i;return e[15&o]+E[n>>8]+E[255&n]+E[t>>8]+E[255&t]+E[Q>>8^o>>12]+E[255&(Q^o>>4)]},fast1a64:function(A){var I,g=A.length-3,C=0,Q=8997,B=0,t=33826,i=0,e=40164,n=0,a=52210;for(I=0;I>>16)>>>16)>>>16)&65535,B=435*(t=65535&B),i=435*(e=65535&i),n=435*a,i+=(Q^=A.charCodeAt(I++))<<8,Q=65535&(C=435*Q),a=(n+=t<<8)+((i+=(B+=C>>>16)>>>16)>>>16)&65535,B=435*(t=65535&B),i=435*(e=65535&i),n=435*a,i+=(Q^=A.charCodeAt(I++))<<8,Q=65535&(C=435*Q),a=(n+=t<<8)+((i+=(B+=C>>>16)>>>16)>>>16)&65535,B=435*(t=65535&B),i=435*(e=65535&i),n=435*a,i+=(Q^=A.charCodeAt(I++))<<8,n+=t<<8,Q=65535&(C=435*Q),t=65535&(B+=C>>>16),a=n+((i+=B>>>16)>>>16)&65535,e=65535&i;for(;I>>16),a=n+((i+=B>>>16)>>>16)&65535,e=65535&i;return E[a>>8]+E[255&a]+E[e>>8]+E[255&e]+E[t>>8]+E[255&t]+E[Q>>8]+E[255&Q]},fast1a32utf:function(A){var I,g,C=A.length,Q=0,B=40389,t=0,i=33052;for(g=0;g>6|192)<<8)+((Q=403*B)>>>16)&65535,B=65535&Q,B^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,B=65535&(Q=403*B),t=403*(i=t+(Q>>>16)&65535),t+=(B^=I>>12&63|128)<<8,B=65535&(Q=403*B),t=403*(i=t+(Q>>>16)&65535),i=(t+=(B^=I>>6&63|128)<<8)+((Q=403*B)>>>16)&65535,B=65535&Q,B^=63&I|128):(t=403*i,t+=(B^=I>>12|224)<<8,B=65535&(Q=403*B),t=403*(i=t+(Q>>>16)&65535),i=(t+=(B^=I>>6&63|128)<<8)+((Q=403*B)>>>16)&65535,B=65535&Q,B^=63&I|128),t=403*i,i=(t+=B<<8)+((Q=403*B)>>>16)&65535,B=65535&Q;return(i<<16>>>0)+B},fast1a32hexutf:function(A){var I,g,C=A.length,Q=0,B=40389,t=0,i=33052;for(g=0;g>6|192)<<8)+((Q=403*B)>>>16)&65535,B=65535&Q,B^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,B=65535&(Q=403*B),t=403*(i=t+(Q>>>16)&65535),t+=(B^=I>>12&63|128)<<8,B=65535&(Q=403*B),t=403*(i=t+(Q>>>16)&65535),i=(t+=(B^=I>>6&63|128)<<8)+((Q=403*B)>>>16)&65535,B=65535&Q,B^=63&I|128):(t=403*i,t+=(B^=I>>12|224)<<8,B=65535&(Q=403*B),t=403*(i=t+(Q>>>16)&65535),i=(t+=(B^=I>>6&63|128)<<8)+((Q=403*B)>>>16)&65535,B=65535&Q,B^=63&I|128),t=403*i,i=(t+=B<<8)+((Q=403*B)>>>16)&65535,B=65535&Q;return E[i>>>8&255]+E[255&i]+E[B>>>8&255]+E[255&B]},fast1a52utf:function(A){var I,g,C=A.length,Q=0,B=8997,t=0,i=33826,E=0,e=40164,n=0,a=52210;for(g=0;g>6|192)<<8,n+=i<<8,B=65535&(Q=435*B),i=65535&(t+=Q>>>16),a=n+((E+=t>>>16)>>>16)&65535,e=65535&E,B^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,B=65535&(Q=435*B),a=(n+=i<<8)+((E+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),E=435*(e=65535&E),n=435*a,E+=(B^=I>>12&63|128)<<8,B=65535&(Q=435*B),a=(n+=i<<8)+((E+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),E=435*(e=65535&E),n=435*a,E+=(B^=I>>6&63|128)<<8,n+=i<<8,B=65535&(Q=435*B),i=65535&(t+=Q>>>16),a=n+((E+=t>>>16)>>>16)&65535,e=65535&E,B^=63&I|128):(t=435*i,E=435*e,n=435*a,E+=(B^=I>>12|224)<<8,B=65535&(Q=435*B),a=(n+=i<<8)+((E+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),E=435*(e=65535&E),n=435*a,E+=(B^=I>>6&63|128)<<8,n+=i<<8,B=65535&(Q=435*B),i=65535&(t+=Q>>>16),a=n+((E+=t>>>16)>>>16)&65535,e=65535&E,B^=63&I|128),t=435*i,E=435*e,n=435*a,E+=B<<8,n+=i<<8,B=65535&(Q=435*B),i=65535&(t+=Q>>>16),a=n+((E+=t>>>16)>>>16)&65535,e=65535&E;return 281474976710656*(15&a)+4294967296*e+65536*i+(B^a>>4)},fast1a52hexutf:function(A){var I,g,C=A.length,Q=0,B=8997,t=0,i=33826,n=0,a=40164,o=0,h=52210;for(g=0;g>6|192)<<8,o+=i<<8,B=65535&(Q=435*B),i=65535&(t+=Q>>>16),h=o+((n+=t>>>16)>>>16)&65535,a=65535&n,B^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,B=65535&(Q=435*B),h=(o+=i<<8)+((n+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),n=435*(a=65535&n),o=435*h,n+=(B^=I>>12&63|128)<<8,B=65535&(Q=435*B),h=(o+=i<<8)+((n+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),n=435*(a=65535&n),o=435*h,n+=(B^=I>>6&63|128)<<8,o+=i<<8,B=65535&(Q=435*B),i=65535&(t+=Q>>>16),h=o+((n+=t>>>16)>>>16)&65535,a=65535&n,B^=63&I|128):(t=435*i,n=435*a,o=435*h,n+=(B^=I>>12|224)<<8,B=65535&(Q=435*B),h=(o+=i<<8)+((n+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),n=435*(a=65535&n),o=435*h,n+=(B^=I>>6&63|128)<<8,o+=i<<8,B=65535&(Q=435*B),i=65535&(t+=Q>>>16),h=o+((n+=t>>>16)>>>16)&65535,a=65535&n,B^=63&I|128),t=435*i,n=435*a,o=435*h,n+=B<<8,o+=i<<8,B=65535&(Q=435*B),i=65535&(t+=Q>>>16),h=o+((n+=t>>>16)>>>16)&65535,a=65535&n;return e[15&h]+E[a>>8]+E[255&a]+E[i>>8]+E[255&i]+E[B>>8^h>>12]+E[255&(B^h>>4)]},fast1a64utf:function(A){var I,g,C=A.length,Q=0,B=8997,t=0,i=33826,e=0,n=40164,a=0,o=52210;for(g=0;g>6|192)<<8,a+=i<<8,B=65535&(Q=435*B),i=65535&(t+=Q>>>16),o=a+((e+=t>>>16)>>>16)&65535,n=65535&e,B^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,B=65535&(Q=435*B),o=(a+=i<<8)+((e+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),e=435*(n=65535&e),a=435*o,e+=(B^=I>>12&63|128)<<8,B=65535&(Q=435*B),o=(a+=i<<8)+((e+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),e=435*(n=65535&e),a=435*o,e+=(B^=I>>6&63|128)<<8,a+=i<<8,B=65535&(Q=435*B),i=65535&(t+=Q>>>16),o=a+((e+=t>>>16)>>>16)&65535,n=65535&e,B^=63&I|128):(t=435*i,e=435*n,a=435*o,e+=(B^=I>>12|224)<<8,B=65535&(Q=435*B),o=(a+=i<<8)+((e+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),e=435*(n=65535&e),a=435*o,e+=(B^=I>>6&63|128)<<8,a+=i<<8,B=65535&(Q=435*B),i=65535&(t+=Q>>>16),o=a+((e+=t>>>16)>>>16)&65535,n=65535&e,B^=63&I|128),t=435*i,e=435*n,a=435*o,e+=B<<8,a+=i<<8,B=65535&(Q=435*B),i=65535&(t+=Q>>>16),o=a+((e+=t>>>16)>>>16)&65535,n=65535&e;return E[o>>8]+E[255&o]+E[n>>8]+E[255&n]+E[i>>8]+E[255&i]+E[B>>8]+E[255&B]}}}();A.exports=I}));async function Fg(A,I){I=I||{};let g,C=32767,Q=!1;for(;!Q;)try{g=new WebAssembly.Memory({initial:C}),Q=!0}catch(A){if(1===C)throw A;console.warn("Could not allocate "+1024*C*64+" bytes. This may cause severe instability. Trying with "+1024*C*64/2+" bytes"),C=Math.floor(C/2)}const B=await WebAssembly.compile(A);let t;const i=await WebAssembly.instantiate(B,{env:{memory:g},runtime:{error:function(A,g,C,Q,B,i){let E;throw E=7==A?e(g)+" "+t.getFr(Q).toString()+" != "+t.getFr(B).toString()+" "+e(i):9==A?e(g)+" "+t.getFr(Q).toString()+" "+e(B):5==A&&I.sym?e(g)+" "+I.sym.labelIdx2Name[B]:e(g)+" "+C+" "+Q+" "+B+" "+i,console.log("ERROR: ",A,E),new Error(E)},log:function(A){console.log(t.getFr(A).toString())},logGetSignal:function(A,g){I.logGetSignal&&I.logGetSignal(A,t.getFr(g))},logSetSignal:function(A,g){I.logSetSignal&&I.logSetSignal(A,t.getFr(g))},logStartComponent:function(A){I.logStartComponent&&I.logStartComponent(A)},logFinishComponent:function(A){I.logFinishComponent&&I.logFinishComponent(A)}}}),E=I&&(I.sanityCheck||I.logGetSignal||I.logSetSignal||I.logStartComponent||I.logFinishComponent);return t=new Mg(g,i,E),t;function e(A){const I=new Uint8Array(g.buffer),C=[];for(let g=0;I[A+g]>0;g++)C.push(I[A+g]);return String.fromCharCode.apply(null,C)}}class Mg{constructor(A,I,g){this.memory=A,this.i32=new Uint32Array(A.buffer),this.instance=I,this.n32=(this.instance.exports.getFrLen()>>2)-2;const C=this.instance.exports.getPRawPrime(),Q=new Array(this.n32);for(let A=0;A>2)+A];this.prime=nI.fromArray(Q,4294967296),this.Fr=new HA(this.prime),this.mask32=nI.fromString("FFFFFFFF",16),this.NVars=this.instance.exports.getNVars(),this.n64=Math.floor((this.Fr.bitLength-1)/64)+1,this.R=this.Fr.e(nI.shiftLeft(1,64*this.n64)),this.RInv=this.Fr.inv(this.R),this.sanityCheck=g}async _doCalculateWitness(A,I){this.instance.exports.init(this.sanityCheck||I?1:0);const g=this.allocInt(),C=this.allocFr();Object.keys(A).forEach((I=>{const Q=(B=I,yg.hash(B,64).hex());var B;const t=parseInt(Q.slice(0,8),16),i=parseInt(Q.slice(8,16),16);try{this.instance.exports.getSignalOffset32(g,0,t,i)}catch(A){throw new Error(`Signal ${I} is not an input of the circuit.`)}const E=this.getInt(g),e=(n=A[I],function A(I,g){if(Array.isArray(g))for(let C=0;C>2]}setInt(A,I){this.i32[A>>2]=I}getFr(A){const I=this,g=A>>2;if(2147483648&I.i32[g+1]){const A=new Array(I.n32);for(let C=0;C>2]=Q,void(g.i32[1+(A>>2)]=0)}g.i32[A>>2]=0,g.i32[1+(A>>2)]=2147483648;const B=nI.toArray(I,4294967296);for(let I=0;I>2)+I]=C>=0?B[C]:0}}}async function ug(A,I,g,C){const Q=await GI(I),B=await Q.read(Q.totalSize);await Q.close();const t=await Fg(B),i=await t.calculateBinWitness(A),E=await dI(g,"wtns",2,2);await async function(A,I,g){await mI(A,1);const C=8*(Math.floor((nI.bitLength(g)-1)/64)+1);if(await A.writeULE32(C),await NI(A,g,C),I.byteLength%C!=0)throw new Error("Invalid witness length");await A.writeULE32(I.byteLength/C),await LI(A),await mI(A,2),await A.write(I),await LI(A)}(E,i,t.prime),await E.close()}const{unstringifyBigInts:lg}=aI;var pg=Object.freeze({__proto__:null,fullProve:async function(A,I,g,C){const Q={type:"mem"};return await ug(A,I,Q),await cg(g,Q,C)},prove:cg,verify:async function(A,I,g,C){A=lg(A),g=lg(g),I=lg(I);const Q=await async function(A){let I;const g=A.toUpperCase().match(/[A-Za-z0-9]+/g).join("");if(["BN128","BN254","ALTBN128"].indexOf(g)>=0)I=await tI();else{if(!(["BLS12381"].indexOf(g)>=0))throw new Error(`Curve not supported: ${A}`);I=await iI()}return I}(A.curve),B=Q.G1.fromObject(A.IC[0]),t=new Uint8Array(2*Q.G1.F.n8*I.length),i=new Uint8Array(Q.Fr.n8*I.length);for(let g=0;g1)throw new Error(A.fileName+": File has more than one header");A.pos=I[1][0].p;const g=await A.readULE32(),C=await A.read(g),Q=nI.fromRprLE(C),B=await qI(Q);if(8*B.F1.n64!=g)throw new Error(A.fileName+": Invalid size");const t=await A.readULE32(),i=await A.readULE32();if(A.pos-I[1][0].p!=I[1][0].size)throw new Error("Invalid PTau header size");return{curve:B,power:t,ceremonyPower:i}}function Jg(A,I,g,C){const Q={tau:{},alpha:{},beta:{}};return Q.tau.g1_s=B(),Q.tau.g1_sx=B(),Q.alpha.g1_s=B(),Q.alpha.g1_sx=B(),Q.beta.g1_s=B(),Q.beta.g1_sx=B(),Q.tau.g2_spx=t(),Q.alpha.g2_spx=t(),Q.beta.g2_spx=t(),Q;function B(){let Q;return Q=C?g.G1.fromRprLEM(A,I):g.G1.fromRprUncompressed(A,I),I+=2*g.G1.F.n8,Q}function t(){let Q;return Q=C?g.G2.fromRprLEM(A,I):g.G2.fromRprUncompressed(A,I),I+=2*g.G2.F.n8,Q}}function kg(A,I,g,C,Q){async function B(C){Q?g.G1.toRprLEM(A,I,C):g.G1.toRprUncompressed(A,I,C),I+=2*g.F1.n8}async function t(C){Q?g.G2.toRprLEM(A,I,C):g.G2.toRprUncompressed(A,I,C),I+=2*g.F2.n8}return B(C.tau.g1_s),B(C.tau.g1_sx),B(C.alpha.g1_s),B(C.alpha.g1_sx),B(C.beta.g1_s),B(C.beta.g1_sx),t(C.tau.g2_spx),t(C.alpha.g2_spx),t(C.beta.g2_spx),A}async function Ng(A,I){const g={};g.tauG1=await E(),g.tauG2=await e(),g.alphaG1=await E(),g.betaG1=await E(),g.betaG2=await e(),g.key=await async function(A,I,g){return Jg(await A.read(2*I.F1.n8*6+2*I.F2.n8*3),0,I,g)}(A,I,!0),g.partialHash=await A.read(216),g.nextChallenge=await A.read(64),g.type=await A.readULE32();const C=new Uint8Array(2*I.G1.F.n8*6+2*I.G2.F.n8*3);kg(C,0,I,g.key,!1);const Q=WI(64);Q.setPartialHash(g.partialHash),Q.update(C),g.responseHash=Q.digest();const B=await A.readULE32(),t=A.pos;let i=0;for(;A.pos-t1)throw new Error(A.fileName+": File has more than one contributions section");A.pos=g[7][0].p;const C=await A.readULE32(),Q=[];for(let g=0;g0){const I=new Uint8Array(B);await A.writeULE32(I.byteLength),await A.write(I)}else await A.writeULE32(0);async function t(g){I.G1.toRprLEM(C,0,g),await A.write(C)}async function i(g){I.G2.toRprLEM(Q,0,g),await A.write(Q)}}async function Sg(A,I,g){await A.writeULE32(7);const C=A.pos;await A.writeULE64(0),await A.writeULE32(g.length);for(let C=0;C0?a[a.length-1].nextChallenge:vg(e,n,B);const c=await dI(g,"ptau",1,Q?7:2);await mg(c,e,n);const y=await f.read(64);if(_I(t,D)&&(D=y,a[a.length-1].nextChallenge=D),!_I(y,D))throw new Error("Wrong contribution. this contribution is not based on the previus hash");const F=new WI(64);F.update(y);const M=[];let u;u=await H(f,c,"G1",2,2**n*2-1,[1],"tauG1"),o.tauG1=u[0],u=await H(f,c,"G2",3,2**n,[1],"tauG2"),o.tauG2=u[0],u=await H(f,c,"G1",4,2**n,[0],"alphaG1"),o.alphaG1=u[0],u=await H(f,c,"G1",5,2**n,[0],"betaG1"),o.betaG1=u[0],u=await H(f,c,"G2",6,1,[0],"betaG2"),o.betaG2=u[0],o.partialHash=F.getPartialHash();const l=await f.read(2*e.F1.n8*6+2*e.F2.n8*3);o.key=Jg(l,0,e,!1),F.update(new Uint8Array(l));const p=F.digest();if(B&&B.info(TI(p,"Contribution Response Hash imported: ")),Q){const A=new WI(64);A.update(p),await G(A,c,"G1",2,2**n*2-1,"tauG1",B),await G(A,c,"G2",3,2**n,"tauG2",B),await G(A,c,"G1",4,2**n,"alphaTauG1",B),await G(A,c,"G1",5,2**n,"betaTauG1",B),await G(A,c,"G2",6,1,"betaG2",B),o.nextChallenge=A.digest(),B&&B.info(TI(o.nextChallenge,"Next Challenge Hash: "))}else o.nextChallenge=t;return a.push(o),await Sg(c,e,a),await f.close(),await c.close(),await i.close(),o.nextChallenge;async function H(A,I,g,C,t,i,E){return Q?await async function(A,I,g,C,Q,t,i){const E=e[g],n=E.F.n8,a=2*E.F.n8,o=[];await mI(I,C);const h=Math.floor((1<<24)/a);M[C]=I.pos;for(let g=0;g=g&&I=I&&Q1?E[E.length-2]:e;const a=E[E.length-1];if(I&&I.debug("Validating contribution #"+E[E.length-1].id),!await qg(B,a,n,I))return!1;const o=WI(64);o.update(a.responseHash),I&&I.debug("Verifying powers in tau*G1 section");const h=await y(2,"G1","tauG1",2**t*2-1,[0,1],I);if(g=await Pg(B,h.R1,h.R2,B.G2.g,a.tauG2),!0!==g)return I&&I.error("tauG1 section. Powers do not match"),!1;if(!B.G1.eq(B.G1.g,h.singularPoints[0]))return I&&I.error("First element of tau*G1 section must be the generator"),!1;if(!B.G1.eq(a.tauG1,h.singularPoints[1]))return I&&I.error("Second element of tau*G1 section does not match the one in the contribution section"),!1;I&&I.debug("Verifying powers in tau*G2 section");const r=await y(3,"G2","tauG2",2**t,[0,1],I);if(g=await Pg(B,B.G1.g,a.tauG1,r.R1,r.R2),!0!==g)return I&&I.error("tauG2 section. Powers do not match"),!1;if(!B.G2.eq(B.G2.g,r.singularPoints[0]))return I&&I.error("First element of tau*G2 section must be the generator"),!1;if(!B.G2.eq(a.tauG2,r.singularPoints[1]))return I&&I.error("Second element of tau*G2 section does not match the one in the contribution section"),!1;I&&I.debug("Verifying powers in alpha*tau*G1 section");const w=await y(4,"G1","alphatauG1",2**t,[0],I);if(g=await Pg(B,w.R1,w.R2,B.G2.g,a.tauG2),!0!==g)return I&&I.error("alphaTauG1 section. Powers do not match"),!1;if(!B.G1.eq(a.alphaG1,w.singularPoints[0]))return I&&I.error("First element of alpha*tau*G1 section (alpha*G1) does not match the one in the contribution section"),!1;I&&I.debug("Verifying powers in beta*tau*G1 section");const s=await y(5,"G1","betatauG1",2**t,[0],I);if(g=await Pg(B,s.R1,s.R2,B.G2.g,a.tauG2),!0!==g)return I&&I.error("betaTauG1 section. Powers do not match"),!1;if(!B.G1.eq(a.betaG1,s.singularPoints[0]))return I&&I.error("First element of beta*tau*G1 section (beta*G1) does not match the one in the contribution section"),!1;const f=await async function(A){const I=B.G2,g=2*I.F.n8,t=new Uint8Array(g);if(!Q[6])throw A.error("File has no BetaG2 section"),new Error("File has no BetaG2 section");if(Q[6].length>1)throw A.error("File has no BetaG2 section"),new Error("File has more than one GetaG2 section");C.pos=Q[6][0].p;const i=await C.read(g),E=I.fromRprLEM(i);return I.toRprUncompressed(t,0,E),o.update(t),E}(I);if(!B.G2.eq(a.betaG2,f))return I&&I.error("betaG2 element in betaG2 section does not match the one in the contribution section"),!1;const D=o.digest();if(t==i&&!_I(D,a.nextChallenge))return I&&I.error("Hash of the values does not match the next challenge of the last contributor in the contributions section"),!1;I&&I.info(TI(D,"Next challenge hash: ")),c(a,n);for(let A=E.length-2;A>=0;A--){const g=E[A],C=A>0?E[A-1]:e;if(!await qg(B,g,C,I))return!1;c(g,C)}if(I&&I.info("-----------------------------------------------------"),Q[12]&&Q[13]&&Q[14]&&Q[15]){let A;if(A=await F("G1",2,12,"tauG1",I),!A)return!1;if(A=await F("G2",3,13,"tauG2",I),!A)return!1;if(A=await F("G1",4,14,"alphaTauG1",I),!A)return!1;if(A=await F("G1",5,15,"betaTauG1",I),!A)return!1}else I&&I.warn('this file does not contain phase2 precalculated values. Please run: \n snarkjs "powersoftau preparephase2" to prepare this file to be used in the phase2 ceremony.');return await C.close(),I&&I.info("Powers of Tau Ok!"),!0;function c(A,g){if(!I)return;I.info("-----------------------------------------------------"),I.info(`Contribution #${A.id}: ${A.name||""}`),I.info(TI(A.nextChallenge,"Next Challenge: "));const C=new Uint8Array(2*B.G1.F.n8*6+2*B.G2.F.n8*3);kg(C,0,B,A.key,!1);const Q=WI(64);Q.setPartialHash(A.partialHash),Q.update(C);const t=Q.digest();I.info(TI(t,"Response Hash:")),I.info(TI(g.nextChallenge,"Response Hash:")),1==A.type&&(I.info(`Beacon generator: ${Qg(A.beaconHash)}`),I.info(`Beacon iterations Exp: ${A.numIterationsExp}`))}async function y(A,I,g,t,i,E){const e=B[I],n=2*e.F.n8;await JI(C,Q,A);const a=[];let h=e.zero,r=e.zero,w=e.zero;for(let A=0;A0){const A=e.fromRprLEM(Q,0),I=DA.randomBytes(4).readUInt32BE(0,!0);h=e.add(h,e.timesScalar(w,I)),r=e.add(r,e.timesScalar(A,I))}const f=await e.multiExpAffine(Q.slice(0,(I-1)*n),s),D=await e.multiExpAffine(Q.slice(n),s);h=e.add(h,f),r=e.add(r,D),w=e.fromRprLEM(Q,(I-1)*n);for(let g=0;g=A&&C1;)e/=2,n+=1;if(2**n!=E)throw new Error("Invalid file size");Q&&Q.debug("Power to tau size: "+n);const a=await Ig(C),o=await HI(g),h=WI(64);for(let A=0;A{Q.debug(I+".g1_s: "+A.G1.toString(s[I].g1_s,16)),Q.debug(I+".g1_sx: "+A.G1.toString(s[I].g1_sx,16)),Q.debug(I+".g2_sp: "+A.G2.toString(s[I].g2_sp,16)),Q.debug(I+".g2_spx: "+A.G2.toString(s[I].g2_spx,16)),Q.debug("")}));const f=WI(64);await o.write(w),f.update(w),await Xg(B,o,f,A,"G1",2**n*2-1,A.Fr.one,s.tau.prvKey,"COMPRESSED","tauG1",Q),await Xg(B,o,f,A,"G2",2**n,A.Fr.one,s.tau.prvKey,"COMPRESSED","tauG2",Q),await Xg(B,o,f,A,"G1",2**n,s.alpha.prvKey,s.tau.prvKey,"COMPRESSED","alphaTauG1",Q),await Xg(B,o,f,A,"G1",2**n,s.beta.prvKey,s.tau.prvKey,"COMPRESSED","betaTauG1",Q),await Xg(B,o,f,A,"G2",1,s.beta.prvKey,s.tau.prvKey,"COMPRESSED","betaTauG2",Q);const D=new Uint8Array(2*A.F1.n8*6+2*A.F2.n8*3);kg(D,0,A,s,!1),await o.write(D),f.update(D);const c=f.digest();Q&&Q.info(TI(c,"Contribution Response Hash: ")),await o.close(),await B.close()},beacon:async function(A,I,g,C,Q,B){const t=Cg(C);if(0==t.byteLength||2*t.byteLength!=C.length)return B&&B.error("Invalid Beacon Hash. (It must be a valid hexadecimal sequence)"),!1;if(t.length>=256)return B&&B.error("Maximum lenght of beacon hash is 255 bytes"),!1;if((Q=parseInt(Q))<10||Q>63)return B&&B.error("Invalid numIterationsExp. (Must be between 10 and 63)"),!1;await WI.ready();const{fd:i,sections:E}=await UI(A,"ptau",1),{curve:e,power:n,ceremonyPower:a}=await Lg(i,E);if(n!=a)return B&&B.error("This file has been reduced. You cannot contribute into a reduced file."),!1;E[12]&&B&&B.warn("Contributing into a file that has phase2 calculated. You will have to prepare phase2 again.");const o=await bg(i,e,E),h={name:g,type:1,numIterationsExp:Q,beaconHash:t};let r;r=o.length>0?o[o.length-1].nextChallenge:vg(e,n,B),h.key=Yg(e,r,t,Q);const w=new WI(64);w.update(r);const s=await dI(I,"ptau",1,7);await mg(s,e,n);const f=[];let D;D=await M(2,"G1",2**n*2-1,e.Fr.e(1),h.key.tau.prvKey,"tauG1",B),h.tauG1=D[1],D=await M(3,"G2",2**n,e.Fr.e(1),h.key.tau.prvKey,"tauG2",B),h.tauG2=D[1],D=await M(4,"G1",2**n,h.key.alpha.prvKey,h.key.tau.prvKey,"alphaTauG1",B),h.alphaG1=D[0],D=await M(5,"G1",2**n,h.key.beta.prvKey,h.key.tau.prvKey,"betaTauG1",B),h.betaG1=D[0],D=await M(6,"G2",1,h.key.beta.prvKey,h.key.tau.prvKey,"betaTauG2",B),h.betaG2=D[0],h.partialHash=w.getPartialHash();const c=new Uint8Array(2*e.F1.n8*6+2*e.F2.n8*3);kg(c,0,e,h.key,!1),w.update(new Uint8Array(c));const y=w.digest();B&&B.info(TI(y,"Contribution Response Hash imported: "));const F=new WI(64);return F.update(y),await u(s,"G1",2,2**n*2-1,"tauG1",B),await u(s,"G2",3,2**n,"tauG2",B),await u(s,"G1",4,2**n,"alphaTauG1",B),await u(s,"G1",5,2**n,"betaTauG1",B),await u(s,"G2",6,1,"betaG2",B),h.nextChallenge=F.digest(),B&&B.info(TI(h.nextChallenge,"Next Challenge Hash: ")),o.push(h),await Sg(s,e,o),await i.close(),await s.close(),y;async function M(A,I,g,C,Q,B,t){const n=[];i.pos=E[A][0].p,await mI(s,A),f[A]=s.pos;const a=e[I],o=2*a.F.n8,h=Math.floor((1<<20)/o);let r=C;for(let A=0;A0?n[n.length-1].nextChallenge:vg(i,E,Q),a.key=dg(i,o,h);const r=new WI(64);r.update(o);const w=await dI(I,"ptau",1,7);await mg(w,i,E);const s=[];let f;f=await F(2,"G1",2**E*2-1,i.Fr.e(1),a.key.tau.prvKey,"tauG1"),a.tauG1=f[1],f=await F(3,"G2",2**E,i.Fr.e(1),a.key.tau.prvKey,"tauG2"),a.tauG2=f[1],f=await F(4,"G1",2**E,a.key.alpha.prvKey,a.key.tau.prvKey,"alphaTauG1"),a.alphaG1=f[0],f=await F(5,"G1",2**E,a.key.beta.prvKey,a.key.tau.prvKey,"betaTauG1"),a.betaG1=f[0],f=await F(6,"G2",1,a.key.beta.prvKey,a.key.tau.prvKey,"betaTauG2"),a.betaG2=f[0],a.partialHash=r.getPartialHash();const D=new Uint8Array(2*i.F1.n8*6+2*i.F2.n8*3);kg(D,0,i,a.key,!1),r.update(new Uint8Array(D));const c=r.digest();Q&&Q.info(TI(c,"Contribution Response Hash imported: "));const y=new WI(64);return y.update(c),await M(w,"G1",2,2**E*2-1,"tauG1"),await M(w,"G2",3,2**E,"tauG2"),await M(w,"G1",4,2**E,"alphaTauG1"),await M(w,"G1",5,2**E,"betaTauG1"),await M(w,"G2",6,1,"betaG2"),a.nextChallenge=y.digest(),Q&&Q.info(TI(a.nextChallenge,"Next Challenge Hash: ")),n.push(a),await Sg(w,i,n),await B.close(),await w.close(),c;async function F(A,I,g,C,E,e){const n=[];B.pos=t[A][0].p,await mI(w,A),s[A]=w.pos;const a=i[I],o=2*a.F.n8,h=Math.floor((1<<20)/o);let f=C;for(let A=0;A=this.length&&(this.length=A+1),!0}getKeys(){const A=new Og;for(let I=0;I1<<20?new Og:[];for(let A=0;A1<<20?new Og:[];for(let A=0;A{g[C]=$g(A,I[C])})),g}return"bigint"==typeof I||void 0!==I.eq?I.toString(10):I}var AC=Object.freeze({__proto__:null,print:function(A,I,g){for(let I=0;I{let C="";return Object.keys(g).forEach((Q=>{let B=I.varIdx2Name[Q];"one"==B&&(B="");let t=A.curve.Fr.toString(g[Q]);"1"==t&&(t=""),"-1"==t&&(t="-"),""!=C&&"-"!=t[0]&&(t="+"+t),""!=C&&(t=" "+t),C=C+t+B})),C},B=`[ ${Q(C[0])} ] * [ ${Q(C[1])} ] - [ ${Q(C[2])} ] = 0`;g&&g.info(B)}},info:async function(A,I){const g=await zg(A);return nI.eq(g.prime,_g)?I&&I.info("Curve: bn-128"):nI.eq(g.prime,Tg)?I&&I.info("Curve: bls12-381"):I&&I.info(`Unknown Curve. Prime: ${nI.toString(g.prime)}`),I&&I.info(`# of Wires: ${g.nVars}`),I&&I.info(`# of Constraints: ${g.nConstraints}`),I&&I.info(`# of Private Inputs: ${g.nPrvInputs}`),I&&I.info(`# of Public Inputs: ${g.nPubInputs}`),I&&I.info(`# of Labels: ${g.nLabels}`),I&&I.info(`# of Outputs: ${g.nOutputs}`),g},exportJson:async function(A,I){const g=await zg(A,!0,!0,!0,I),C=g.curve.Fr;return delete g.curve,$g(C,g)}});async function IC(A){const I={labelIdx2Name:["one"],varIdx2Name:["one"],componentIdx2Name:[]},g=await GI(A),C=await g.read(g.totalSize),Q=new TextDecoder("utf-8").decode(C).split("\n");for(let A=0;A=this.length&&(this.length=A+1),!0}getKeys(){const A=new tC;for(let I=0;IE)return C&&C.error(`circuit too big for this power of tau ceremony. ${a.nConstraints}*2 > 2**${E}`),-1;if(!t[12])return C&&C.error("Powers of tau is not prepared."),-1;const s=a.nOutputs+a.nPubInputs,f=2**w;await mI(o,1),await o.writeULE32(1),await LI(o),await mI(o,2);const D=i.q,c=8*(Math.floor((nI.bitLength(D)-1)/64)+1),y=i.r,F=8*(Math.floor((nI.bitLength(y)-1)/64)+1),M=nI.mod(nI.shl(1,8*F),y),u=i.Fr.e(nI.mod(nI.mul(M,M),y));let l,p,H;await o.writeULE32(c),await NI(o,D,c),await o.writeULE32(F),await NI(o,y,F),await o.writeULE32(a.nVars),await o.writeULE32(s),await o.writeULE32(f),l=await B.read(h,t[4][0].p),await o.write(l),l=await i.G1.batchLEMtoU(l),Q.update(l),p=await B.read(h,t[5][0].p),await o.write(p),p=await i.G1.batchLEMtoU(p),Q.update(p),H=await B.read(r,t[6][0].p),await o.write(H),H=await i.G2.batchLEMtoU(H),Q.update(H);const G=new Uint8Array(h);i.G1.toRprLEM(G,0,i.G1.g);const U=new Uint8Array(r);i.G2.toRprLEM(U,0,i.G2.g);const d=new Uint8Array(h);i.G1.toRprUncompressed(d,0,i.G1.g);const m=new Uint8Array(r);i.G2.toRprUncompressed(m,0,i.G2.g),await o.write(U),await o.write(G),await o.write(U),Q.update(m),Q.update(d),Q.update(m),await LI(o),C&&C.info("Reading r1cs");let L=await SI(e,n,2);const J=new tC(a.nVars),k=new tC(a.nVars),N=new tC(a.nVars),b=new tC(a.nVars-s-1),R=new Array(s+1);C&&C.info("Reading tauG1");let S=await SI(B,t,12,(f-1)*h,f*h);C&&C.info("Reading tauG2");let v=await SI(B,t,13,(f-1)*r,f*r);C&&C.info("Reading alphatauG1");let Y=await SI(B,t,14,(f-1)*h,f*h);C&&C.info("Reading betatauG1");let P=await SI(B,t,15,(f-1)*h,f*h);await async function(){const A=new Uint8Array(12+i.Fr.n8),I=new DataView(A.buffer),g=new Uint8Array(i.Fr.n8);i.Fr.toRprLE(g,0,i.Fr.e(1));let Q=0;function B(){const A=L.slice(Q,Q+4);Q+=4;return new DataView(A.buffer).getUint32(0,!0)}const t=new tC;for(let A=0;A=0?i.Fr.fromRprLE(L.slice(C[3],C[3]+i.Fr.n8),0):i.Fr.fromRprLE(g,0);const B=i.Fr.mul(Q,u);i.Fr.toRprLE(A,12,B),E.set(A,n),n+=A.length}await o.write(E),await LI(o)}(),await x(3,"G1",R,"IC"),await async function(){await mI(o,9);const A=new ZA(f*h);if(w(C&&C.debug(`Writing points end ${B}: ${n}/${g.length}`),A)))),e+=Q,A++}const n=await Promise.all(E);for(let A=0;A32768?(h=new ZA(w*B),r=new ZA(w*i.Fr.n8)):(h=new Uint8Array(w*B),r=new Uint8Array(w*i.Fr.n8));let s=0,f=0;const D=[S,v,Y,P],c=new Uint8Array(i.Fr.n8);i.Fr.toRprLE(c,0,i.Fr.e(1));let y=0;for(let A=0;A=0?r.set(L.slice(I[A][Q][2],I[A][Q][2]+i.Fr.n8),y*i.Fr.n8):r.set(c,y*i.Fr.n8),y++;if(I.length>1){const A=[];A.push({cmd:"ALLOCSET",var:0,buff:h}),A.push({cmd:"ALLOCSET",var:1,buff:r}),A.push({cmd:"ALLOC",var:2,len:I.length*t}),s=0,f=0;let g=0;for(let C=0;C=0;A--){const I=n.contributions[A];C&&C.info("-------------------------"),C&&C.info(TI(I.contributionHash,`contribution #${A+1} ${I.name?I.name:""}:`)),1==I.type&&(C&&C.info(`Beacon generator: ${Qg(I.beaconHash)}`),C&&C.info(`Beacon iterations Exp: ${I.numIterationsExp}`))}return C&&C.info("-------------------------"),C&&C.info("ZKey Ok!"),!0;async function D(A,I){const g=2*E.G1.F.n8,C=A.byteLength/g,Q=E.tm.concurrency,B=Math.floor(C/Q),t=[];for(let g=0;go.contributions.length)return Q&&Q.error("The impoerted file does not include new contributions"),!1;for(let A=0;A=256)return B&&B.error("Maximum lenght of beacon hash is 255 bytes"),!1;if((Q=parseInt(Q))<10||Q>63)return B&&B.error("Invalid numIterationsExp. (Must be between 10 and 63)"),!1;const{fd:i,sections:E}=await UI(A,"zkey",2),e=await ng(i,E,"groth16"),n=await qI(e.q),a=await og(i,n,E),o=await dI(I,"zkey",1,10),h=await gg(t,Q),r=WI(64);r.update(a.csHash);for(let A=0;A",i);const E=`[${C.vk_beta_2[0][1].toString()},${C.vk_beta_2[0][0].toString()}], [${C.vk_beta_2[1][1].toString()},${C.vk_beta_2[1][0].toString()}]`;t=t.replace("<%vk_beta2%>",E);const e=`[${C.vk_gamma_2[0][1].toString()},${C.vk_gamma_2[0][0].toString()}], [${C.vk_gamma_2[1][1].toString()},${C.vk_gamma_2[1][0].toString()}]`;t=t.replace("<%vk_gamma2%>",e);const n=`[${C.vk_delta_2[0][1].toString()},${C.vk_delta_2[0][0].toString()}], [${C.vk_delta_2[1][1].toString()},${C.vk_delta_2[1][0].toString()}]`;t=t.replace("<%vk_delta2%>",n),t=t.replace("<%vk_input_length%>",(C.IC.length-1).toString()),t=t.replace("<%vk_ic_length%>",C.IC.length.toString());let a="";for(let A=0;A",a),t}});return A.groth16=pg,A.powersOfTau=Zg,A.r1cs=AC,A.wtns=gC,A.zKey=oC,Object.defineProperty(A,"__esModule",{value:!0}),A}({}); +var snarkjs=function(A){"use strict";const I=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];function g(A,I){return I&&10!=I?16==I?"0x"==A.slice(0,2)?BigInt(A):BigInt("0x"+A):void 0:BigInt(A)}const C=g;function Q(A,I){return BigInt(A)<>BigInt(I)}const t=Q,i=B;var E=Object.freeze({__proto__:null,fromString:g,e:C,fromArray:function(A,I){let g=0n;I=BigInt(I);for(let C=0;C>=1n}return g},bits:function(A){let I=BigInt(A);const g=[];for(;I;)1n&I?g.push(1):g.push(0),I>>=1n;return g},toNumber:function(A){if(A>BigInt(Number.MAX_SAFE_INTEGER))throw new Error("Number too big");return Number(A)},toArray:function(A,I){const g=[];let C=BigInt(A);for(I=BigInt(I);C;)g.unshift(Number(C%I)),C/=I;return g},add:function(A,I){return BigInt(A)+BigInt(I)},sub:function(A,I){return BigInt(A)-BigInt(I)},neg:function(A){return-BigInt(A)},mul:function(A,I){return BigInt(A)*BigInt(I)},square:function(A){return BigInt(A)*BigInt(A)},pow:function(A,I){return BigInt(A)**BigInt(I)},exp:function(A,I){return BigInt(A)**BigInt(I)},abs:function(A){return BigInt(A)>=0?BigInt(A):-BigInt(A)},div:function(A,I){return BigInt(A)/BigInt(I)},mod:function(A,I){return BigInt(A)%BigInt(I)},eq:function(A,I){return BigInt(A)==BigInt(I)},neq:function(A,I){return BigInt(A)!=BigInt(I)},lt:function(A,I){return BigInt(A)BigInt(I)},leq:function(A,I){return BigInt(A)<=BigInt(I)},geq:function(A,I){return BigInt(A)>=BigInt(I)},band:function(A,I){return BigInt(A)&BigInt(I)},bor:function(A,I){return BigInt(A)|BigInt(I)},bxor:function(A,I){return BigInt(A)^BigInt(I)},land:function(A,I){return BigInt(A)&&BigInt(I)},lor:function(A,I){return BigInt(A)||BigInt(I)},lnot:function(A){return!BigInt(A)}});function e(A){var I={exports:{}};return A(I,I.exports),I.exports}var n=e((function(A){var I=function(A){var g=1e7,C=9007199254740992,Q=o(C),B="0123456789abcdefghijklmnopqrstuvwxyz",t="function"==typeof BigInt;function i(A,I,g,C){return void 0===A?i[0]:void 0!==I&&(10!=+I||g)?Z(A,I,g,C):j(A)}function E(A,I){this.value=A,this.sign=I,this.isSmall=!1}function e(A){this.value=A,this.sign=A<0,this.isSmall=!0}function n(A){this.value=A}function a(A){return-C0?Math.floor(A):Math.ceil(A)}function f(A,I){var C,Q,B=A.length,t=I.length,i=new Array(B),E=0,e=g;for(Q=0;Q=e?1:0,i[Q]=C-E*e;for(;Q0&&i.push(E),i}function D(A,I){return A.length>=I.length?f(A,I):f(I,A)}function c(A,I){var C,Q,B=A.length,t=new Array(B),i=g;for(Q=0;Q0;)t[Q++]=I%i,I=Math.floor(I/i);return t}function y(A,I){var C,Q,B=A.length,t=I.length,i=new Array(B),E=0,e=g;for(C=0;C0;)t[Q++]=E%i,E=Math.floor(E/i);return t}function l(A,I){for(var g=[];I-- >0;)g.push(0);return g.concat(A)}function p(A,I){var g=Math.max(A.length,I.length);if(g<=30)return M(A,I);g=Math.ceil(g/2);var C=A.slice(g),Q=A.slice(0,g),B=I.slice(g),t=I.slice(0,g),i=p(Q,t),E=p(C,B),e=p(D(Q,C),D(t,B)),n=D(D(i,l(y(y(e,i),E),g)),l(E,2*g));return r(n),n}function H(A,I,C){return new E(A=0;--g)Q=(B=1e7*Q+A[g])-(C=s(B/I))*I,i[g]=0|C;return[i,0|Q]}function d(A,I){var C,Q=j(I);if(t)return[new n(A.value/Q.value),new n(A.value%Q.value)];var B,a=A.value,f=Q.value;if(0===f)throw new Error("Cannot divide by zero");if(A.isSmall)return Q.isSmall?[new e(s(a/f)),new e(a%f)]:[i[0],A];if(Q.isSmall){if(1===f)return[A,i[0]];if(-1==f)return[A.negate(),i[0]];var D=Math.abs(f);if(D=0;Q--){for(C=o-1,D[Q+a]!==s&&(C=Math.floor((D[Q+a]*o+D[Q+a-1])/s)),B=0,t=0,E=c.length,i=0;ie&&(B=(B+1)*o),C=Math.ceil(B/t);do{if(m(i=u(I,C),a)<=0)break;C--}while(C);n.push(C),a=y(a,i)}return n.reverse(),[h(n),h(a)]}(a,f))[0];var M=A.sign!==Q.sign,l=C[1],p=A.sign;return"number"==typeof B?(M&&(B=-B),B=new e(B)):B=new E(B,M),"number"==typeof l?(p&&(l=-l),l=new e(l)):l=new E(l,p),[B,l]}function m(A,I){if(A.length!==I.length)return A.length>I.length?1:-1;for(var g=A.length-1;g>=0;g--)if(A[g]!==I[g])return A[g]>I[g]?1:-1;return 0}function L(A){var I=A.abs();return!I.isUnit()&&(!!(I.equals(2)||I.equals(3)||I.equals(5))||!(I.isEven()||I.isDivisibleBy(3)||I.isDivisibleBy(5))&&(!!I.lesser(49)||void 0))}function J(A,g){for(var C,Q,B,t=A.prev(),i=t,E=0;i.isEven();)i=i.divide(2),E++;A:for(Q=0;Q=0?C=y(A,I):(C=y(I,A),g=!g),"number"==typeof(C=h(C))?(g&&(C=-C),new e(C)):new E(C,g)}(g,C,this.sign)},E.prototype.minus=E.prototype.subtract,e.prototype.subtract=function(A){var I=j(A),g=this.value;if(g<0!==I.sign)return this.add(I.negate());var C=I.value;return I.isSmall?new e(g-C):F(C,Math.abs(g),g>=0)},e.prototype.minus=e.prototype.subtract,n.prototype.subtract=function(A){return new n(this.value-j(A).value)},n.prototype.minus=n.prototype.subtract,E.prototype.negate=function(){return new E(this.value,!this.sign)},e.prototype.negate=function(){var A=this.sign,I=new e(-this.value);return I.sign=!A,I},n.prototype.negate=function(){return new n(-this.value)},E.prototype.abs=function(){return new E(this.value,!1)},e.prototype.abs=function(){return new e(Math.abs(this.value))},n.prototype.abs=function(){return new n(this.value>=0?this.value:-this.value)},E.prototype.multiply=function(A){var I,C,Q,B=j(A),t=this.value,e=B.value,n=this.sign!==B.sign;if(B.isSmall){if(0===e)return i[0];if(1===e)return this;if(-1===e)return this.negate();if((I=Math.abs(e))0?p(t,e):M(t,e),n)},E.prototype.times=E.prototype.multiply,e.prototype._multiplyBySmall=function(A){return a(A.value*this.value)?new e(A.value*this.value):H(Math.abs(A.value),o(Math.abs(this.value)),this.sign!==A.sign)},E.prototype._multiplyBySmall=function(A){return 0===A.value?i[0]:1===A.value?this:-1===A.value?this.negate():H(Math.abs(A.value),this.value,this.sign!==A.sign)},e.prototype.multiply=function(A){return j(A)._multiplyBySmall(this)},e.prototype.times=e.prototype.multiply,n.prototype.multiply=function(A){return new n(this.value*j(A).value)},n.prototype.times=n.prototype.multiply,E.prototype.square=function(){return new E(G(this.value),!1)},e.prototype.square=function(){var A=this.value*this.value;return a(A)?new e(A):new E(G(o(Math.abs(this.value))),!1)},n.prototype.square=function(A){return new n(this.value*this.value)},E.prototype.divmod=function(A){var I=d(this,A);return{quotient:I[0],remainder:I[1]}},n.prototype.divmod=e.prototype.divmod=E.prototype.divmod,E.prototype.divide=function(A){return d(this,A)[0]},n.prototype.over=n.prototype.divide=function(A){return new n(this.value/j(A).value)},e.prototype.over=e.prototype.divide=E.prototype.over=E.prototype.divide,E.prototype.mod=function(A){return d(this,A)[1]},n.prototype.mod=n.prototype.remainder=function(A){return new n(this.value%j(A).value)},e.prototype.remainder=e.prototype.mod=E.prototype.remainder=E.prototype.mod,E.prototype.pow=function(A){var I,g,C,Q=j(A),B=this.value,t=Q.value;if(0===t)return i[1];if(0===B)return i[0];if(1===B)return i[1];if(-1===B)return Q.isEven()?i[1]:i[-1];if(Q.sign)return i[0];if(!Q.isSmall)throw new Error("The exponent "+Q.toString()+" is too large.");if(this.isSmall&&a(I=Math.pow(B,t)))return new e(s(I));for(g=this,C=i[1];!0&t&&(C=C.times(g),--t),0!==t;)t/=2,g=g.square();return C},e.prototype.pow=E.prototype.pow,n.prototype.pow=function(A){var I=j(A),g=this.value,C=I.value,Q=BigInt(0),B=BigInt(1),t=BigInt(2);if(C===Q)return i[1];if(g===Q)return i[0];if(g===B)return i[1];if(g===BigInt(-1))return I.isEven()?i[1]:i[-1];if(I.isNegative())return new n(Q);for(var E=this,e=i[1];(C&B)===B&&(e=e.times(E),--C),C!==Q;)C/=t,E=E.square();return e},E.prototype.modPow=function(A,I){if(A=j(A),(I=j(I)).isZero())throw new Error("Cannot take modPow with modulus 0");var g=i[1],C=this.mod(I);for(A.isNegative()&&(A=A.multiply(i[-1]),C=C.modInv(I));A.isPositive();){if(C.isZero())return i[0];A.isOdd()&&(g=g.multiply(C).mod(I)),A=A.divide(2),C=C.square().mod(I)}return g},n.prototype.modPow=e.prototype.modPow=E.prototype.modPow,E.prototype.compareAbs=function(A){var I=j(A),g=this.value,C=I.value;return I.isSmall?1:m(g,C)},e.prototype.compareAbs=function(A){var I=j(A),g=Math.abs(this.value),C=I.value;return I.isSmall?g===(C=Math.abs(C))?0:g>C?1:-1:-1},n.prototype.compareAbs=function(A){var I=this.value,g=j(A).value;return(I=I>=0?I:-I)===(g=g>=0?g:-g)?0:I>g?1:-1},E.prototype.compare=function(A){if(A===1/0)return-1;if(A===-1/0)return 1;var I=j(A),g=this.value,C=I.value;return this.sign!==I.sign?I.sign?1:-1:I.isSmall?this.sign?-1:1:m(g,C)*(this.sign?-1:1)},E.prototype.compareTo=E.prototype.compare,e.prototype.compare=function(A){if(A===1/0)return-1;if(A===-1/0)return 1;var I=j(A),g=this.value,C=I.value;return I.isSmall?g==C?0:g>C?1:-1:g<0!==I.sign?g<0?-1:1:g<0?1:-1},e.prototype.compareTo=e.prototype.compare,n.prototype.compare=function(A){if(A===1/0)return-1;if(A===-1/0)return 1;var I=this.value,g=j(A).value;return I===g?0:I>g?1:-1},n.prototype.compareTo=n.prototype.compare,E.prototype.equals=function(A){return 0===this.compare(A)},n.prototype.eq=n.prototype.equals=e.prototype.eq=e.prototype.equals=E.prototype.eq=E.prototype.equals,E.prototype.notEquals=function(A){return 0!==this.compare(A)},n.prototype.neq=n.prototype.notEquals=e.prototype.neq=e.prototype.notEquals=E.prototype.neq=E.prototype.notEquals,E.prototype.greater=function(A){return this.compare(A)>0},n.prototype.gt=n.prototype.greater=e.prototype.gt=e.prototype.greater=E.prototype.gt=E.prototype.greater,E.prototype.lesser=function(A){return this.compare(A)<0},n.prototype.lt=n.prototype.lesser=e.prototype.lt=e.prototype.lesser=E.prototype.lt=E.prototype.lesser,E.prototype.greaterOrEquals=function(A){return this.compare(A)>=0},n.prototype.geq=n.prototype.greaterOrEquals=e.prototype.geq=e.prototype.greaterOrEquals=E.prototype.geq=E.prototype.greaterOrEquals,E.prototype.lesserOrEquals=function(A){return this.compare(A)<=0},n.prototype.leq=n.prototype.lesserOrEquals=e.prototype.leq=e.prototype.lesserOrEquals=E.prototype.leq=E.prototype.lesserOrEquals,E.prototype.isEven=function(){return 0==(1&this.value[0])},e.prototype.isEven=function(){return 0==(1&this.value)},n.prototype.isEven=function(){return(this.value&BigInt(1))===BigInt(0)},E.prototype.isOdd=function(){return 1==(1&this.value[0])},e.prototype.isOdd=function(){return 1==(1&this.value)},n.prototype.isOdd=function(){return(this.value&BigInt(1))===BigInt(1)},E.prototype.isPositive=function(){return!this.sign},e.prototype.isPositive=function(){return this.value>0},n.prototype.isPositive=e.prototype.isPositive,E.prototype.isNegative=function(){return this.sign},e.prototype.isNegative=function(){return this.value<0},n.prototype.isNegative=e.prototype.isNegative,E.prototype.isUnit=function(){return!1},e.prototype.isUnit=function(){return 1===Math.abs(this.value)},n.prototype.isUnit=function(){return this.abs().value===BigInt(1)},E.prototype.isZero=function(){return!1},e.prototype.isZero=function(){return 0===this.value},n.prototype.isZero=function(){return this.value===BigInt(0)},E.prototype.isDivisibleBy=function(A){var I=j(A);return!I.isZero()&&(!!I.isUnit()||(0===I.compareAbs(2)?this.isEven():this.mod(I).isZero()))},n.prototype.isDivisibleBy=e.prototype.isDivisibleBy=E.prototype.isDivisibleBy,E.prototype.isPrime=function(g){var C=L(this);if(C!==A)return C;var Q=this.abs(),B=Q.bitLength();if(B<=64)return J(Q,[2,3,5,7,11,13,17,19,23,29,31,37]);for(var t=Math.log(2)*B.toJSNumber(),i=Math.ceil(!0===g?2*Math.pow(t,2):t),E=[],e=0;e-C?new e(A-1):new E(Q,!0)},n.prototype.prev=function(){return new n(this.value-BigInt(1))};for(var k=[1];2*k[k.length-1]<=g;)k.push(2*k[k.length-1]);var N=k.length,b=k[N-1];function R(A){return Math.abs(A)<=g}function S(A,g,C){g=j(g);for(var Q=A.isNegative(),B=g.isNegative(),t=Q?A.not():A,i=B?g.not():g,E=0,e=0,n=null,a=null,o=[];!t.isZero()||!i.isZero();)E=(n=d(t,b))[1].toJSNumber(),Q&&(E=b-1-E),e=(a=d(i,b))[1].toJSNumber(),B&&(e=b-1-e),t=n[0],i=a[0],o.push(C(E,e));for(var h=0!==C(Q?1:0,B?1:0)?I(-1):I(0),r=o.length-1;r>=0;r-=1)h=h.multiply(b).add(I(o[r]));return h}E.prototype.shiftLeft=function(A){var I=j(A).toJSNumber();if(!R(I))throw new Error(String(I)+" is too large for shifting.");if(I<0)return this.shiftRight(-I);var g=this;if(g.isZero())return g;for(;I>=N;)g=g.multiply(b),I-=N-1;return g.multiply(k[I])},n.prototype.shiftLeft=e.prototype.shiftLeft=E.prototype.shiftLeft,E.prototype.shiftRight=function(A){var I,g=j(A).toJSNumber();if(!R(g))throw new Error(String(g)+" is too large for shifting.");if(g<0)return this.shiftLeft(-g);for(var C=this;g>=N;){if(C.isZero()||C.isNegative()&&C.isUnit())return C;C=(I=d(C,b))[1].isNegative()?I[0].prev():I[0],g-=N-1}return(I=d(C,k[g]))[1].isNegative()?I[0].prev():I[0]},n.prototype.shiftRight=e.prototype.shiftRight=E.prototype.shiftRight,E.prototype.not=function(){return this.negate().prev()},n.prototype.not=e.prototype.not=E.prototype.not,E.prototype.and=function(A){return S(this,A,(function(A,I){return A&I}))},n.prototype.and=e.prototype.and=E.prototype.and,E.prototype.or=function(A){return S(this,A,(function(A,I){return A|I}))},n.prototype.or=e.prototype.or=E.prototype.or,E.prototype.xor=function(A){return S(this,A,(function(A,I){return A^I}))},n.prototype.xor=e.prototype.xor=E.prototype.xor;var v=1<<30;function Y(A){var I=A.value,C="number"==typeof I?I|v:"bigint"==typeof I?I|BigInt(v):I[0]+I[1]*g|1073758208;return C&-C}function P(A,g){if(g.compareTo(A)<=0){var C=P(A,g.square(g)),Q=C.p,B=C.e,t=Q.multiply(g);return t.compareTo(A)<=0?{p:t,e:2*B+1}:{p:Q,e:2*B}}return{p:I(1),e:0}}function q(A,I){return A=j(A),I=j(I),A.greater(I)?A:I}function x(A,I){return A=j(A),I=j(I),A.lesser(I)?A:I}function X(A,I){if(A=j(A).abs(),I=j(I).abs(),A.equals(I))return A;if(A.isZero())return I;if(I.isZero())return A;for(var g,C,Q=i[1];A.isEven()&&I.isEven();)g=x(Y(A),Y(I)),A=A.divide(g),I=I.divide(g),Q=Q.multiply(g);for(;A.isEven();)A=A.divide(Y(A));do{for(;I.isEven();)I=I.divide(Y(I));A.greater(I)&&(C=I,I=A,A=C),I=I.subtract(A)}while(!I.isZero());return Q.isUnit()?A:A.multiply(Q)}E.prototype.bitLength=function(){var A=this;return A.compareTo(I(0))<0&&(A=A.negate().subtract(I(1))),0===A.compareTo(I(0))?I(0):I(P(A,I(2)).e).add(I(1))},n.prototype.bitLength=e.prototype.bitLength=E.prototype.bitLength;var Z=function(A,I,g,C){g=g||B,A=String(A),C||(A=A.toLowerCase(),g=g.toLowerCase());var Q,t=A.length,i=Math.abs(I),E={};for(Q=0;Q=i)){if("1"===a&&1===i)continue;throw new Error(a+" is not a valid digit in base "+I+".")}}I=j(I);var e=[],n="-"===A[0];for(Q=n?1:0;Q"!==A[Q]&&Q=0;C--)Q=Q.add(A[C].times(B)),B=B.times(I);return g?Q.negate():Q}function K(A,g){if((g=I(g)).isZero()){if(A.isZero())return{value:[0],isNegative:!1};throw new Error("Cannot convert nonzero numbers to base 0.")}if(g.equals(-1)){if(A.isZero())return{value:[0],isNegative:!1};if(A.isNegative())return{value:[].concat.apply([],Array.apply(null,Array(-A.toJSNumber())).map(Array.prototype.valueOf,[1,0])),isNegative:!1};var C=Array.apply(null,Array(A.toJSNumber()-1)).map(Array.prototype.valueOf,[0,1]);return C.unshift([1]),{value:[].concat.apply([],C),isNegative:!1}}var Q=!1;if(A.isNegative()&&g.isPositive()&&(Q=!0,A=A.abs()),g.isUnit())return A.isZero()?{value:[0],isNegative:!1}:{value:Array.apply(null,Array(A.toJSNumber())).map(Number.prototype.valueOf,1),isNegative:Q};for(var B,t=[],i=A;i.isNegative()||i.compareAbs(g)>=0;){B=i.divmod(g),i=B.quotient;var E=B.remainder;E.isNegative()&&(E=g.minus(E).abs(),i=i.next()),t.push(E.toJSNumber())}return t.push(i.toJSNumber()),{value:t.reverse(),isNegative:Q}}function W(A,I,g){var C=K(A,I);return(C.isNegative?"-":"")+C.value.map((function(A){return function(A,I){return A<(I=I||B).length?I[A]:"<"+A+">"}(A,g)})).join("")}function O(A){if(a(+A)){var I=+A;if(I===s(I))return t?new n(BigInt(I)):new e(I);throw new Error("Invalid integer: "+A)}var g="-"===A[0];g&&(A=A.slice(1));var C=A.split(/e/i);if(C.length>2)throw new Error("Invalid integer: "+C.join("e"));if(2===C.length){var Q=C[1];if("+"===Q[0]&&(Q=Q.slice(1)),(Q=+Q)!==s(Q)||!a(Q))throw new Error("Invalid integer: "+Q+" is not a valid exponent.");var B=C[0],i=B.indexOf(".");if(i>=0&&(Q-=B.length-i-1,B=B.slice(0,i)+B.slice(i+1)),Q<0)throw new Error("Cannot include negative exponent part for integers");A=B+=new Array(Q+1).join("0")}if(!/^([0-9][0-9]*)$/.test(A))throw new Error("Invalid integer: "+A);if(t)return new n(BigInt(g?"-"+A:A));for(var o=[],h=A.length,w=h-7;h>0;)o.push(+A.slice(w,h)),(w-=7)<0&&(w=0),h-=7;return r(o),new E(o,g)}function j(A){return"number"==typeof A?function(A){if(t)return new n(BigInt(A));if(a(A)){if(A!==s(A))throw new Error(A+" is not an integer.");return new e(A)}return O(A.toString())}(A):"string"==typeof A?O(A):"bigint"==typeof A?new n(A):A}E.prototype.toArray=function(A){return K(this,A)},e.prototype.toArray=function(A){return K(this,A)},n.prototype.toArray=function(A){return K(this,A)},E.prototype.toString=function(I,g){if(I===A&&(I=10),10!==I)return W(this,I,g);for(var C,Q=this.value,B=Q.length,t=String(Q[--B]);--B>=0;)C=String(Q[B]),t+="0000000".slice(C.length)+C;return(this.sign?"-":"")+t},e.prototype.toString=function(I,g){return I===A&&(I=10),10!=I?W(this,I,g):String(this.value)},n.prototype.toString=e.prototype.toString,n.prototype.toJSON=E.prototype.toJSON=e.prototype.toJSON=function(){return this.toString()},E.prototype.valueOf=function(){return parseInt(this.toString(),10)},E.prototype.toJSNumber=E.prototype.valueOf,e.prototype.valueOf=function(){return this.value},e.prototype.toJSNumber=e.prototype.valueOf,n.prototype.valueOf=n.prototype.toJSNumber=function(){return parseInt(this.toString(),10)};for(var z=0;z<1e3;z++)i[z]=j(z),z>0&&(i[-z]=j(-z));return i.one=i[1],i.zero=i[0],i.minusOne=i[-1],i.max=q,i.min=x,i.gcd=X,i.lcm=function(A,I){return A=j(A).abs(),I=j(I).abs(),A.divide(X(A,I)).multiply(I)},i.isInstance=function(A){return A instanceof E||A instanceof e||A instanceof n},i.randBetween=function(A,I,C){A=j(A),I=j(I);var Q=C||Math.random,B=x(A,I),t=q(A,I).subtract(B).add(1);if(t.isSmall)return B.add(Math.floor(Q()*t));for(var E=K(t,g).value,e=[],n=!0,a=0;a>5);for(let A=0;A>5);for(let A=0;AQ[Q.length-I-1]=A.toString(16).padStart(8,"0"))),c.fromString(Q.join(""),16)},c.fromRprBE=function(A,I,g){g=g||A.byteLength;const C=new DataView(A.buffer,A.byteOffset+I,g),Q=new Array(g/4);for(let A=0;A>=1;return g}function rA(A,I,g){if(k(g))return A.one;const C=P(g);if(0==C.legth)return A.one;let Q=I;for(let g=C.length-2;g>=0;g--)Q=A.square(Q),C[g]&&(Q=A.mul(Q,I));return Q}function wA(A){if(A.m%2==1)if($(_(A.p,4),1))if($(_(A.p,8),1))if($(_(A.p,16),1))!function(A){A.sqrt_q=O(A.p,A.m),A.sqrt_s=0,A.sqrt_t=Z(A.sqrt_q,1);for(;!v(A.sqrt_t);)A.sqrt_s=A.sqrt_s+1,A.sqrt_t=T(A.sqrt_t,2);let I=A.one;for(;A.eq(I,A.one);){const g=A.random();A.sqrt_z=A.pow(g,A.sqrt_t),I=A.pow(A.sqrt_z,2**(A.sqrt_s-1))}A.sqrt_tm1d2=T(Z(A.sqrt_t,1),2),A.sqrt=function(A){const I=this;if(I.isZero(A))return I.zero;let g=I.pow(A,I.sqrt_tm1d2);const C=I.pow(I.mul(I.square(g),A),2**(I.sqrt_s-1));if(I.eq(C,I.negone))return null;let Q=I.sqrt_s,B=I.mul(A,g),t=I.mul(B,g),i=I.sqrt_z;for(;!I.eq(t,I.one);){let A=I.square(t),C=1;for(;!I.eq(A,I.one);)A=I.square(A),C++;g=i;for(let A=0;A>>0,A[Q]=(A[Q]^A[I])>>>0,A[Q]=(A[Q]<<16|A[Q]>>>16&65535)>>>0,A[C]=A[C]+A[Q]>>>0,A[g]=(A[g]^A[C])>>>0,A[g]=(A[g]<<12|A[g]>>>20&4095)>>>0,A[I]=A[I]+A[g]>>>0,A[Q]=(A[Q]^A[I])>>>0,A[Q]=(A[Q]<<8|A[Q]>>>24&255)>>>0,A[C]=A[C]+A[Q]>>>0,A[g]=(A[g]^A[C])>>>0,A[g]=(A[g]<<7|A[g]>>>25&127)>>>0}class fA{constructor(A){A=A||[0,0,0,0,0,0,0,0],this.state=[1634760805,857760878,2036477234,1797285236,A[0],A[1],A[2],A[3],A[4],A[5],A[6],A[7],0,0,0,0],this.idx=16,this.buff=new Array(16)}nextU32(){return 16==this.idx&&this.update(),this.buff[this.idx++]}nextU64(){return X(K(this.nextU32(),4294967296),this.nextU32())}nextBool(){return 1==(1&this.nextU32())}update(){for(let A=0;A<16;A++)this.buff[A]=this.state[A];for(let I=0;I<10;I++)sA(A=this.buff,0,4,8,12),sA(A,1,5,9,13),sA(A,2,6,10,14),sA(A,3,7,11,15),sA(A,0,5,10,15),sA(A,1,6,11,12),sA(A,2,7,8,13),sA(A,3,4,9,14);var A;for(let A=0;A<16;A++)this.buff[A]=this.buff[A]+this.state[A]>>>0;this.idx=0,this.state[12]=this.state[12]+1>>>0,0==this.state[12]&&(this.state[13]=this.state[13]+1>>>0,0==this.state[13]&&(this.state[14]=this.state[14]+1>>>0,0==this.state[14]&&(this.state[15]=this.state[15]+1>>>0)))}}var DA={};function cA(A){let I=new Uint8Array(A);if("undefined"!=typeof window)if(void 0!==window.crypto)window.crypto.getRandomValues(I);else for(let g=0;g>>0;else DA.randomFillSync(I);return I}let yA=null;function FA(){return yA||(yA=new fA(function(){const A=cA(32),I=new Uint32Array(A.buffer),g=[];for(let A=0;A<8;A++)g.push(I[A]);return g}()),yA)}class MA{constructor(A){this.type="F1",this.one=1n,this.zero=0n,this.p=BigInt(A),this.m=1,this.negone=this.p-1n,this.two=2n,this.half=this.p>>1n,this.bitLength=L(this.p),this.mask=(1n<>1n;this.nqr=this.two;let g=this.pow(this.nqr,I);for(;!this.eq(g,this.negone);)this.nqr=this.nqr+1n,g=this.pow(this.nqr,I);for(this.s=0,this.t=this.negone;0n==(1n&this.t);)this.s=this.s+1,this.t=this.t>>1n;this.nqr_to_t=this.pow(this.nqr,this.t),wA(this)}e(A,I){let g;if(I?16==I&&(g=BigInt("0x"+A)):g=BigInt(A),g<0){let A=-g;return A>=this.p&&(A%=this.p),this.p-A}return g>=this.p?g%this.p:g}add(A,I){const g=A+I;return g>=this.p?g-this.p:g}sub(A,I){return A>=I?A-I:this.p-I+A}neg(A){return A?this.p-A:A}mul(A,I){return A*I%this.p}mulScalar(A,I){return A*this.e(I)%this.p}square(A){return A*A%this.p}eq(A,I){return A==I}neq(A,I){return A!=I}lt(A,I){return(A>this.half?A-this.p:A)<(I>this.half?I-this.p:I)}gt(A,I){return(A>this.half?A-this.p:A)>(I>this.half?I-this.p:I)}leq(A,I){return(A>this.half?A-this.p:A)<=(I>this.half?I-this.p:I)}geq(A,I){return(A>this.half?A-this.p:A)>=(I>this.half?I-this.p:I)}div(A,I){return this.mul(A,this.inv(I))}idiv(A,I){if(!I)throw new Error("Division by zero");return A/I}inv(A){if(!A)throw new Error("Division by zero");let I=0n,g=this.p,C=1n,Q=A%this.p;for(;Q;){let A=g/Q;[I,C]=[C,I-A*C],[g,Q]=[Q,g-A*Q]}return I<0n&&(I+=this.p),I}mod(A,I){return A%I}pow(A,I){return rA(this,A,I)}exp(A,I){return rA(this,A,I)}band(A,I){const g=A&I&this.mask;return g>=this.p?g-this.p:g}bor(A,I){const g=(A|I)&this.mask;return g>=this.p?g-this.p:g}bxor(A,I){const g=(A^I)&this.mask;return g>=this.p?g-this.p:g}bnot(A){const I=A^this.mask;return I>=this.p?I-this.p:I}shl(A,I){if(Number(I)=this.p?g-this.p:g}{const g=this.p-I;return Number(g)>g:0n}}shr(A,I){if(Number(I)>I;{const g=this.p-I;if(Number(g)=this.p?I-this.p:I}return 0}}land(A,I){return A&&I?1n:0n}lor(A,I){return A||I?1n:0n}lnot(A){return A?0n:1n}sqrt_old(A){if(0n==A)return this.zero;if(1n!=this.pow(A,this.negone>>this.one))return null;let I=this.s,g=this.nqr_to_t,C=this.pow(A,this.t),Q=this.pow(A,this.add(this.t,this.one)>>1n);for(;1n!=C;){let A=this.square(C),B=1;for(;1n!=A;)B++,A=this.square(A);let t=g;for(let A=0;Athis.p>>1n&&(Q=this.neg(Q)),Q}normalize(A,I){if((A=BigInt(A,I))<0){let I=-A;return I>=this.p&&(I%=this.p),this.p-I}return A>=this.p?A%this.p:A}random(){const A=2*this.bitLength/8;let I=0n;for(let g=0;gthis.half){g="-"+(this.p-A).toString(I)}else g=A.toString(I);return g}isZero(A){return 0n==A}fromRng(A){let I;do{I=0n;for(let g=0;g=this.p);return I=I*this.Ri%this.p,I}}class uA{constructor(A){this.type="F1",this.one=n.one,this.zero=n.zero,this.p=n(A),this.m=1,this.negone=this.p.minus(n.one),this.two=n(2),this.half=this.p.shiftRight(1),this.bitLength=this.p.bitLength(),this.mask=n.one.shiftLeft(this.bitLength).minus(n.one),this.n64=Math.floor((this.bitLength-1)/64)+1,this.n32=2*this.n64,this.n8=8*this.n64,this.R=n.one.shiftLeft(64*this.n64),this.Ri=this.inv(this.R);const I=this.negone.shiftRight(this.one);this.nqr=this.two;let g=this.pow(this.nqr,I);for(;!g.equals(this.negone);)this.nqr=this.nqr.add(this.one),g=this.pow(this.nqr,I);for(this.s=this.zero,this.t=this.negone;!this.t.isOdd();)this.s=this.s.add(this.one),this.t=this.t.shiftRight(this.one);this.nqr_to_t=this.pow(this.nqr,this.t),wA(this)}e(A,I){const g=n(A,I);return this.normalize(g)}add(A,I){let g=A.add(I);return g.geq(this.p)&&(g=g.minus(this.p)),g}sub(A,I){return A.geq(I)?A.minus(I):this.p.minus(I.minus(A))}neg(A){return A.isZero()?A:this.p.minus(A)}mul(A,I){return A.times(I).mod(this.p)}mulScalar(A,I){return A.times(n(I)).mod(this.p)}square(A){return A.square().mod(this.p)}eq(A,I){return A.eq(I)}neq(A,I){return A.neq(I)}lt(A,I){const g=A.gt(this.half)?A.minus(this.p):A,C=I.gt(this.half)?I.minus(this.p):I;return g.lt(C)}gt(A,I){const g=A.gt(this.half)?A.minus(this.p):A,C=I.gt(this.half)?I.minus(this.p):I;return g.gt(C)}leq(A,I){const g=A.gt(this.half)?A.minus(this.p):A,C=I.gt(this.half)?I.minus(this.p):I;return g.leq(C)}geq(A,I){const g=A.gt(this.half)?A.minus(this.p):A,C=I.gt(this.half)?I.minus(this.p):I;return g.geq(C)}div(A,I){if(I.isZero())throw new Error("Division by zero");return A.times(I.modInv(this.p)).mod(this.p)}idiv(A,I){if(I.isZero())throw new Error("Division by zero");return A.divide(I)}inv(A){if(A.isZero())throw new Error("Division by zero");return A.modInv(this.p)}mod(A,I){return A.mod(I)}pow(A,I){return A.modPow(I,this.p)}exp(A,I){return A.modPow(I,this.p)}band(A,I){return A.and(I).and(this.mask).mod(this.p)}bor(A,I){return A.or(I).and(this.mask).mod(this.p)}bxor(A,I){return A.xor(I).and(this.mask).mod(this.p)}bnot(A){return A.xor(this.mask).mod(this.p)}shl(A,I){if(I.lt(this.bitLength))return A.shiftLeft(I).and(this.mask).mod(this.p);{const g=this.p.minus(I);return g.lt(this.bitLength)?this.shr(A,g):n.zero}}shr(A,I){if(I.lt(this.bitLength))return A.shiftRight(I);{const g=this.p.minus(I);return g.lt(this.bitLength)?this.shl(A,g):n.zero}}land(A,I){return A.isZero()||I.isZero()?n.zero:n.one}lor(A,I){return A.isZero()&&I.isZero()?n.zero:n.one}lnot(A){return A.isZero()?n.one:n.zero}sqrt_old(A){if(A.equals(this.zero))return this.zero;if(!this.pow(A,this.negone.shiftRight(this.one)).equals(this.one))return null;let I=parseInt(this.s),g=this.nqr_to_t,C=this.pow(A,this.t),Q=this.pow(A,this.add(this.t,this.one).shiftRight(this.one));for(;!C.equals(this.one);){let A=this.square(C),B=1;for(;!A.equals(this.one);)B++,A=this.square(A);let t=g;for(let A=0;A{g[C]=A(I[C])})),g}return I},unstringifyBigInts:function A(I){if("string"==typeof I&&/^[0-9]+$/.test(I))return BigInt(I);if(Array.isArray(I))return I.map(A);if("object"==typeof I){if(null===I)return null;const g={};return Object.keys(I).forEach((C=>{g[C]=A(I[C])})),g}return I},beBuff2int:function(A){let I=0n,g=A.length,C=0;const Q=new DataView(A.buffer,A.byteOffset,A.byteLength);for(;g>0;)g>=4?(g-=4,I+=BigInt(Q.getUint32(g))<=2?(g-=2,I+=BigInt(Q.getUint16(g))<0;)B-4>=0?(B-=4,Q.setUint32(B,Number(0xFFFFFFFFn&g)),g>>=32n):B-2>=0?(B-=2,Q.setUint16(B,Number(0xFFFFn&g)),g>>=16n):(B-=1,Q.setUint8(B,Number(0xFFn&g)),g>>=8n);if(g)throw new Error("Number does not fit in this length");return C},leBuff2int:function(A){let I=0n,g=0;const C=new DataView(A.buffer,A.byteOffset,A.byteLength);for(;g>=32n):B+2<=I?(Q.setUint16(Number(B,0xFFFFn&g),!0),B+=2,g>>=16n):(Q.setUint8(Number(B,0xFFn&g),!0),B+=1,g>>=8n);if(g)throw new Error("Number does not fit in this length");return C}});var dA=Object.freeze({__proto__:null,stringifyBigInts:function A(I){if("bigint"==typeof I||void 0!==I.eq)return I.toString(10);if(Array.isArray(I))return I.map(A);if("object"==typeof I){const g={};return Object.keys(I).forEach((C=>{g[C]=A(I[C])})),g}return I},unstringifyBigInts:function A(I){if("string"==typeof I&&/^[0-9]+$/.test(I))return n(I);if(Array.isArray(I))return I.map(A);if("object"==typeof I){const g={};return Object.keys(I).forEach((C=>{g[C]=A(I[C])})),g}return I},beBuff2int:function(A){let I=n.zero;for(let g=0;g=0;){let A=Number(g.and(n("255")));Q[C]=A,C--,g=g.shiftRight(8)}if(!g.eq(n.zero))throw new Error("Number does not fit in this length");return Q},leBuff2int:function(A){let I=n.zero;for(let g=0;g>=1;return g}mA.bitReverse=function(A,I){return(LA[A>>>24]|LA[A>>>16&255]<<8|LA[A>>>8&255]<<16|LA[255&A]<<24)>>>32-I},mA.log2=function(A){return(0!=(4294901760&A)?(A&=4294901760,16):0)|(0!=(4278255360&A)?(A&=4278255360,8):0)|(0!=(4042322160&A)?(A&=4042322160,4):0)|(0!=(3435973836&A)?(A&=3435973836,2):0)|0!=(2863311530&A)},mA.buffReverseBits=function(A,I){const g=A.byteLength/I,C=mA.log2(g);if(g!=1<g){const C=A.slice(Q*I,(Q+1)*I);A.set(A.slice(g*I,(g+1)*I),Q*I),A.set(C,g*I)}}};let{bitReverse:kA,log2:NA,buffReverseBits:bA,stringifyBigInts:RA,unstringifyBigInts:SA,beBuff2int:vA,beInt2Buff:YA,leBuff2int:PA,leInt2Buff:qA}=mA;var xA=Object.freeze({__proto__:null,bitReverse:kA,log2:NA,buffReverseBits:bA,stringifyBigInts:RA,unstringifyBigInts:SA,beBuff2int:vA,beInt2Buff:YA,leBuff2int:PA,leInt2Buff:qA});const XA=1<<30;class ZA{constructor(A){this.buffers=[],this.byteLength=A;for(let I=0;I0;){const A=t+i>XA?XA-t:i,I=new Uint8Array(this.buffers[B].buffer,this.buffers[B].byteOffset+t,A);if(A==g)return I.slice();Q||(Q=g<=XA?new Uint8Array(g):new ZA(g)),Q.set(I,g-i),i-=A,B++,t=0}return Q}set(A,I){void 0===I&&(I=0);const g=A.byteLength;if(0==g)return;const C=Math.floor(I/XA);if(C==Math.floor((I+g-1)/XA))return this.buffers[C].set(A,I%XA);let Q=C,B=I%XA,t=g;for(;t>0;){const I=B+t>XA?XA-B:t,C=A.slice(g-t,g-t+I);new Uint8Array(this.buffers[Q].buffer,this.buffers[Q].byteOffset+B,I).set(C),t-=I,Q++,B=0}}}function VA(A,I,g,C){return async function(Q){const B=Math.floor(Q.byteLength/g);if(B*g!==Q.byteLength)throw new Error("Invalid buffer size");const t=Math.floor(B/A.concurrency),i=[];for(let E=0;E=0;A--)this.w[A]=this.square(this.w[A+1]);if(!this.eq(this.w[0],this.one))throw new Error("Error calculating roots of unity");this.batchToMontgomery=VA(A,I+"_batchToMontgomery",this.n8,this.n8),this.batchFromMontgomery=VA(A,I+"_batchFromMontgomery",this.n8,this.n8)}op2(A,I,g){return this.tm.setBuff(this.pOp1,I),this.tm.setBuff(this.pOp2,g),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op2Bool(A,I,g){return this.tm.setBuff(this.pOp1,I),this.tm.setBuff(this.pOp2,g),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp2)}op1(A,I){return this.tm.setBuff(this.pOp1,I),this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op1Bool(A,I){return this.tm.setBuff(this.pOp1,I),!!this.tm.instance.exports[this.prefix+A](this.pOp1,this.pOp3)}add(A,I){return this.op2("_add",A,I)}eq(A,I){return this.op2Bool("_eq",A,I)}isZero(A){return this.op1Bool("_isZero",A)}sub(A,I){return this.op2("_sub",A,I)}neg(A){return this.op1("_neg",A)}inv(A){return this.op1("_inverse",A)}toMontgomery(A){return this.op1("_toMontgomery",A)}fromMontgomery(A){return this.op1("_fromMontgomery",A)}mul(A,I){return this.op2("_mul",A,I)}div(A,I){return this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+"_inverse"](this.pOp2,this.pOp2),this.tm.instance.exports[this.prefix+"_mul"](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}square(A){return this.op1("_square",A)}isSquare(A){return this.op1Bool("_isSquare",A)}sqrt(A){return this.op1("_sqrt",A)}exp(A,I){return I instanceof Uint8Array||(I=p(d(I))),this.tm.setBuff(this.pOp1,A),this.tm.setBuff(this.pOp2,I),this.tm.instance.exports[this.prefix+"_exp"](this.pOp1,this.pOp2,I.byteLength,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}isNegative(A){return this.op1Bool("_isNegative",A)}e(A,I){if(A instanceof Uint8Array)return A;let g=d(A,I);J(g)?(g=V(g),gA(g,this.p)&&(g=_(g,this.p)),g=Z(this.p,g)):gA(g,this.p)&&(g=_(g,this.p));const C=qA(g,this.n8);return this.toMontgomery(C)}toString(A,I){const g=this.fromMontgomery(A),C=M(g,0);return l(C,I)}fromRng(A){let I;const g=new Uint8Array(this.n8);do{I=H;for(let g=0;gC.buffer.byteLength){const Q=C.buffer.byteLength/65536;let B=Math.floor((g[0]+A)/65536)+1;B>I&&(B=I),C.grow(B-Q)}return Q}function t(A){const I=B(A.byteLength);return E(I,A),I}function i(A,I){const g=new Uint8Array(C.buffer);return new Uint8Array(g.buffer,g.byteOffset+A,I)}function E(A,I){new Uint8Array(C.buffer).set(new Uint8Array(I),A)}function e(A){if("INIT"==A[0].cmd)return Q(A[0]);const I={vars:[],out:[]},e=new Uint32Array(C.buffer,0,1)[0];for(let C=0;C{this.reject=I,this.resolve=A}))}}function AI(A){for(var I=window.atob(A),g=I.length,C=new Uint8Array(g),Q=0;Q0;A++)if(0==this.working[A]){const I=this.actionQueue.shift();this.postAction(A,I.data,I.transfers,I.deferred)}}queueAction(A,I){const g=new $A;if(this.singleThread){const I=this.taskManager(A);g.resolve(I)}else this.actionQueue.push({data:A,transfers:I,deferred:g}),this.processWorks();return g.promise}resetMemory(){this.u32[0]=this.initalPFree}allocBuff(A){const I=this.alloc(A.byteLength);return this.setBuff(I,A),I}getBuff(A,I){return this.u8.slice(A,A+I)}setBuff(A,I){this.u8.set(new Uint8Array(I),A)}alloc(A){for(;3&this.u32[0];)this.u32[0]++;const I=this.u32[0];return this.u32[0]+=A,I}async terminate(){for(let A=0;AsetTimeout(I,A))))}}function QI(A,I){const g=A[I],C=A.Fr,Q=A.tm;A[I].batchApplyKey=async function(A,B,t,i,E){let e,n,a,o,h;if(i=i||"affine",E=E||"affine","G1"==I)"jacobian"==i?(a=3*g.F.n8,e="g1m_batchApplyKey"):(a=2*g.F.n8,e="g1m_batchApplyKeyMixed"),o=3*g.F.n8,"jacobian"==E?h=3*g.F.n8:(n="g1m_batchToAffine",h=2*g.F.n8);else if("G2"==I)"jacobian"==i?(a=3*g.F.n8,e="g2m_batchApplyKey"):(a=2*g.F.n8,e="g2m_batchApplyKeyMixed"),o=3*g.F.n8,"jacobian"==E?h=3*g.F.n8:(n="g2m_batchToAffine",h=2*g.F.n8);else{if("Fr"!=I)throw new Error("Invalid group: "+I);e="frm_batchApplyKey",a=g.n8,o=g.n8,h=g.n8}const r=Math.floor(A.byteLength/a),w=Math.floor(r/Q.concurrency),s=[];t=C.e(t);let f=C.e(B);for(let I=0;I=0;A--){if(!g.isZero(w))for(let A=0;Ae&&(w=e),w<1024&&(w=1024);const s=[];for(let I=0;I(i&&i.debug(`Multiexp end: ${E}: ${I}/${a}`),A))))}const f=await Promise.all(s);let D=g.zero;for(let A=f.length-1;A>=0;A--)D=g.add(D,f[A]);return D}g.multiExp=async function(A,I,g,C){return await B(A,I,"jacobian",g,C)},g.multiExpAffine=async function(A,I,g,C){return await B(A,I,"affine",g,C)}}function iI(A,I){const g=A[I],C=A.Fr,Q=g.tm;async function B(i,E,e,n,a,o){e=e||"affine",n=n||"affine";let h,r,w,s,f,D,c,y;"G1"==I?("affine"==e?(h=2*g.F.n8,s="g1m_batchToJacobian"):h=3*g.F.n8,r=3*g.F.n8,E&&(y="g1m_fftFinal"),c="g1m_fftJoin",D="g1m_fftMix","affine"==n?(w=2*g.F.n8,f="g1m_batchToAffine"):w=3*g.F.n8):"G2"==I?("affine"==e?(h=2*g.F.n8,s="g2m_batchToJacobian"):h=3*g.F.n8,r=3*g.F.n8,E&&(y="g2m_fftFinal"),c="g2m_fftJoin",D="g2m_fftMix","affine"==n?(w=2*g.F.n8,f="g2m_batchToAffine"):w=3*g.F.n8):"Fr"==I&&(h=g.n8,r=g.n8,w=g.n8,E&&(y="frm_fftFinal"),D="frm_fftMix",c="frm_fftJoin");let F=!1;Array.isArray(i)&&(i=A.array2buffer(i,h),F=!0);const M=i.byteLength/h,u=NA(M);if(1<1<<28?new ZA(2*a[0].byteLength):new Uint8Array(2*a[0].byteLength);return o.set(a[0]),o.set(a[1],a[0].byteLength),o}(i,e,n,a,o):await async function(A,I,g,Q,i){let E,e;E=A.slice(0,A.byteLength/2),e=A.slice(A.byteLength/2,A.byteLength);const n=[];[E,e]=await t(E,e,"fftJoinExt",C.one,C.shift,I,"jacobian",Q,i),n.push(B(E,!1,"jacobian",g,Q,i)),n.push(B(e,!1,"jacobian",g,Q,i));const a=await Promise.all(n);let o;o=a[0].byteLength>1<<28?new ZA(2*a[0].byteLength):new Uint8Array(2*a[0].byteLength);return o.set(a[0]),o.set(a[1],a[0].byteLength),o}(i,e,n,a,o),F?A.buffer2array(I,w):I}let l,p,H;E&&(l=C.inv(C.e(M))),bA(i,h);let G=Math.min(16384,M),U=M/G;for(;U=16;)U*=2,G/=2;const d=NA(G),m=[];for(let A=0;A(a&&a.debug(`${o}: fft ${u} mix end: ${A}/${U}`),I))))}H=await Promise.all(m);for(let A=0;A(a&&a.debug(`${o}: fft ${u} join ${A}/${u} ${t+1}/${I} ${i}/${g/2}`),C))))}const t=await Promise.all(B);for(let A=0;A0;I--)p.set(H[I],A),A+=G*w,delete H[I];p.set(H[0].slice(0,(G-1)*w),A),delete H[0]}else for(let A=0;A65536&&(y=65536);const F=[];for(let I=0;I(a&&a.debug(`${o}: fftJoinExt End: ${I}/${c}`),A))))}const M=await Promise.all(F);let u,l;c*s>1<<28?(u=new ZA(c*s),l=new ZA(c*s)):(u=new Uint8Array(c*s),l=new Uint8Array(c*s));let p=0;for(let A=0;AC.s+1)throw E&&E.error("lagrangeEvaluations input too big"),new Error("lagrangeEvaluations input too big");let h=A.slice(0,A.byteLength/2),r=A.slice(A.byteLength/2,A.byteLength);const w=C.exp(C.shift,a/2),s=C.inv(C.sub(C.one,w));[h,r]=await t(h,r,"prepareLagrangeEvaluation",s,C.shiftInv,Q,"jacobian",E,e+" prep");const f=[];let D;return f.push(B(h,!0,"jacobian",i,E,e+" t0")),f.push(B(r,!0,"jacobian",i,E,e+" t1")),[h,r]=await Promise.all(f),D=h.byteLength>1<<28?new ZA(2*h.byteLength):new Uint8Array(2*h.byteLength),D.set(h),D.set(r,h.byteLength),D},g.fftMix=async function(A){const B=3*g.F.n8;let t,i;if("G1"==I)t="g1m_fftMix",i="g1m_fftJoin";else if("G2"==I)t="g2m_fftMix",i="g2m_fftJoin";else{if("Fr"!=I)throw new Error("Invalid group");t="frm_fftMix",i="frm_fftJoin"}const E=Math.floor(A.byteLength/B),e=NA(E);let n=1<=0;A--)h.set(o[A][0],r),r+=o[A][0].byteLength;return h}}async function EI(A){const I=await async function(A,I){const g=new CI;g.memory=new WebAssembly.Memory({initial:25}),g.u8=new Uint8Array(g.memory.buffer),g.u32=new Uint32Array(g.memory.buffer);const C=await WebAssembly.compile(AI(A.code));if(g.instance=await WebAssembly.instantiate(C,{env:{memory:g.memory}}),g.singleThread=I,g.initalPFree=g.u32[0],g.pq=A.pq,g.pr=A.pr,g.pG1gen=A.pG1gen,g.pG1zero=A.pG1zero,g.pG2gen=A.pG2gen,g.pG2zero=A.pG2zero,g.pOneT=A.pOneT,I)g.code=AI(A.code),g.taskManager=zA(),await g.taskManager([{cmd:"INIT",init:25,code:g.code.slice()}]),g.concurrency=1;else{let I;g.workers=[],g.pendingDeferreds=[],g.working=[],I="object"==typeof navigator&&navigator.hardwareConcurrency?navigator.hardwareConcurrency:TA.cpus().length,I>64&&(I=64),g.concurrency=I;for(let A=0;A{I.pendingLoads.push({page:A,resolve:g,reject:C})}));return I.__statusPage("After Load request: ",A),g}__statusPage(A,I){const g=[],C=this;if(!C.logHistory)return;g.push("=="+A+" "+I);let Q="";for(let A=0;A "+I.history[A][g][C])}_triggerLoad(){const A=this;if(A.reading)return;if(0==A.pendingLoads.length)return;const I=Object.keys(A.pages),g=[];for(let C=0;C0&&(void 0!==A.pages[A.pendingLoads[0].page]||C>0||g.length>0);){const I=A.pendingLoads.shift();if(void 0!==A.pages[I.page]){A.pages[I.page].pendingOps++;const C=g.indexOf(I.page);C>=0&&g.splice(C,1),A.pages[I.page].loading?A.pages[I.page].loading.push(I):I.resolve(),A.__statusPage("After Load (cached): ",I.page)}else{if(C)C--;else{const I=g.shift();A.__statusPage("Before Unload: ",I),A.avBuffs.unshift(A.pages[I]),delete A.pages[I],A.__statusPage("After Unload: ",I)}I.page>=A.totalPages?(A.pages[I.page]=B(),I.resolve(),A.__statusPage("After Load (new): ",I.page)):(A.reading=!0,A.pages[I.page]=B(),A.pages[I.page].loading=[I],Q.push(A.fd.read(A.pages[I.page].buff,0,A.pageSize,I.page*A.pageSize).then((g=>{A.pages[I.page].size=g.bytesRead;const C=A.pages[I.page].loading;delete A.pages[I.page].loading;for(let A=0;A{I.reject(A)}))),A.__statusPage("After Load (loading): ",I.page))}}function B(){if(A.avBuffs.length>0){const I=A.avBuffs.shift();return I.dirty=!1,I.pendingOps=1,I.size=0,I}return{dirty:!1,buff:new Uint8Array(A.pageSize),pendingOps:1,size:0}}Promise.all(Q).then((()=>{A.reading=!1,A.pendingLoads.length>0&&setImmediate(A._triggerLoad.bind(A)),A._tryClose()}))}_triggerWrite(){const A=this;if(A.writing)return;const I=Object.keys(A.pages),g=[];for(let C=0;C{Q.writing=!1}),(I=>{console.log("ERROR Writing: "+I),A.error=I,A._tryClose()}))))}A.writing&&Promise.all(g).then((()=>{A.writing=!1,setImmediate(A._triggerWrite.bind(A)),A._tryClose(),A.pendingLoads.length>0&&setImmediate(A._triggerLoad.bind(A))}))}_getDirtyPage(){for(let A in this.pages)if(this.pages[A].dirty)return A;return-1}async write(A,I){if(0==A.byteLength)return;const g=this;if(void 0===I&&(I=g.pos),g.pos=I+A.byteLength,g.totalSize0;){await B[t-C];const I=i+E>g.pageSize?g.pageSize-i:E,Q=A.slice(A.byteLength-E,A.byteLength-E+I);new Uint8Array(g.pages[t].buff.buffer,i,I).set(Q),g.pages[t].dirty=!0,g.pages[t].pendingOps--,g.pages[t].size=Math.max(i+I,g.pages[t].size),t>=g.totalPages&&(g.totalPages=t+1),E-=I,t++,i=0,g.writing||setImmediate(g._triggerWrite.bind(g))}}async read(A,I){let g=new Uint8Array(A);return await this.readToBuffer(g,0,A,I),g}async readToBuffer(A,I,g,C){if(0==g)return;const Q=this;if(g>Q.pageSize*Q.maxPagesLoaded*.8){const A=Math.floor(1.1*g);this.maxPagesLoaded=Math.floor(A/Q.pageSize)+1}if(void 0===C&&(C=Q.pos),Q.pos=C+g,Q.pendingClose)throw new Error("Reading a closing file");const B=Math.floor(C/Q.pageSize),t=Math.floor((C+g-1)/Q.pageSize),i=[];for(let A=B;A<=t;A++)i.push(Q._loadPage(A));Q._triggerLoad();let E=B,e=C%Q.pageSize,n=C+g>Q.totalSize?g-(C+g-Q.totalSize):g;for(;n>0;){await i[E-B],Q.__statusPage("After Await (read): ",E);const C=e+n>Q.pageSize?Q.pageSize-e:n,t=new Uint8Array(Q.pages[E].buff.buffer,Q.pages[E].buff.byteOffset+e,C);A.set(t,I+g-n),Q.pages[E].pendingOps--,Q.__statusPage("After Op done: ",E),n-=C,E++,e=0,Q.pendingLoads.length>0&&setImmediate(Q._triggerLoad.bind(Q))}this.pos=C+g}_tryClose(){const A=this;if(!A.pendingClose)return;A.error&&A.pendingCloseReject(A.error);A._getDirtyPage()>=0||A.writing||A.reading||A.pendingLoads.length>0||A.pendingClose()}close(){const A=this;if(A.pendingClose)throw new Error("Closing the file twice");return new Promise(((I,g)=>{A.pendingClose=I,A.pendingCloseReject=g,A._tryClose()})).then((()=>{A.fd.close()}),(I=>{throw A.fd.close(),I}))}async discard(){await this.close(),await wI.promises.unlink(this.fileName)}async writeULE32(A,I){const g=new Uint8Array(4);new DataView(g.buffer).setUint32(0,A,!0),await this.write(g,I)}async writeUBE32(A,I){const g=new Uint8Array(4);new DataView(g.buffer).setUint32(0,A,!1),await this.write(g,I)}async writeULE64(A,I){const g=new Uint8Array(8),C=new DataView(g.buffer);C.setUint32(0,4294967295&A,!0),C.setUint32(4,Math.floor(A/4294967296),!0),await this.write(g,I)}async readULE32(A){const I=await this.read(4,A);return new Uint32Array(I.buffer)[0]}async readUBE32(A){const I=await this.read(4,A);return new DataView(I.buffer).getUint32(0,!1)}async readULE64(A){const I=await this.read(8,A),g=new Uint32Array(I.buffer);return 4294967296*g[1]+g[0]}}const DI=new Uint8Array(4),cI=new DataView(DI.buffer),yI=new Uint8Array(8),FI=new DataView(yI.buffer);class MI{constructor(){this.pageSize=16384}_resizeIfNeeded(A){if(A>this.allocSize){const I=Math.max(this.allocSize+(1<<20),Math.floor(1.1*this.allocSize),A),g=new Uint8Array(I);g.set(this.o.data),this.o.data=g,this.allocSize=I}}async write(A,I){if(void 0===I&&(I=this.pos),this.readOnly)throw new Error("Writing a read only file");this._resizeIfNeeded(I+A.byteLength),this.o.data.set(A.slice(),I),I+A.byteLength>this.totalSize&&(this.totalSize=I+A.byteLength),this.pos=I+A.byteLength}async readToBuffer(A,I,g,C){if(void 0===C&&(C=this.pos),this.readOnly&&C+g>this.totalSize)throw new Error("Reading out of bounds");this._resizeIfNeeded(C+g);const Q=new Uint8Array(this.o.data.buffer,this.o.data.byteOffset+C,g);A.set(Q,I),this.pos=C+g}async read(A,I){const g=new Uint8Array(A);return await this.readToBuffer(g,0,A,I),g}close(){this.o.data.byteLength!=this.totalSize&&(this.o.data=this.o.data.slice(0,this.totalSize))}async discard(){}async writeULE32(A,I){cI.setUint32(0,A,!0),await this.write(DI,I)}async writeUBE32(A,I){cI.setUint32(0,A,!1),await this.write(DI,I)}async writeULE64(A,I){FI.setUint32(0,4294967295&A,!0),FI.setUint32(4,Math.floor(A/4294967296),!0),await this.write(yI,I)}async readULE32(A){const I=await this.read(4,A);return new Uint32Array(I.buffer)[0]}async readUBE32(A){const I=await this.read(4,A);return new DataView(I.buffer).getUint32(0,!1)}async readULE64(A){const I=await this.read(8,A),g=new Uint32Array(I.buffer);return 4294967296*g[1]+g[0]}}const uI=1<<22;const lI=new Uint8Array(4),pI=new DataView(lI.buffer),HI=new Uint8Array(8),GI=new DataView(HI.buffer);class UI{constructor(){this.pageSize=16384}_resizeIfNeeded(A){if(A<=this.totalSize)return;if(this.readOnly)throw new Error("Reading out of file bounds");const I=Math.floor((A-1)/uI)+1;for(let g=Math.max(this.o.data.length-1,0);g0;){const I=Q+B>uI?uI-Q:B,t=A.slice(A.byteLength-B,A.byteLength-B+I);new Uint8Array(g.o.data[C].buffer,Q,I).set(t),B-=I,C++,Q=0}this.pos=I+A.byteLength}async readToBuffer(A,I,g,C){const Q=this;if(void 0===C&&(C=Q.pos),this.readOnly&&C+g>this.totalSize)throw new Error("Reading out of bounds");this._resizeIfNeeded(C+g);let B=Math.floor(C/uI),t=C%uI,i=g;for(;i>0;){const C=t+i>uI?uI-t:i,E=new Uint8Array(Q.o.data[B].buffer,t,C);A.set(E,I+g-i),i-=C,B++,t=0}this.pos=C+g}async read(A,I){const g=new Uint8Array(A);return await this.readToBuffer(g,0,A,I),g}close(){}async discard(){}async writeULE32(A,I){pI.setUint32(0,A,!0),await this.write(lI,I)}async writeUBE32(A,I){pI.setUint32(0,A,!1),await this.write(lI,I)}async writeULE64(A,I){GI.setUint32(0,4294967295&A,!0),GI.setUint32(4,Math.floor(A/4294967296),!0),await this.write(HI,I)}async readULE32(A){const I=await this.read(4,A);return new Uint32Array(I.buffer)[0]}async readUBE32(A){const I=await this.read(4,A);return new DataView(I.buffer).getUint32(0,!1)}async readULE64(A){const I=await this.read(8,A),g=new Uint32Array(I.buffer);return 4294967296*g[1]+g[0]}}async function dI(A,I,g){if("string"==typeof A&&(A={type:"file",fileName:A,cacheSize:I||65536,pageSize:g||8192}),"file"==A.type)return await sI(A.fileName,"w+",A.cacheSize,A.pageSize);if("mem"==A.type)return function(A){const I=A.initialSize||1<<20,g=new MI;return g.o=A,g.o.data=new Uint8Array(I),g.allocSize=I,g.totalSize=0,g.readOnly=!1,g.pos=0,g}(A);if("bigMem"==A.type)return function(A){const I=A.initialSize||0,g=new UI;g.o=A;const C=I?Math.floor((I-1)/uI)+1:0;g.o.data=[];for(let A=0;Ag)throw new Error("Version not supported");const E=await B.readULE32();let e=[];for(let A=0;A1)throw new Error(A.fileName+": Section Duplicated "+g);A.pos=I[g][0].p,A.readingSection=I[g][0]}async function RI(A,I){if(void 0===A.readingSection)throw new Error("Not reading a section");if(!I&&A.pos-A.readingSection.p!=A.readingSection.size)throw new Error("Invalid section size reading");delete A.readingSection}async function SI(A,I,g,C){const Q=new Uint8Array(g);hI.toRprLE(Q,0,I,g),await A.write(Q,C)}async function vI(A,I,g){const C=await A.read(I,g);return hI.fromRprLE(C,0,I)}async function YI(A,I,g,C,Q){void 0===Q&&(Q=I[C][0].size);const B=A.pageSize;await bI(A,I,C),await kI(g,C);for(let I=0;II[g][0].size)throw new Error("Reading out of the range of the section");let B;return B=Q<1<<30?new Uint8Array(Q):new ZA(Q),await A.readToBuffer(B,0,Q,I[g][0].p+C),B}async function qI(A,I,g,C,Q){const B=16*A.pageSize;if(await bI(A,I,Q),await bI(g,C,Q),I[Q][0].size!=C[Q][0].size)return!1;const t=I[Q][0].size;for(let I=0;I=Q,"digestLength must be at least "+Q+", was given "+A),VI(A<=B,"digestLength must be at most "+B+", was given "+A),null!=a&&(VI(a instanceof Uint8Array,"key must be Uint8Array or Buffer"),VI(a.length>=t,"key must be at least "+t+", was given "+a.length),VI(a.length<=i,"key must be at least "+i+", was given "+a.length)),null!=o&&(VI(o instanceof Uint8Array,"salt must be Uint8Array or Buffer"),VI(o.length===E,"salt must be exactly "+E+", was given "+o.length)),null!=h&&(VI(h instanceof Uint8Array,"personal must be Uint8Array or Buffer"),VI(h.length===e,"personal must be exactly "+e+", was given "+h.length))),C.length||(C.push(g),g+=216),this.digestLength=A,this.finalized=!1,this.pointer=C.pop(),I.memory.fill(0,0,64),I.memory[0]=this.digestLength,I.memory[1]=a?a.length:0,I.memory[2]=1,I.memory[3]=1,o&&I.memory.set(o,32),h&&I.memory.set(h,48),this.pointer+216>I.memory.length&&I.realloc(this.pointer+216),I.exports.blake2b_init(this.pointer,this.digestLength),a&&(this.update(a),I.memory.fill(0,g,g+a.length),I.memory[this.pointer+200]=128)}function a(){}function o(A){return A<16?"0"+A.toString(16):A.toString(16)}n.prototype.update=function(A){return VI(!1===this.finalized,"Hash instance finalized"),VI(A instanceof Uint8Array,"input must be Uint8Array or Buffer"),g+A.length>I.memory.length&&I.realloc(g+A.length),I.memory.set(A,g),I.exports.blake2b_update(this.pointer,g,g+A.length),this},n.prototype.getPartialHash=function(){return I.memory.slice(this.pointer,this.pointer+216)},n.prototype.setPartialHash=function(A){I.memory.set(A,this.pointer)},n.prototype.digest=function(A){if(VI(!1===this.finalized,"Hash instance finalized"),this.finalized=!0,C.push(this.pointer),I.exports.blake2b_final(this.pointer),!A||"binary"===A)return I.memory.slice(this.pointer+128,this.pointer+128+this.digestLength);if("hex"===A)return function(A,I,g){for(var C="",Q=0;Q=this.digestLength,"input must be Uint8Array or Buffer");for(var g=0;g>=1;return g}function $I(A){return(0!=(4294901760&A)?(A&=4294901760,16):0)|(0!=(4278255360&A)?(A&=4278255360,8):0)|(0!=(4042322160&A)?(A&=4042322160,4):0)|(0!=(3435973836&A)?(A&=3435973836,2):0)|0!=(2863311530&A)}function Ag(A,I){const g=new DataView(A.buffer,A.byteOffset,A.byteLength);let C="";for(let A=0;A<4;A++){A>0&&(C+="\n"),C+="\t\t";for(let I=0;I<4;I++)I>0&&(C+=" "),C+=g.getUint32(16*A+4*I).toString(16).padStart(8,"0")}return I&&(C=I+"\n"+C),C}function Ig(A,I){if(A.byteLength!=I.byteLength)return!1;for(var g=new Int8Array(A),C=new Int8Array(I),Q=0;Q!=A.byteLength;Q++)if(g[Q]!=C[Q])return!1;return!0}function gg(A){const I=A.getPartialHash(),g=zI(64);return g.setPartialHash(I),g}async function Cg(A,I,g,C,Q){if(A.G1.isZero(I))return!1;if(A.G1.isZero(g))return!1;if(A.G2.isZero(C))return!1;if(A.G2.isZero(Q))return!1;return await A.pairingEq(I,Q,A.G1.neg(g),C)}async function Qg(A){for(;!A;)A=await window.prompt("Enter a random text. (Entropy): ","");const I=zI(64);I.update(DA.randomBytes(64));const g=new TextEncoder;I.update(g.encode(A));const C=Buffer.from(I.digest()),Q=[];for(let A=0;A<8;A++)Q[A]=C.readUInt32BE(4*A);return new fA(Q)}function Bg(A,I){let g,C;I<32?(g=1<>>0,C=1):(g=4294967296,C=1<>>0);let Q=A;for(let A=0;A0){const I=new Uint8Array(C);await A.writeULE32(I.byteLength),await A.write(I)}else await A.writeULE32(0)}async function fg(A,I,g){await kI(A,10),await A.write(g.csHash),await A.writeULE32(g.contributions.length);for(let C=0;C /\\../\\",h=52,r={32:{offset:0},64:{offset:[0,0,0,0]},128:{offset:[0,0,0,0,0,0,0,0]},256:{offset:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},512:{offset:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]},1024:{offset:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}};for(A=0;A<256;A++)E[A]=(A>>4&15).toString(16)+(15&A).toString(16);function w(A,I){var g,C,Q,B=[0],t="";for(C=0;C0;)B.push(g%I),g=g/I|0}for(C=B.length-1;C>=0;--C)t+="0123456789abcdefghijklmnopqrstuvwxyz"[B[C]];return t}function s(A,I){return{bits:I,value:A,dec:function(){return w(A,10)},hex:function(){return A},str:function(){return w(A,36)}}}function f(A,I){return{bits:I,value:A,dec:function(){return A.toString()},hex:function(){return E[A>>>24]+E[A>>>16&255]+E[A>>>8&255]+E[255&A]},str:function(){return A.toString(36)}}}function D(A,I){return{bits:I,value:A,dec:function(){return A.toString()},hex:function(){return("0000000000000000"+A.toString(16)).substr(-13)},str:function(){return A.toString(36)}}}function c(A,E){var e="object"==typeof A?JSON.stringify(A):A;switch(E||h){case 32:return I(e);case 64:return C(e);case 128:return Q(e);case 256:return B(e);case 512:return t(e);case 1024:return i(e);default:return g(e)}}function y(A){if("1a"===A)n=A,I=a?p:u,g=a?d:G,C=a?k:L,Q=a?S:b,B=a?q:Y,t=a?V:X,i=a?j:W;else{if("1"!==A)throw new Error("Supported FNV versions: 1, 1a");n=A,I=a?H:l,g=a?m:U,C=a?N:J,Q=a?v:R,B=a?x:P,t=a?K:Z,i=a?z:O}}function F(A){A?(a=!0,I="1a"==n?p:H,g="1a"==n?d:m,C="1a"==n?k:N,Q="1a"==n?S:v,B="1a"==n?q:x,t="1a"==n?V:K,i="1a"==n?j:z):(a=!1,I="1a"==n?u:l,g="1a"==n?G:U,C="1a"==n?L:J,Q="1a"==n?b:R,B="1a"==n?Y:P,t="1a"==n?X:Z,i="1a"==n?W:O)}function M(A){var I,g,C=n;for(var Q in(A=A||0===A?A:o)===o&&y("1"),r){for(r[Q].offset=[],g=0;g>>16)&65535),t+=(B^=A.charCodeAt(I++))<<8,B=65535&(Q=403*B),t=403*(i=t+(Q>>>16)&65535),t+=(B^=A.charCodeAt(I++))<<8,B=65535&(Q=403*B),t=403*(i=t+(Q>>>16)&65535),i=(t+=(B^=A.charCodeAt(I++))<<8)+((Q=403*B)>>>16)&65535,B=65535&Q;for(;I>>16)&65535,B=65535&Q;return f((i<<16>>>0)+B,32)}function l(A){var I,g=A.length-3,C=r[32].offset,Q=0,B=0|C[1],t=0,i=0|C[0];for(I=0;I>>16)&65535),t+=(B^=A.charCodeAt(I++))<<8,B=65535&(Q=403*B),t=403*(i=t+(Q>>>16)&65535),t+=(B^=A.charCodeAt(I++))<<8,B=65535&(Q=403*B),t=403*(i=t+(Q>>>16)&65535),i=(t+=(B^=A.charCodeAt(I++))<<8)+((Q=403*B)>>>16)&65535,B=65535&Q,B^=A.charCodeAt(I++);for(;I>>16)&65535,B=65535&Q,B^=A.charCodeAt(I++);return f((i<<16>>>0)+B,32)}function p(A){var I,g,C=A.length,Q=r[32].offset,B=0,t=0|Q[1],i=0,E=0|Q[0];for(g=0;g>6|192)<<8)+((B=403*t)>>>16)&65535,t=65535&B,t^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,t=65535&(B=403*t),i=403*(E=i+(B>>>16)&65535),i+=(t^=I>>12&63|128)<<8,t=65535&(B=403*t),i=403*(E=i+(B>>>16)&65535),E=(i+=(t^=I>>6&63|128)<<8)+((B=403*t)>>>16)&65535,t=65535&B,t^=63&I|128):(i=403*E,i+=(t^=I>>12|224)<<8,t=65535&(B=403*t),i=403*(E=i+(B>>>16)&65535),E=(i+=(t^=I>>6&63|128)<<8)+((B=403*t)>>>16)&65535,t=65535&B,t^=63&I|128),i=403*E,E=(i+=t<<8)+((B=403*t)>>>16)&65535,t=65535&B;return f((E<<16>>>0)+t,32)}function H(A){var I,g,C=A.length,Q=r[32].offset,B=0,t=0|Q[1],i=0,E=0|Q[0];for(g=0;g>>16)&65535,t=65535&B,(I=A.charCodeAt(g))<128?t^=I:I<2048?(i=403*E,E=(i+=(t^=I>>6|192)<<8)+((B=403*t)>>>16)&65535,t=65535&B,t^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,t=65535&(B=403*t),i=403*(E=i+(B>>>16)&65535),i+=(t^=I>>12&63|128)<<8,t=65535&(B=403*t),i=403*(E=i+(B>>>16)&65535),E=(i+=(t^=I>>6&63|128)<<8)+((B=403*t)>>>16)&65535,t=65535&B,t^=63&I|128):(i=403*E,i+=(t^=I>>12|224)<<8,t=65535&(B=403*t),i=403*(E=i+(B>>>16)&65535),E=(i+=(t^=I>>6&63|128)<<8)+((B=403*t)>>>16)&65535,t=65535&B,t^=63&I|128);return f((E<<16>>>0)+t,32)}function G(A){var I,g=A.length-3,C=r[64].offset,Q=0,B=0|C[3],t=0,i=0|C[2],E=0,e=0|C[1],n=0,a=0|C[0];for(I=0;I>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),E=435*(e=65535&E),n=435*a,E+=(B^=A.charCodeAt(I++))<<8,B=65535&(Q=435*B),a=(n+=i<<8)+((E+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),E=435*(e=65535&E),n=435*a,E+=(B^=A.charCodeAt(I++))<<8,B=65535&(Q=435*B),a=(n+=i<<8)+((E+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),E=435*(e=65535&E),n=435*a,E+=(B^=A.charCodeAt(I++))<<8,n+=i<<8,B=65535&(Q=435*B),i=65535&(t+=Q>>>16),a=n+((E+=t>>>16)>>>16)&65535,e=65535&E;for(;I>>16),a=n+((E+=t>>>16)>>>16)&65535,e=65535&E;return D(281474976710656*(15&a)+4294967296*e+65536*i+(B^a>>4),52)}function U(A){var I,g=A.length-3,C=r[64].offset,Q=0,B=0|C[3],t=0,i=0|C[2],E=0,e=0|C[1],n=0,a=0|C[0];for(I=0;I>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),E=435*(e=65535&E),n=435*a,E+=(B^=A.charCodeAt(I++))<<8,B=65535&(Q=435*B),a=(n+=i<<8)+((E+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),E=435*(e=65535&E),n=435*a,E+=(B^=A.charCodeAt(I++))<<8,B=65535&(Q=435*B),a=(n+=i<<8)+((E+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),E=435*(e=65535&E),n=435*a,E+=(B^=A.charCodeAt(I++))<<8,n+=i<<8,B=65535&(Q=435*B),i=65535&(t+=Q>>>16),a=n+((E+=t>>>16)>>>16)&65535,e=65535&E,B^=A.charCodeAt(I++);for(;I>>16),a=n+((E+=t>>>16)>>>16)&65535,e=65535&E,B^=A.charCodeAt(I++);return D(281474976710656*(15&a)+4294967296*e+65536*i+(B^a>>4),52)}function d(A){var I,g,C=A.length,Q=r[64].offset,B=0,t=0|Q[3],i=0,E=0|Q[2],e=0,n=0|Q[1],a=0,o=0|Q[0];for(g=0;g>6|192)<<8,a+=E<<8,t=65535&(B=435*t),E=65535&(i+=B>>>16),o=a+((e+=i>>>16)>>>16)&65535,n=65535&e,t^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,t=65535&(B=435*t),o=(a+=E<<8)+((e+=(i+=B>>>16)>>>16)>>>16)&65535,i=435*(E=65535&i),e=435*(n=65535&e),a=435*o,e+=(t^=I>>12&63|128)<<8,t=65535&(B=435*t),o=(a+=E<<8)+((e+=(i+=B>>>16)>>>16)>>>16)&65535,i=435*(E=65535&i),e=435*(n=65535&e),a=435*o,e+=(t^=I>>6&63|128)<<8,a+=E<<8,t=65535&(B=435*t),E=65535&(i+=B>>>16),o=a+((e+=i>>>16)>>>16)&65535,n=65535&e,t^=63&I|128):(i=435*E,e=435*n,a=435*o,e+=(t^=I>>12|224)<<8,t=65535&(B=435*t),o=(a+=E<<8)+((e+=(i+=B>>>16)>>>16)>>>16)&65535,i=435*(E=65535&i),e=435*(n=65535&e),a=435*o,e+=(t^=I>>6&63|128)<<8,a+=E<<8,t=65535&(B=435*t),E=65535&(i+=B>>>16),o=a+((e+=i>>>16)>>>16)&65535,n=65535&e,t^=63&I|128),i=435*E,e=435*n,a=435*o,e+=t<<8,a+=E<<8,t=65535&(B=435*t),E=65535&(i+=B>>>16),o=a+((e+=i>>>16)>>>16)&65535,n=65535&e;return D(281474976710656*(15&o)+4294967296*n+65536*E+(t^o>>4),52)}function m(A){var I,g,C=A.length,Q=r[64].offset,B=0,t=0|Q[3],i=0,E=0|Q[2],e=0,n=0|Q[1],a=0,o=0|Q[0];for(g=0;g>>16),o=a+((e+=i>>>16)>>>16)&65535,n=65535&e,(I=A.charCodeAt(g))<128?t^=I:I<2048?(i=435*E,e=435*n,a=435*o,e+=(t^=I>>6|192)<<8,a+=E<<8,t=65535&(B=435*t),E=65535&(i+=B>>>16),o=a+((e+=i>>>16)>>>16)&65535,n=65535&e,t^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,t=65535&(B=435*t),o=(a+=E<<8)+((e+=(i+=B>>>16)>>>16)>>>16)&65535,i=435*(E=65535&i),e=435*(n=65535&e),a=435*o,e+=(t^=I>>12&63|128)<<8,t=65535&(B=435*t),o=(a+=E<<8)+((e+=(i+=B>>>16)>>>16)>>>16)&65535,i=435*(E=65535&i),e=435*(n=65535&e),a=435*o,e+=(t^=I>>6&63|128)<<8,a+=E<<8,t=65535&(B=435*t),E=65535&(i+=B>>>16),o=a+((e+=i>>>16)>>>16)&65535,n=65535&e,t^=63&I|128):(i=435*E,e=435*n,a=435*o,e+=(t^=I>>12|224)<<8,t=65535&(B=435*t),o=(a+=E<<8)+((e+=(i+=B>>>16)>>>16)>>>16)&65535,i=435*(E=65535&i),e=435*(n=65535&e),a=435*o,e+=(t^=I>>6&63|128)<<8,a+=E<<8,t=65535&(B=435*t),E=65535&(i+=B>>>16),o=a+((e+=i>>>16)>>>16)&65535,n=65535&e,t^=63&I|128);return D(281474976710656*(15&o)+4294967296*n+65536*E+(t^o>>4),52)}function L(A){var I,g=A.length-3,C=r[64].offset,Q=0,B=0|C[3],t=0,i=0|C[2],e=0,n=0|C[1],a=0,o=0|C[0];for(I=0;I>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),e=435*(n=65535&e),a=435*o,e+=(B^=A.charCodeAt(I++))<<8,B=65535&(Q=435*B),o=(a+=i<<8)+((e+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),e=435*(n=65535&e),a=435*o,e+=(B^=A.charCodeAt(I++))<<8,B=65535&(Q=435*B),o=(a+=i<<8)+((e+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),e=435*(n=65535&e),a=435*o,e+=(B^=A.charCodeAt(I++))<<8,a+=i<<8,B=65535&(Q=435*B),i=65535&(t+=Q>>>16),o=a+((e+=t>>>16)>>>16)&65535,n=65535&e;for(;I>>16),o=a+((e+=t>>>16)>>>16)&65535,n=65535&e;return s(E[o>>8]+E[255&o]+E[n>>8]+E[255&n]+E[i>>8]+E[255&i]+E[B>>8]+E[255&B],64)}function J(A){var I,g=A.length-3,C=r[64].offset,Q=0,B=0|C[3],t=0,i=0|C[2],e=0,n=0|C[1],a=0,o=0|C[0];for(I=0;I>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),e=435*(n=65535&e),a=435*o,e+=(B^=A.charCodeAt(I++))<<8,B=65535&(Q=435*B),o=(a+=i<<8)+((e+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),e=435*(n=65535&e),a=435*o,e+=(B^=A.charCodeAt(I++))<<8,B=65535&(Q=435*B),o=(a+=i<<8)+((e+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),e=435*(n=65535&e),a=435*o,e+=(B^=A.charCodeAt(I++))<<8,a+=i<<8,B=65535&(Q=435*B),i=65535&(t+=Q>>>16),o=a+((e+=t>>>16)>>>16)&65535,n=65535&e,B^=A.charCodeAt(I++);for(;I>>16),o=a+((e+=t>>>16)>>>16)&65535,n=65535&e,B^=A.charCodeAt(I++);return s(E[o>>8]+E[255&o]+E[n>>8]+E[255&n]+E[i>>8]+E[255&i]+E[B>>8]+E[255&B],64)}function k(A){var I,g,C=A.length,Q=r[64].offset,B=0,t=0|Q[3],i=0,e=0|Q[2],n=0,a=0|Q[1],o=0,h=0|Q[0];for(g=0;g>6|192)<<8,o+=e<<8,t=65535&(B=435*t),e=65535&(i+=B>>>16),h=o+((n+=i>>>16)>>>16)&65535,a=65535&n,t^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,t=65535&(B=435*t),h=(o+=e<<8)+((n+=(i+=B>>>16)>>>16)>>>16)&65535,i=435*(e=65535&i),n=435*(a=65535&n),o=435*h,n+=(t^=I>>12&63|128)<<8,t=65535&(B=435*t),h=(o+=e<<8)+((n+=(i+=B>>>16)>>>16)>>>16)&65535,i=435*(e=65535&i),n=435*(a=65535&n),o=435*h,n+=(t^=I>>6&63|128)<<8,o+=e<<8,t=65535&(B=435*t),e=65535&(i+=B>>>16),h=o+((n+=i>>>16)>>>16)&65535,a=65535&n,t^=63&I|128):(i=435*e,n=435*a,o=435*h,n+=(t^=I>>12|224)<<8,t=65535&(B=435*t),h=(o+=e<<8)+((n+=(i+=B>>>16)>>>16)>>>16)&65535,i=435*(e=65535&i),n=435*(a=65535&n),o=435*h,n+=(t^=I>>6&63|128)<<8,o+=e<<8,t=65535&(B=435*t),e=65535&(i+=B>>>16),h=o+((n+=i>>>16)>>>16)&65535,a=65535&n,t^=63&I|128),i=435*e,n=435*a,o=435*h,n+=t<<8,o+=e<<8,t=65535&(B=435*t),e=65535&(i+=B>>>16),h=o+((n+=i>>>16)>>>16)&65535,a=65535&n;return s(E[h>>8]+E[255&h]+E[a>>8]+E[255&a]+E[e>>8]+E[255&e]+E[t>>8]+E[255&t],64)}function N(A){var I,g,C=A.length,Q=r[64].offset,B=0,t=0|Q[3],i=0,e=0|Q[2],n=0,a=0|Q[1],o=0,h=0|Q[0];for(g=0;g>>16),h=o+((n+=i>>>16)>>>16)&65535,a=65535&n,(I=A.charCodeAt(g))<128?t^=I:I<2048?(i=435*e,n=435*a,o=435*h,n+=(t^=I>>6|192)<<8,o+=e<<8,t=65535&(B=435*t),e=65535&(i+=B>>>16),h=o+((n+=i>>>16)>>>16)&65535,a=65535&n,t^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,t=65535&(B=435*t),h=(o+=e<<8)+((n+=(i+=B>>>16)>>>16)>>>16)&65535,i=435*(e=65535&i),n=435*(a=65535&n),o=435*h,n+=(t^=I>>12&63|128)<<8,t=65535&(B=435*t),h=(o+=e<<8)+((n+=(i+=B>>>16)>>>16)>>>16)&65535,i=435*(e=65535&i),n=435*(a=65535&n),o=435*h,n+=(t^=I>>6&63|128)<<8,o+=e<<8,t=65535&(B=435*t),e=65535&(i+=B>>>16),h=o+((n+=i>>>16)>>>16)&65535,a=65535&n,t^=63&I|128):(i=435*e,n=435*a,o=435*h,n+=(t^=I>>12|224)<<8,t=65535&(B=435*t),h=(o+=e<<8)+((n+=(i+=B>>>16)>>>16)>>>16)&65535,i=435*(e=65535&i),n=435*(a=65535&n),o=435*h,n+=(t^=I>>6&63|128)<<8,o+=e<<8,t=65535&(B=435*t),e=65535&(i+=B>>>16),h=o+((n+=i>>>16)>>>16)&65535,a=65535&n,t^=63&I|128);return s(E[h>>8]+E[255&h]+E[a>>8]+E[255&a]+E[e>>8]+E[255&e]+E[t>>8]+E[255&t],64)}function b(A){var I,g=A.length-3,C=r[128].offset,Q=0,B=0|C[7],t=0,i=0|C[6],e=0,n=0|C[5],a=0,o=0|C[4],h=0,w=0|C[3],f=0,D=0|C[2],c=0,y=0|C[1],F=0,M=0|C[0];for(I=0;I>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=315*(i=65535&t),e=315*(n=65535&e),a=315*(o=65535&a),h=315*(w=65535&h),f=315*(D=65535&f),c=315*(y=65535&c),F=315*M,f+=(B^=A.charCodeAt(I++))<<8,c+=i<<8,B=65535&(Q=315*B),M=(F+=n<<8)+((c+=(f+=(h+=(a+=(e+=(t+=Q>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=315*(i=65535&t),e=315*(n=65535&e),a=315*(o=65535&a),h=315*(w=65535&h),f=315*(D=65535&f),c=315*(y=65535&c),F=315*M,f+=(B^=A.charCodeAt(I++))<<8,c+=i<<8,B=65535&(Q=315*B),M=(F+=n<<8)+((c+=(f+=(h+=(a+=(e+=(t+=Q>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=315*(i=65535&t),e=315*(n=65535&e),a=315*(o=65535&a),h=315*(w=65535&h),f=315*(D=65535&f),c=315*(y=65535&c),F=315*M,f+=(B^=A.charCodeAt(I++))<<8,c+=i<<8,F+=n<<8,B=65535&(Q=315*B),i=65535&(t+=Q>>>16),n=65535&(e+=t>>>16),o=65535&(a+=e>>>16),w=65535&(h+=a>>>16),D=65535&(f+=h>>>16),M=F+((c+=f>>>16)>>>16)&65535,y=65535&c;for(;I>>16),n=65535&(e+=t>>>16),o=65535&(a+=e>>>16),w=65535&(h+=a>>>16),D=65535&(f+=h>>>16),M=F+((c+=f>>>16)>>>16)&65535,y=65535&c;return s(E[M>>8]+E[255&M]+E[y>>8]+E[255&y]+E[D>>8]+E[255&D]+E[w>>8]+E[255&w]+E[o>>8]+E[255&o]+E[n>>8]+E[255&n]+E[i>>8]+E[255&i]+E[B>>8]+E[255&B],128)}function R(A){var I,g=A.length-3,C=r[128].offset,Q=0,B=0|C[7],t=0,i=0|C[6],e=0,n=0|C[5],a=0,o=0|C[4],h=0,w=0|C[3],f=0,D=0|C[2],c=0,y=0|C[1],F=0,M=0|C[0];for(I=0;I>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=315*(i=65535&t),e=315*(n=65535&e),a=315*(o=65535&a),h=315*(w=65535&h),f=315*(D=65535&f),c=315*(y=65535&c),F=315*M,f+=(B^=A.charCodeAt(I++))<<8,c+=i<<8,B=65535&(Q=315*B),M=(F+=n<<8)+((c+=(f+=(h+=(a+=(e+=(t+=Q>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=315*(i=65535&t),e=315*(n=65535&e),a=315*(o=65535&a),h=315*(w=65535&h),f=315*(D=65535&f),c=315*(y=65535&c),F=315*M,f+=(B^=A.charCodeAt(I++))<<8,c+=i<<8,B=65535&(Q=315*B),M=(F+=n<<8)+((c+=(f+=(h+=(a+=(e+=(t+=Q>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=315*(i=65535&t),e=315*(n=65535&e),a=315*(o=65535&a),h=315*(w=65535&h),f=315*(D=65535&f),c=315*(y=65535&c),F=315*M,f+=(B^=A.charCodeAt(I++))<<8,c+=i<<8,F+=n<<8,B=65535&(Q=315*B),i=65535&(t+=Q>>>16),n=65535&(e+=t>>>16),o=65535&(a+=e>>>16),w=65535&(h+=a>>>16),D=65535&(f+=h>>>16),M=F+((c+=f>>>16)>>>16)&65535,y=65535&c,B^=A.charCodeAt(I++);for(;I>>16),n=65535&(e+=t>>>16),o=65535&(a+=e>>>16),w=65535&(h+=a>>>16),D=65535&(f+=h>>>16),M=F+((c+=f>>>16)>>>16)&65535,y=65535&c,B^=A.charCodeAt(I++);return s(E[M>>8]+E[255&M]+E[y>>8]+E[255&y]+E[D>>8]+E[255&D]+E[w>>8]+E[255&w]+E[o>>8]+E[255&o]+E[n>>8]+E[255&n]+E[i>>8]+E[255&i]+E[B>>8]+E[255&B],128)}function S(A){var I,g,C=A.length,Q=r[128].offset,B=0,t=0|Q[7],i=0,e=0|Q[6],n=0,a=0|Q[5],o=0,h=0|Q[4],w=0,f=0|Q[3],D=0,c=0|Q[2],y=0,F=0|Q[1],M=0,u=0|Q[0];for(g=0;g>6|192)<<8,y+=e<<8,M+=a<<8,t=65535&(B=315*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),u=M+((y+=D>>>16)>>>16)&65535,F=65535&y,t^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,y+=e<<8,t=65535&(B=315*t),u=(M+=a<<8)+((y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=315*(e=65535&i),n=315*(a=65535&n),o=315*(h=65535&o),w=315*(f=65535&w),D=315*(c=65535&D),y=315*(F=65535&y),M=315*u,D+=(t^=I>>12&63|128)<<8,y+=e<<8,t=65535&(B=315*t),u=(M+=a<<8)+((y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=315*(e=65535&i),n=315*(a=65535&n),o=315*(h=65535&o),w=315*(f=65535&w),D=315*(c=65535&D),y=315*(F=65535&y),M=315*u,D+=(t^=I>>6&63|128)<<8,y+=e<<8,M+=a<<8,t=65535&(B=315*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),u=M+((y+=D>>>16)>>>16)&65535,F=65535&y,t^=63&I|128):(i=315*e,n=315*a,o=315*h,w=315*f,D=315*c,y=315*F,M=315*u,D+=(t^=I>>12|224)<<8,y+=e<<8,t=65535&(B=315*t),u=(M+=a<<8)+((y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=315*(e=65535&i),n=315*(a=65535&n),o=315*(h=65535&o),w=315*(f=65535&w),D=315*(c=65535&D),y=315*(F=65535&y),M=315*u,D+=(t^=I>>6&63|128)<<8,y+=e<<8,M+=a<<8,t=65535&(B=315*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),u=M+((y+=D>>>16)>>>16)&65535,F=65535&y,t^=63&I|128),i=315*e,n=315*a,o=315*h,w=315*f,D=315*c,y=315*F,M=315*u,D+=t<<8,y+=e<<8,M+=a<<8,t=65535&(B=315*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),u=M+((y+=D>>>16)>>>16)&65535,F=65535&y;return s(E[u>>8]+E[255&u]+E[F>>8]+E[255&F]+E[c>>8]+E[255&c]+E[f>>8]+E[255&f]+E[h>>8]+E[255&h]+E[a>>8]+E[255&a]+E[e>>8]+E[255&e]+E[t>>8]+E[255&t],128)}function v(A){var I,g,C=A.length,Q=r[128].offset,B=0,t=0|Q[7],i=0,e=0|Q[6],n=0,a=0|Q[5],o=0,h=0|Q[4],w=0,f=0|Q[3],D=0,c=0|Q[2],y=0,F=0|Q[1],M=0,u=0|Q[0];for(g=0;g>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),u=M+((y+=D>>>16)>>>16)&65535,F=65535&y,(I=A.charCodeAt(g))<128?t^=I:I<2048?(i=315*e,n=315*a,o=315*h,w=315*f,D=315*c,y=315*F,M=315*u,D+=(t^=I>>6|192)<<8,y+=e<<8,M+=a<<8,t=65535&(B=315*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),u=M+((y+=D>>>16)>>>16)&65535,F=65535&y,t^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,y+=e<<8,t=65535&(B=315*t),u=(M+=a<<8)+((y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=315*(e=65535&i),n=315*(a=65535&n),o=315*(h=65535&o),w=315*(f=65535&w),D=315*(c=65535&D),y=315*(F=65535&y),M=315*u,D+=(t^=I>>12&63|128)<<8,y+=e<<8,t=65535&(B=315*t),u=(M+=a<<8)+((y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=315*(e=65535&i),n=315*(a=65535&n),o=315*(h=65535&o),w=315*(f=65535&w),D=315*(c=65535&D),y=315*(F=65535&y),M=315*u,D+=(t^=I>>6&63|128)<<8,y+=e<<8,M+=a<<8,t=65535&(B=315*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),u=M+((y+=D>>>16)>>>16)&65535,F=65535&y,t^=63&I|128):(i=315*e,n=315*a,o=315*h,w=315*f,D=315*c,y=315*F,M=315*u,D+=(t^=I>>12|224)<<8,y+=e<<8,t=65535&(B=315*t),u=(M+=a<<8)+((y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=315*(e=65535&i),n=315*(a=65535&n),o=315*(h=65535&o),w=315*(f=65535&w),D=315*(c=65535&D),y=315*(F=65535&y),M=315*u,D+=(t^=I>>6&63|128)<<8,y+=e<<8,M+=a<<8,t=65535&(B=315*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),u=M+((y+=D>>>16)>>>16)&65535,F=65535&y,t^=63&I|128);return s(E[u>>8]+E[255&u]+E[F>>8]+E[255&F]+E[c>>8]+E[255&c]+E[f>>8]+E[255&f]+E[h>>8]+E[255&h]+E[a>>8]+E[255&a]+E[e>>8]+E[255&e]+E[t>>8]+E[255&t],128)}function Y(A){var I,g=A.length-3,C=r[256].offset,Q=0,B=0|C[15],t=0,i=0|C[14],e=0,n=0|C[13],a=0,o=0|C[12],h=0,w=0|C[11],f=0,D=0|C[10],c=0,y=0|C[9],F=0,M=0|C[8],u=0,l=0|C[7],p=0,H=0|C[6],G=0,U=0|C[5],d=0,m=0|C[4],L=0,J=0|C[3],k=0,N=0|C[2],b=0,R=0|C[1],S=0,v=0|C[0];for(I=0;I>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=355*(i=65535&t),e=355*(n=65535&e),a=355*(o=65535&a),h=355*(w=65535&h),f=355*(D=65535&f),c=355*(y=65535&c),F=355*(M=65535&F),u=355*(l=65535&u),p=355*(H=65535&p),G=355*(U=65535&G),d=355*(m=65535&d),L=355*(J=65535&L),k=355*(N=65535&k),b=355*(R=65535&b),S=355*v,G+=(B^=A.charCodeAt(I++))<<8,d+=i<<8,L+=n<<8,k+=o<<8,b+=w<<8,B=65535&(Q=355*B),v=(S+=D<<8)+((b+=(k+=(L+=(d+=(G+=(p+=(u+=(F+=(c+=(f+=(h+=(a+=(e+=(t+=Q>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=355*(i=65535&t),e=355*(n=65535&e),a=355*(o=65535&a),h=355*(w=65535&h),f=355*(D=65535&f),c=355*(y=65535&c),F=355*(M=65535&F),u=355*(l=65535&u),p=355*(H=65535&p),G=355*(U=65535&G),d=355*(m=65535&d),L=355*(J=65535&L),k=355*(N=65535&k),b=355*(R=65535&b),S=355*v,G+=(B^=A.charCodeAt(I++))<<8,d+=i<<8,L+=n<<8,k+=o<<8,b+=w<<8,B=65535&(Q=355*B),v=(S+=D<<8)+((b+=(k+=(L+=(d+=(G+=(p+=(u+=(F+=(c+=(f+=(h+=(a+=(e+=(t+=Q>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=355*(i=65535&t),e=355*(n=65535&e),a=355*(o=65535&a),h=355*(w=65535&h),f=355*(D=65535&f),c=355*(y=65535&c),F=355*(M=65535&F),u=355*(l=65535&u),p=355*(H=65535&p),G=355*(U=65535&G),d=355*(m=65535&d),L=355*(J=65535&L),k=355*(N=65535&k),b=355*(R=65535&b),S=355*v,G+=(B^=A.charCodeAt(I++))<<8,d+=i<<8,L+=n<<8,k+=o<<8,b+=w<<8,S+=D<<8,B=65535&(Q=355*B),i=65535&(t+=Q>>>16),n=65535&(e+=t>>>16),o=65535&(a+=e>>>16),w=65535&(h+=a>>>16),D=65535&(f+=h>>>16),y=65535&(c+=f>>>16),M=65535&(F+=c>>>16),l=65535&(u+=F>>>16),H=65535&(p+=u>>>16),U=65535&(G+=p>>>16),m=65535&(d+=G>>>16),J=65535&(L+=d>>>16),N=65535&(k+=L>>>16),v=S+((b+=k>>>16)>>>16)&65535,R=65535&b;for(;I>>16),n=65535&(e+=t>>>16),o=65535&(a+=e>>>16),w=65535&(h+=a>>>16),D=65535&(f+=h>>>16),y=65535&(c+=f>>>16),M=65535&(F+=c>>>16),l=65535&(u+=F>>>16),H=65535&(p+=u>>>16),U=65535&(G+=p>>>16),m=65535&(d+=G>>>16),J=65535&(L+=d>>>16),N=65535&(k+=L>>>16),v=S+((b+=k>>>16)>>>16)&65535,R=65535&b;return s(E[v>>8]+E[255&v]+E[R>>8]+E[255&R]+E[N>>8]+E[255&N]+E[J>>8]+E[255&J]+E[m>>8]+E[255&m]+E[U>>8]+E[255&U]+E[H>>8]+E[255&H]+E[l>>8]+E[255&l]+E[M>>8]+E[255&M]+E[y>>8]+E[255&y]+E[D>>8]+E[255&D]+E[w>>8]+E[255&w]+E[o>>8]+E[255&o]+E[n>>8]+E[255&n]+E[i>>8]+E[255&i]+E[B>>8]+E[255&B],256)}function P(A){var I,g=A.length-3,C=r[256].offset,Q=0,B=0|C[15],t=0,i=0|C[14],e=0,n=0|C[13],a=0,o=0|C[12],h=0,w=0|C[11],f=0,D=0|C[10],c=0,y=0|C[9],F=0,M=0|C[8],u=0,l=0|C[7],p=0,H=0|C[6],G=0,U=0|C[5],d=0,m=0|C[4],L=0,J=0|C[3],k=0,N=0|C[2],b=0,R=0|C[1],S=0,v=0|C[0];for(I=0;I>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=355*(i=65535&t),e=355*(n=65535&e),a=355*(o=65535&a),h=355*(w=65535&h),f=355*(D=65535&f),c=355*(y=65535&c),F=355*(M=65535&F),u=355*(l=65535&u),p=355*(H=65535&p),G=355*(U=65535&G),d=355*(m=65535&d),L=355*(J=65535&L),k=355*(N=65535&k),b=355*(R=65535&b),S=355*v,G+=(B^=A.charCodeAt(I++))<<8,d+=i<<8,L+=n<<8,k+=o<<8,b+=w<<8,B=65535&(Q=355*B),v=(S+=D<<8)+((b+=(k+=(L+=(d+=(G+=(p+=(u+=(F+=(c+=(f+=(h+=(a+=(e+=(t+=Q>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=355*(i=65535&t),e=355*(n=65535&e),a=355*(o=65535&a),h=355*(w=65535&h),f=355*(D=65535&f),c=355*(y=65535&c),F=355*(M=65535&F),u=355*(l=65535&u),p=355*(H=65535&p),G=355*(U=65535&G),d=355*(m=65535&d),L=355*(J=65535&L),k=355*(N=65535&k),b=355*(R=65535&b),S=355*v,G+=(B^=A.charCodeAt(I++))<<8,d+=i<<8,L+=n<<8,k+=o<<8,b+=w<<8,B=65535&(Q=355*B),v=(S+=D<<8)+((b+=(k+=(L+=(d+=(G+=(p+=(u+=(F+=(c+=(f+=(h+=(a+=(e+=(t+=Q>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=355*(i=65535&t),e=355*(n=65535&e),a=355*(o=65535&a),h=355*(w=65535&h),f=355*(D=65535&f),c=355*(y=65535&c),F=355*(M=65535&F),u=355*(l=65535&u),p=355*(H=65535&p),G=355*(U=65535&G),d=355*(m=65535&d),L=355*(J=65535&L),k=355*(N=65535&k),b=355*(R=65535&b),S=355*v,G+=(B^=A.charCodeAt(I++))<<8,d+=i<<8,L+=n<<8,k+=o<<8,b+=w<<8,S+=D<<8,B=65535&(Q=355*B),i=65535&(t+=Q>>>16),n=65535&(e+=t>>>16),o=65535&(a+=e>>>16),w=65535&(h+=a>>>16),D=65535&(f+=h>>>16),y=65535&(c+=f>>>16),M=65535&(F+=c>>>16),l=65535&(u+=F>>>16),H=65535&(p+=u>>>16),U=65535&(G+=p>>>16),m=65535&(d+=G>>>16),J=65535&(L+=d>>>16),N=65535&(k+=L>>>16),v=S+((b+=k>>>16)>>>16)&65535,R=65535&b,B^=A.charCodeAt(I++);for(;I>>16),n=65535&(e+=t>>>16),o=65535&(a+=e>>>16),w=65535&(h+=a>>>16),D=65535&(f+=h>>>16),y=65535&(c+=f>>>16),M=65535&(F+=c>>>16),l=65535&(u+=F>>>16),H=65535&(p+=u>>>16),U=65535&(G+=p>>>16),m=65535&(d+=G>>>16),J=65535&(L+=d>>>16),N=65535&(k+=L>>>16),v=S+((b+=k>>>16)>>>16)&65535,R=65535&b,B^=A.charCodeAt(I++);return s(E[v>>8]+E[255&v]+E[R>>8]+E[255&R]+E[N>>8]+E[255&N]+E[J>>8]+E[255&J]+E[m>>8]+E[255&m]+E[U>>8]+E[255&U]+E[H>>8]+E[255&H]+E[l>>8]+E[255&l]+E[M>>8]+E[255&M]+E[y>>8]+E[255&y]+E[D>>8]+E[255&D]+E[w>>8]+E[255&w]+E[o>>8]+E[255&o]+E[n>>8]+E[255&n]+E[i>>8]+E[255&i]+E[B>>8]+E[255&B],256)}function q(A){var I,g,C=A.length,Q=r[256].offset,B=0,t=0|Q[15],i=0,e=0|Q[14],n=0,a=0|Q[13],o=0,h=0|Q[12],w=0,f=0|Q[11],D=0,c=0|Q[10],y=0,F=0|Q[9],M=0,u=0|Q[8],l=0,p=0|Q[7],H=0,G=0|Q[6],U=0,d=0|Q[5],m=0,L=0|Q[4],J=0,k=0|Q[3],N=0,b=0|Q[2],R=0,S=0|Q[1],v=0,Y=0|Q[0];for(g=0;g>6|192)<<8,m+=e<<8,J+=a<<8,N+=h<<8,R+=f<<8,v+=c<<8,t=65535&(B=355*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),Y=v+((R+=N>>>16)>>>16)&65535,S=65535&R,t^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,m+=e<<8,J+=a<<8,N+=h<<8,R+=f<<8,t=65535&(B=355*t),Y=(v+=c<<8)+((R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=355*(e=65535&i),n=355*(a=65535&n),o=355*(h=65535&o),w=355*(f=65535&w),D=355*(c=65535&D),y=355*(F=65535&y),M=355*(u=65535&M),l=355*(p=65535&l),H=355*(G=65535&H),U=355*(d=65535&U),m=355*(L=65535&m),J=355*(k=65535&J),N=355*(b=65535&N),R=355*(S=65535&R),v=355*Y,U+=(t^=I>>12&63|128)<<8,m+=e<<8,J+=a<<8,N+=h<<8,R+=f<<8,t=65535&(B=355*t),Y=(v+=c<<8)+((R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=355*(e=65535&i),n=355*(a=65535&n),o=355*(h=65535&o),w=355*(f=65535&w),D=355*(c=65535&D),y=355*(F=65535&y),M=355*(u=65535&M),l=355*(p=65535&l),H=355*(G=65535&H),U=355*(d=65535&U),m=355*(L=65535&m),J=355*(k=65535&J),N=355*(b=65535&N),R=355*(S=65535&R),v=355*Y,U+=(t^=I>>6&63|128)<<8,m+=e<<8,J+=a<<8,N+=h<<8,R+=f<<8,v+=c<<8,t=65535&(B=355*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),Y=v+((R+=N>>>16)>>>16)&65535,S=65535&R,t^=63&I|128):(i=355*e,n=355*a,o=355*h,w=355*f,D=355*c,y=355*F,M=355*u,l=355*p,H=355*G,U=355*d,m=355*L,J=355*k,N=355*b,R=355*S,v=355*Y,U+=(t^=I>>12|224)<<8,m+=e<<8,J+=a<<8,N+=h<<8,R+=f<<8,t=65535&(B=355*t),Y=(v+=c<<8)+((R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=355*(e=65535&i),n=355*(a=65535&n),o=355*(h=65535&o),w=355*(f=65535&w),D=355*(c=65535&D),y=355*(F=65535&y),M=355*(u=65535&M),l=355*(p=65535&l),H=355*(G=65535&H),U=355*(d=65535&U),m=355*(L=65535&m),J=355*(k=65535&J),N=355*(b=65535&N),R=355*(S=65535&R),v=355*Y,U+=(t^=I>>6&63|128)<<8,m+=e<<8,J+=a<<8,N+=h<<8,R+=f<<8,v+=c<<8,t=65535&(B=355*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),Y=v+((R+=N>>>16)>>>16)&65535,S=65535&R,t^=63&I|128),i=355*e,n=355*a,o=355*h,w=355*f,D=355*c,y=355*F,M=355*u,l=355*p,H=355*G,U=355*d,m=355*L,J=355*k,N=355*b,R=355*S,v=355*Y,U+=t<<8,m+=e<<8,J+=a<<8,N+=h<<8,R+=f<<8,v+=c<<8,t=65535&(B=355*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),Y=v+((R+=N>>>16)>>>16)&65535,S=65535&R;return s(E[Y>>8]+E[255&Y]+E[S>>8]+E[255&S]+E[b>>8]+E[255&b]+E[k>>8]+E[255&k]+E[L>>8]+E[255&L]+E[d>>8]+E[255&d]+E[G>>8]+E[255&G]+E[p>>8]+E[255&p]+E[u>>8]+E[255&u]+E[F>>8]+E[255&F]+E[c>>8]+E[255&c]+E[f>>8]+E[255&f]+E[h>>8]+E[255&h]+E[a>>8]+E[255&a]+E[e>>8]+E[255&e]+E[t>>8]+E[255&t],256)}function x(A){var I,g,C=A.length,Q=r[256].offset,B=0,t=0|Q[15],i=0,e=0|Q[14],n=0,a=0|Q[13],o=0,h=0|Q[12],w=0,f=0|Q[11],D=0,c=0|Q[10],y=0,F=0|Q[9],M=0,u=0|Q[8],l=0,p=0|Q[7],H=0,G=0|Q[6],U=0,d=0|Q[5],m=0,L=0|Q[4],J=0,k=0|Q[3],N=0,b=0|Q[2],R=0,S=0|Q[1],v=0,Y=0|Q[0];for(g=0;g>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),Y=v+((R+=N>>>16)>>>16)&65535,S=65535&R,(I=A.charCodeAt(g))<128?t^=I:I<2048?(i=355*e,n=355*a,o=355*h,w=355*f,D=355*c,y=355*F,M=355*u,l=355*p,H=355*G,U=355*d,m=355*L,J=355*k,N=355*b,R=355*S,v=355*Y,U+=(t^=I>>6|192)<<8,m+=e<<8,J+=a<<8,N+=h<<8,R+=f<<8,v+=c<<8,t=65535&(B=355*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),Y=v+((R+=N>>>16)>>>16)&65535,S=65535&R,t^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,m+=e<<8,J+=a<<8,N+=h<<8,R+=f<<8,t=65535&(B=355*t),Y=(v+=c<<8)+((R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=355*(e=65535&i),n=355*(a=65535&n),o=355*(h=65535&o),w=355*(f=65535&w),D=355*(c=65535&D),y=355*(F=65535&y),M=355*(u=65535&M),l=355*(p=65535&l),H=355*(G=65535&H),U=355*(d=65535&U),m=355*(L=65535&m),J=355*(k=65535&J),N=355*(b=65535&N),R=355*(S=65535&R),v=355*Y,U+=(t^=I>>12&63|128)<<8,m+=e<<8,J+=a<<8,N+=h<<8,R+=f<<8,t=65535&(B=355*t),Y=(v+=c<<8)+((R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=355*(e=65535&i),n=355*(a=65535&n),o=355*(h=65535&o),w=355*(f=65535&w),D=355*(c=65535&D),y=355*(F=65535&y),M=355*(u=65535&M),l=355*(p=65535&l),H=355*(G=65535&H),U=355*(d=65535&U),m=355*(L=65535&m),J=355*(k=65535&J),N=355*(b=65535&N),R=355*(S=65535&R),v=355*Y,U+=(t^=I>>6&63|128)<<8,m+=e<<8,J+=a<<8,N+=h<<8,R+=f<<8,v+=c<<8,t=65535&(B=355*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),Y=v+((R+=N>>>16)>>>16)&65535,S=65535&R,t^=63&I|128):(i=355*e,n=355*a,o=355*h,w=355*f,D=355*c,y=355*F,M=355*u,l=355*p,H=355*G,U=355*d,m=355*L,J=355*k,N=355*b,R=355*S,v=355*Y,U+=(t^=I>>12|224)<<8,m+=e<<8,J+=a<<8,N+=h<<8,R+=f<<8,t=65535&(B=355*t),Y=(v+=c<<8)+((R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=355*(e=65535&i),n=355*(a=65535&n),o=355*(h=65535&o),w=355*(f=65535&w),D=355*(c=65535&D),y=355*(F=65535&y),M=355*(u=65535&M),l=355*(p=65535&l),H=355*(G=65535&H),U=355*(d=65535&U),m=355*(L=65535&m),J=355*(k=65535&J),N=355*(b=65535&N),R=355*(S=65535&R),v=355*Y,U+=(t^=I>>6&63|128)<<8,m+=e<<8,J+=a<<8,N+=h<<8,R+=f<<8,v+=c<<8,t=65535&(B=355*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),Y=v+((R+=N>>>16)>>>16)&65535,S=65535&R,t^=63&I|128);return s(E[Y>>8]+E[255&Y]+E[S>>8]+E[255&S]+E[b>>8]+E[255&b]+E[k>>8]+E[255&k]+E[L>>8]+E[255&L]+E[d>>8]+E[255&d]+E[G>>8]+E[255&G]+E[p>>8]+E[255&p]+E[u>>8]+E[255&u]+E[F>>8]+E[255&F]+E[c>>8]+E[255&c]+E[f>>8]+E[255&f]+E[h>>8]+E[255&h]+E[a>>8]+E[255&a]+E[e>>8]+E[255&e]+E[t>>8]+E[255&t],256)}function X(A){var I,g=A.length-3,C=r[512].offset,Q=0,B=0|C[31],t=0,i=0|C[30],e=0,n=0|C[29],a=0,o=0|C[28],h=0,w=0|C[27],f=0,D=0|C[26],c=0,y=0|C[25],F=0,M=0|C[24],u=0,l=0|C[23],p=0,H=0|C[22],G=0,U=0|C[21],d=0,m=0|C[20],L=0,J=0|C[19],k=0,N=0|C[18],b=0,R=0|C[17],S=0,v=0|C[16],Y=0,P=0|C[15],q=0,x=0|C[14],X=0,Z=0|C[13],V=0,K=0|C[12],W=0,O=0|C[11],j=0,z=0|C[10],T=0,_=0|C[9],$=0,AA=0|C[8],IA=0,gA=0|C[7],CA=0,QA=0|C[6],BA=0,tA=0|C[5],iA=0,EA=0|C[4],eA=0,nA=0|C[3],aA=0,oA=0|C[2],hA=0,rA=0|C[1],wA=0,sA=0|C[0];for(I=0;I>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=343*(i=65535&t),e=343*(n=65535&e),a=343*(o=65535&a),h=343*(w=65535&h),f=343*(D=65535&f),c=343*(y=65535&c),F=343*(M=65535&F),u=343*(l=65535&u),p=343*(H=65535&p),G=343*(U=65535&G),d=343*(m=65535&d),L=343*(J=65535&L),k=343*(N=65535&k),b=343*(R=65535&b),S=343*(v=65535&S),Y=343*(P=65535&Y),q=343*(x=65535&q),X=343*(Z=65535&X),V=343*(K=65535&V),W=343*(O=65535&W),j=343*(z=65535&j),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(gA=65535&IA),CA=343*(QA=65535&CA),BA=343*(tA=65535&BA),iA=343*(EA=65535&iA),eA=343*(nA=65535&eA),aA=343*(oA=65535&aA),hA=343*(rA=65535&hA),wA=343*sA,j+=(B^=A.charCodeAt(I++))<<8,T+=i<<8,$+=n<<8,IA+=o<<8,CA+=w<<8,BA+=D<<8,iA+=y<<8,eA+=M<<8,aA+=l<<8,hA+=H<<8,B=65535&(Q=343*B),sA=(wA+=U<<8)+((hA+=(aA+=(eA+=(iA+=(BA+=(CA+=(IA+=($+=(T+=(j+=(W+=(V+=(X+=(q+=(Y+=(S+=(b+=(k+=(L+=(d+=(G+=(p+=(u+=(F+=(c+=(f+=(h+=(a+=(e+=(t+=Q>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=343*(i=65535&t),e=343*(n=65535&e),a=343*(o=65535&a),h=343*(w=65535&h),f=343*(D=65535&f),c=343*(y=65535&c),F=343*(M=65535&F),u=343*(l=65535&u),p=343*(H=65535&p),G=343*(U=65535&G),d=343*(m=65535&d),L=343*(J=65535&L),k=343*(N=65535&k),b=343*(R=65535&b),S=343*(v=65535&S),Y=343*(P=65535&Y),q=343*(x=65535&q),X=343*(Z=65535&X),V=343*(K=65535&V),W=343*(O=65535&W),j=343*(z=65535&j),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(gA=65535&IA),CA=343*(QA=65535&CA),BA=343*(tA=65535&BA),iA=343*(EA=65535&iA),eA=343*(nA=65535&eA),aA=343*(oA=65535&aA),hA=343*(rA=65535&hA),wA=343*sA,j+=(B^=A.charCodeAt(I++))<<8,T+=i<<8,$+=n<<8,IA+=o<<8,CA+=w<<8,BA+=D<<8,iA+=y<<8,eA+=M<<8,aA+=l<<8,hA+=H<<8,B=65535&(Q=343*B),sA=(wA+=U<<8)+((hA+=(aA+=(eA+=(iA+=(BA+=(CA+=(IA+=($+=(T+=(j+=(W+=(V+=(X+=(q+=(Y+=(S+=(b+=(k+=(L+=(d+=(G+=(p+=(u+=(F+=(c+=(f+=(h+=(a+=(e+=(t+=Q>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=343*(i=65535&t),e=343*(n=65535&e),a=343*(o=65535&a),h=343*(w=65535&h),f=343*(D=65535&f),c=343*(y=65535&c),F=343*(M=65535&F),u=343*(l=65535&u),p=343*(H=65535&p),G=343*(U=65535&G),d=343*(m=65535&d),L=343*(J=65535&L),k=343*(N=65535&k),b=343*(R=65535&b),S=343*(v=65535&S),Y=343*(P=65535&Y),q=343*(x=65535&q),X=343*(Z=65535&X),V=343*(K=65535&V),W=343*(O=65535&W),j=343*(z=65535&j),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(gA=65535&IA),CA=343*(QA=65535&CA),BA=343*(tA=65535&BA),iA=343*(EA=65535&iA),eA=343*(nA=65535&eA),aA=343*(oA=65535&aA),hA=343*(rA=65535&hA),wA=343*sA,j+=(B^=A.charCodeAt(I++))<<8,T+=i<<8,$+=n<<8,IA+=o<<8,CA+=w<<8,BA+=D<<8,iA+=y<<8,eA+=M<<8,aA+=l<<8,hA+=H<<8,wA+=U<<8,B=65535&(Q=343*B),i=65535&(t+=Q>>>16),n=65535&(e+=t>>>16),o=65535&(a+=e>>>16),w=65535&(h+=a>>>16),D=65535&(f+=h>>>16),y=65535&(c+=f>>>16),M=65535&(F+=c>>>16),l=65535&(u+=F>>>16),H=65535&(p+=u>>>16),U=65535&(G+=p>>>16),m=65535&(d+=G>>>16),J=65535&(L+=d>>>16),N=65535&(k+=L>>>16),R=65535&(b+=k>>>16),v=65535&(S+=b>>>16),P=65535&(Y+=S>>>16),x=65535&(q+=Y>>>16),Z=65535&(X+=q>>>16),K=65535&(V+=X>>>16),O=65535&(W+=V>>>16),z=65535&(j+=W>>>16),_=65535&(T+=j>>>16),AA=65535&($+=T>>>16),gA=65535&(IA+=$>>>16),QA=65535&(CA+=IA>>>16),tA=65535&(BA+=CA>>>16),EA=65535&(iA+=BA>>>16),nA=65535&(eA+=iA>>>16),oA=65535&(aA+=eA>>>16),sA=wA+((hA+=aA>>>16)>>>16)&65535,rA=65535&hA;for(;I>>16),n=65535&(e+=t>>>16),o=65535&(a+=e>>>16),w=65535&(h+=a>>>16),D=65535&(f+=h>>>16),y=65535&(c+=f>>>16),M=65535&(F+=c>>>16),l=65535&(u+=F>>>16),H=65535&(p+=u>>>16),U=65535&(G+=p>>>16),m=65535&(d+=G>>>16),J=65535&(L+=d>>>16),N=65535&(k+=L>>>16),R=65535&(b+=k>>>16),v=65535&(S+=b>>>16),P=65535&(Y+=S>>>16),x=65535&(q+=Y>>>16),Z=65535&(X+=q>>>16),K=65535&(V+=X>>>16),O=65535&(W+=V>>>16),z=65535&(j+=W>>>16),_=65535&(T+=j>>>16),AA=65535&($+=T>>>16),gA=65535&(IA+=$>>>16),QA=65535&(CA+=IA>>>16),tA=65535&(BA+=CA>>>16),EA=65535&(iA+=BA>>>16),nA=65535&(eA+=iA>>>16),oA=65535&(aA+=eA>>>16),sA=wA+((hA+=aA>>>16)>>>16)&65535,rA=65535&hA;return s(E[sA>>8]+E[255&sA]+E[rA>>8]+E[255&rA]+E[oA>>8]+E[255&oA]+E[nA>>8]+E[255&nA]+E[EA>>8]+E[255&EA]+E[tA>>8]+E[255&tA]+E[QA>>8]+E[255&QA]+E[gA>>8]+E[255&gA]+E[AA>>8]+E[255&AA]+E[_>>8]+E[255&_]+E[z>>8]+E[255&z]+E[O>>8]+E[255&O]+E[K>>8]+E[255&K]+E[Z>>8]+E[255&Z]+E[x>>8]+E[255&x]+E[P>>8]+E[255&P]+E[v>>8]+E[255&v]+E[R>>8]+E[255&R]+E[N>>8]+E[255&N]+E[J>>8]+E[255&J]+E[m>>8]+E[255&m]+E[U>>8]+E[255&U]+E[H>>8]+E[255&H]+E[l>>8]+E[255&l]+E[M>>8]+E[255&M]+E[y>>8]+E[255&y]+E[D>>8]+E[255&D]+E[w>>8]+E[255&w]+E[o>>8]+E[255&o]+E[n>>8]+E[255&n]+E[i>>8]+E[255&i]+E[B>>8]+E[255&B],512)}function Z(A){var I,g=A.length-3,C=r[512].offset,Q=0,B=0|C[31],t=0,i=0|C[30],e=0,n=0|C[29],a=0,o=0|C[28],h=0,w=0|C[27],f=0,D=0|C[26],c=0,y=0|C[25],F=0,M=0|C[24],u=0,l=0|C[23],p=0,H=0|C[22],G=0,U=0|C[21],d=0,m=0|C[20],L=0,J=0|C[19],k=0,N=0|C[18],b=0,R=0|C[17],S=0,v=0|C[16],Y=0,P=0|C[15],q=0,x=0|C[14],X=0,Z=0|C[13],V=0,K=0|C[12],W=0,O=0|C[11],j=0,z=0|C[10],T=0,_=0|C[9],$=0,AA=0|C[8],IA=0,gA=0|C[7],CA=0,QA=0|C[6],BA=0,tA=0|C[5],iA=0,EA=0|C[4],eA=0,nA=0|C[3],aA=0,oA=0|C[2],hA=0,rA=0|C[1],wA=0,sA=0|C[0];for(I=0;I>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=343*(i=65535&t),e=343*(n=65535&e),a=343*(o=65535&a),h=343*(w=65535&h),f=343*(D=65535&f),c=343*(y=65535&c),F=343*(M=65535&F),u=343*(l=65535&u),p=343*(H=65535&p),G=343*(U=65535&G),d=343*(m=65535&d),L=343*(J=65535&L),k=343*(N=65535&k),b=343*(R=65535&b),S=343*(v=65535&S),Y=343*(P=65535&Y),q=343*(x=65535&q),X=343*(Z=65535&X),V=343*(K=65535&V),W=343*(O=65535&W),j=343*(z=65535&j),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(gA=65535&IA),CA=343*(QA=65535&CA),BA=343*(tA=65535&BA),iA=343*(EA=65535&iA),eA=343*(nA=65535&eA),aA=343*(oA=65535&aA),hA=343*(rA=65535&hA),wA=343*sA,j+=(B^=A.charCodeAt(I++))<<8,T+=i<<8,$+=n<<8,IA+=o<<8,CA+=w<<8,BA+=D<<8,iA+=y<<8,eA+=M<<8,aA+=l<<8,hA+=H<<8,B=65535&(Q=343*B),sA=(wA+=U<<8)+((hA+=(aA+=(eA+=(iA+=(BA+=(CA+=(IA+=($+=(T+=(j+=(W+=(V+=(X+=(q+=(Y+=(S+=(b+=(k+=(L+=(d+=(G+=(p+=(u+=(F+=(c+=(f+=(h+=(a+=(e+=(t+=Q>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=343*(i=65535&t),e=343*(n=65535&e),a=343*(o=65535&a),h=343*(w=65535&h),f=343*(D=65535&f),c=343*(y=65535&c),F=343*(M=65535&F),u=343*(l=65535&u),p=343*(H=65535&p),G=343*(U=65535&G),d=343*(m=65535&d),L=343*(J=65535&L),k=343*(N=65535&k),b=343*(R=65535&b),S=343*(v=65535&S),Y=343*(P=65535&Y),q=343*(x=65535&q),X=343*(Z=65535&X),V=343*(K=65535&V),W=343*(O=65535&W),j=343*(z=65535&j),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(gA=65535&IA),CA=343*(QA=65535&CA),BA=343*(tA=65535&BA),iA=343*(EA=65535&iA),eA=343*(nA=65535&eA),aA=343*(oA=65535&aA),hA=343*(rA=65535&hA),wA=343*sA,j+=(B^=A.charCodeAt(I++))<<8,T+=i<<8,$+=n<<8,IA+=o<<8,CA+=w<<8,BA+=D<<8,iA+=y<<8,eA+=M<<8,aA+=l<<8,hA+=H<<8,B=65535&(Q=343*B),sA=(wA+=U<<8)+((hA+=(aA+=(eA+=(iA+=(BA+=(CA+=(IA+=($+=(T+=(j+=(W+=(V+=(X+=(q+=(Y+=(S+=(b+=(k+=(L+=(d+=(G+=(p+=(u+=(F+=(c+=(f+=(h+=(a+=(e+=(t+=Q>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=343*(i=65535&t),e=343*(n=65535&e),a=343*(o=65535&a),h=343*(w=65535&h),f=343*(D=65535&f),c=343*(y=65535&c),F=343*(M=65535&F),u=343*(l=65535&u),p=343*(H=65535&p),G=343*(U=65535&G),d=343*(m=65535&d),L=343*(J=65535&L),k=343*(N=65535&k),b=343*(R=65535&b),S=343*(v=65535&S),Y=343*(P=65535&Y),q=343*(x=65535&q),X=343*(Z=65535&X),V=343*(K=65535&V),W=343*(O=65535&W),j=343*(z=65535&j),T=343*(_=65535&T),$=343*(AA=65535&$),IA=343*(gA=65535&IA),CA=343*(QA=65535&CA),BA=343*(tA=65535&BA),iA=343*(EA=65535&iA),eA=343*(nA=65535&eA),aA=343*(oA=65535&aA),hA=343*(rA=65535&hA),wA=343*sA,j+=(B^=A.charCodeAt(I++))<<8,T+=i<<8,$+=n<<8,IA+=o<<8,CA+=w<<8,BA+=D<<8,iA+=y<<8,eA+=M<<8,aA+=l<<8,hA+=H<<8,wA+=U<<8,B=65535&(Q=343*B),i=65535&(t+=Q>>>16),n=65535&(e+=t>>>16),o=65535&(a+=e>>>16),w=65535&(h+=a>>>16),D=65535&(f+=h>>>16),y=65535&(c+=f>>>16),M=65535&(F+=c>>>16),l=65535&(u+=F>>>16),H=65535&(p+=u>>>16),U=65535&(G+=p>>>16),m=65535&(d+=G>>>16),J=65535&(L+=d>>>16),N=65535&(k+=L>>>16),R=65535&(b+=k>>>16),v=65535&(S+=b>>>16),P=65535&(Y+=S>>>16),x=65535&(q+=Y>>>16),Z=65535&(X+=q>>>16),K=65535&(V+=X>>>16),O=65535&(W+=V>>>16),z=65535&(j+=W>>>16),_=65535&(T+=j>>>16),AA=65535&($+=T>>>16),gA=65535&(IA+=$>>>16),QA=65535&(CA+=IA>>>16),tA=65535&(BA+=CA>>>16),EA=65535&(iA+=BA>>>16),nA=65535&(eA+=iA>>>16),oA=65535&(aA+=eA>>>16),sA=wA+((hA+=aA>>>16)>>>16)&65535,rA=65535&hA,B^=A.charCodeAt(I++);for(;I>>16),n=65535&(e+=t>>>16),o=65535&(a+=e>>>16),w=65535&(h+=a>>>16),D=65535&(f+=h>>>16),y=65535&(c+=f>>>16),M=65535&(F+=c>>>16),l=65535&(u+=F>>>16),H=65535&(p+=u>>>16),U=65535&(G+=p>>>16),m=65535&(d+=G>>>16),J=65535&(L+=d>>>16),N=65535&(k+=L>>>16),R=65535&(b+=k>>>16),v=65535&(S+=b>>>16),P=65535&(Y+=S>>>16),x=65535&(q+=Y>>>16),Z=65535&(X+=q>>>16),K=65535&(V+=X>>>16),O=65535&(W+=V>>>16),z=65535&(j+=W>>>16),_=65535&(T+=j>>>16),AA=65535&($+=T>>>16),gA=65535&(IA+=$>>>16),QA=65535&(CA+=IA>>>16),tA=65535&(BA+=CA>>>16),EA=65535&(iA+=BA>>>16),nA=65535&(eA+=iA>>>16),oA=65535&(aA+=eA>>>16),sA=wA+((hA+=aA>>>16)>>>16)&65535,rA=65535&hA,B^=A.charCodeAt(I++);return s(E[sA>>8]+E[255&sA]+E[rA>>8]+E[255&rA]+E[oA>>8]+E[255&oA]+E[nA>>8]+E[255&nA]+E[EA>>8]+E[255&EA]+E[tA>>8]+E[255&tA]+E[QA>>8]+E[255&QA]+E[gA>>8]+E[255&gA]+E[AA>>8]+E[255&AA]+E[_>>8]+E[255&_]+E[z>>8]+E[255&z]+E[O>>8]+E[255&O]+E[K>>8]+E[255&K]+E[Z>>8]+E[255&Z]+E[x>>8]+E[255&x]+E[P>>8]+E[255&P]+E[v>>8]+E[255&v]+E[R>>8]+E[255&R]+E[N>>8]+E[255&N]+E[J>>8]+E[255&J]+E[m>>8]+E[255&m]+E[U>>8]+E[255&U]+E[H>>8]+E[255&H]+E[l>>8]+E[255&l]+E[M>>8]+E[255&M]+E[y>>8]+E[255&y]+E[D>>8]+E[255&D]+E[w>>8]+E[255&w]+E[o>>8]+E[255&o]+E[n>>8]+E[255&n]+E[i>>8]+E[255&i]+E[B>>8]+E[255&B],512)}function V(A){var I,g,C=A.length,Q=r[512].offset,B=0,t=0|Q[31],i=0,e=0|Q[30],n=0,a=0|Q[29],o=0,h=0|Q[28],w=0,f=0|Q[27],D=0,c=0|Q[26],y=0,F=0|Q[25],M=0,u=0|Q[24],l=0,p=0|Q[23],H=0,G=0|Q[22],U=0,d=0|Q[21],m=0,L=0|Q[20],J=0,k=0|Q[19],N=0,b=0|Q[18],R=0,S=0|Q[17],v=0,Y=0|Q[16],P=0,q=0|Q[15],x=0,X=0|Q[14],Z=0,V=0|Q[13],K=0,W=0|Q[12],O=0,j=0|Q[11],z=0,T=0|Q[10],_=0,$=0|Q[9],AA=0,IA=0|Q[8],gA=0,CA=0|Q[7],QA=0,BA=0|Q[6],tA=0,iA=0|Q[5],EA=0,eA=0|Q[4],nA=0,aA=0|Q[3],oA=0,hA=0|Q[2],rA=0,wA=0|Q[1],sA=0,fA=0|Q[0];for(g=0;g>6|192)<<8,_+=e<<8,AA+=a<<8,gA+=h<<8,QA+=f<<8,tA+=c<<8,EA+=F<<8,nA+=u<<8,oA+=p<<8,rA+=G<<8,sA+=d<<8,t=65535&(B=343*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),S=65535&(R+=N>>>16),Y=65535&(v+=R>>>16),q=65535&(P+=v>>>16),X=65535&(x+=P>>>16),V=65535&(Z+=x>>>16),W=65535&(K+=Z>>>16),j=65535&(O+=K>>>16),T=65535&(z+=O>>>16),$=65535&(_+=z>>>16),IA=65535&(AA+=_>>>16),CA=65535&(gA+=AA>>>16),BA=65535&(QA+=gA>>>16),iA=65535&(tA+=QA>>>16),eA=65535&(EA+=tA>>>16),aA=65535&(nA+=EA>>>16),hA=65535&(oA+=nA>>>16),fA=sA+((rA+=oA>>>16)>>>16)&65535,wA=65535&rA,t^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,_+=e<<8,AA+=a<<8,gA+=h<<8,QA+=f<<8,tA+=c<<8,EA+=F<<8,nA+=u<<8,oA+=p<<8,rA+=G<<8,t=65535&(B=343*t),fA=(sA+=d<<8)+((rA+=(oA+=(nA+=(EA+=(tA+=(QA+=(gA+=(AA+=(_+=(z+=(O+=(K+=(Z+=(x+=(P+=(v+=(R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=343*(e=65535&i),n=343*(a=65535&n),o=343*(h=65535&o),w=343*(f=65535&w),D=343*(c=65535&D),y=343*(F=65535&y),M=343*(u=65535&M),l=343*(p=65535&l),H=343*(G=65535&H),U=343*(d=65535&U),m=343*(L=65535&m),J=343*(k=65535&J),N=343*(b=65535&N),R=343*(S=65535&R),v=343*(Y=65535&v),P=343*(q=65535&P),x=343*(X=65535&x),Z=343*(V=65535&Z),K=343*(W=65535&K),O=343*(j=65535&O),z=343*(T=65535&z),_=343*($=65535&_),AA=343*(IA=65535&AA),gA=343*(CA=65535&gA),QA=343*(BA=65535&QA),tA=343*(iA=65535&tA),EA=343*(eA=65535&EA),nA=343*(aA=65535&nA),oA=343*(hA=65535&oA),rA=343*(wA=65535&rA),sA=343*fA,z+=(t^=I>>12&63|128)<<8,_+=e<<8,AA+=a<<8,gA+=h<<8,QA+=f<<8,tA+=c<<8,EA+=F<<8,nA+=u<<8,oA+=p<<8,rA+=G<<8,t=65535&(B=343*t),fA=(sA+=d<<8)+((rA+=(oA+=(nA+=(EA+=(tA+=(QA+=(gA+=(AA+=(_+=(z+=(O+=(K+=(Z+=(x+=(P+=(v+=(R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=343*(e=65535&i),n=343*(a=65535&n),o=343*(h=65535&o),w=343*(f=65535&w),D=343*(c=65535&D),y=343*(F=65535&y),M=343*(u=65535&M),l=343*(p=65535&l),H=343*(G=65535&H),U=343*(d=65535&U),m=343*(L=65535&m),J=343*(k=65535&J),N=343*(b=65535&N),R=343*(S=65535&R),v=343*(Y=65535&v),P=343*(q=65535&P),x=343*(X=65535&x),Z=343*(V=65535&Z),K=343*(W=65535&K),O=343*(j=65535&O),z=343*(T=65535&z),_=343*($=65535&_),AA=343*(IA=65535&AA),gA=343*(CA=65535&gA),QA=343*(BA=65535&QA),tA=343*(iA=65535&tA),EA=343*(eA=65535&EA),nA=343*(aA=65535&nA),oA=343*(hA=65535&oA),rA=343*(wA=65535&rA),sA=343*fA,z+=(t^=I>>6&63|128)<<8,_+=e<<8,AA+=a<<8,gA+=h<<8,QA+=f<<8,tA+=c<<8,EA+=F<<8,nA+=u<<8,oA+=p<<8,rA+=G<<8,sA+=d<<8,t=65535&(B=343*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),S=65535&(R+=N>>>16),Y=65535&(v+=R>>>16),q=65535&(P+=v>>>16),X=65535&(x+=P>>>16),V=65535&(Z+=x>>>16),W=65535&(K+=Z>>>16),j=65535&(O+=K>>>16),T=65535&(z+=O>>>16),$=65535&(_+=z>>>16),IA=65535&(AA+=_>>>16),CA=65535&(gA+=AA>>>16),BA=65535&(QA+=gA>>>16),iA=65535&(tA+=QA>>>16),eA=65535&(EA+=tA>>>16),aA=65535&(nA+=EA>>>16),hA=65535&(oA+=nA>>>16),fA=sA+((rA+=oA>>>16)>>>16)&65535,wA=65535&rA,t^=63&I|128):(i=343*e,n=343*a,o=343*h,w=343*f,D=343*c,y=343*F,M=343*u,l=343*p,H=343*G,U=343*d,m=343*L,J=343*k,N=343*b,R=343*S,v=343*Y,P=343*q,x=343*X,Z=343*V,K=343*W,O=343*j,z=343*T,_=343*$,AA=343*IA,gA=343*CA,QA=343*BA,tA=343*iA,EA=343*eA,nA=343*aA,oA=343*hA,rA=343*wA,sA=343*fA,z+=(t^=I>>12|224)<<8,_+=e<<8,AA+=a<<8,gA+=h<<8,QA+=f<<8,tA+=c<<8,EA+=F<<8,nA+=u<<8,oA+=p<<8,rA+=G<<8,t=65535&(B=343*t),fA=(sA+=d<<8)+((rA+=(oA+=(nA+=(EA+=(tA+=(QA+=(gA+=(AA+=(_+=(z+=(O+=(K+=(Z+=(x+=(P+=(v+=(R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=343*(e=65535&i),n=343*(a=65535&n),o=343*(h=65535&o),w=343*(f=65535&w),D=343*(c=65535&D),y=343*(F=65535&y),M=343*(u=65535&M),l=343*(p=65535&l),H=343*(G=65535&H),U=343*(d=65535&U),m=343*(L=65535&m),J=343*(k=65535&J),N=343*(b=65535&N),R=343*(S=65535&R),v=343*(Y=65535&v),P=343*(q=65535&P),x=343*(X=65535&x),Z=343*(V=65535&Z),K=343*(W=65535&K),O=343*(j=65535&O),z=343*(T=65535&z),_=343*($=65535&_),AA=343*(IA=65535&AA),gA=343*(CA=65535&gA),QA=343*(BA=65535&QA),tA=343*(iA=65535&tA),EA=343*(eA=65535&EA),nA=343*(aA=65535&nA),oA=343*(hA=65535&oA),rA=343*(wA=65535&rA),sA=343*fA,z+=(t^=I>>6&63|128)<<8,_+=e<<8,AA+=a<<8,gA+=h<<8,QA+=f<<8,tA+=c<<8,EA+=F<<8,nA+=u<<8,oA+=p<<8,rA+=G<<8,sA+=d<<8,t=65535&(B=343*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),S=65535&(R+=N>>>16),Y=65535&(v+=R>>>16),q=65535&(P+=v>>>16),X=65535&(x+=P>>>16),V=65535&(Z+=x>>>16),W=65535&(K+=Z>>>16),j=65535&(O+=K>>>16),T=65535&(z+=O>>>16),$=65535&(_+=z>>>16),IA=65535&(AA+=_>>>16),CA=65535&(gA+=AA>>>16),BA=65535&(QA+=gA>>>16),iA=65535&(tA+=QA>>>16),eA=65535&(EA+=tA>>>16),aA=65535&(nA+=EA>>>16),hA=65535&(oA+=nA>>>16),fA=sA+((rA+=oA>>>16)>>>16)&65535,wA=65535&rA,t^=63&I|128),i=343*e,n=343*a,o=343*h,w=343*f,D=343*c,y=343*F,M=343*u,l=343*p,H=343*G,U=343*d,m=343*L,J=343*k,N=343*b,R=343*S,v=343*Y,P=343*q,x=343*X,Z=343*V,K=343*W,O=343*j,z=343*T,_=343*$,AA=343*IA,gA=343*CA,QA=343*BA,tA=343*iA,EA=343*eA,nA=343*aA,oA=343*hA,rA=343*wA,sA=343*fA,z+=t<<8,_+=e<<8,AA+=a<<8,gA+=h<<8,QA+=f<<8,tA+=c<<8,EA+=F<<8,nA+=u<<8,oA+=p<<8,rA+=G<<8,sA+=d<<8,t=65535&(B=343*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),S=65535&(R+=N>>>16),Y=65535&(v+=R>>>16),q=65535&(P+=v>>>16),X=65535&(x+=P>>>16),V=65535&(Z+=x>>>16),W=65535&(K+=Z>>>16),j=65535&(O+=K>>>16),T=65535&(z+=O>>>16),$=65535&(_+=z>>>16),IA=65535&(AA+=_>>>16),CA=65535&(gA+=AA>>>16),BA=65535&(QA+=gA>>>16),iA=65535&(tA+=QA>>>16),eA=65535&(EA+=tA>>>16),aA=65535&(nA+=EA>>>16),hA=65535&(oA+=nA>>>16),fA=sA+((rA+=oA>>>16)>>>16)&65535,wA=65535&rA;return s(E[fA>>8]+E[255&fA]+E[wA>>8]+E[255&wA]+E[hA>>8]+E[255&hA]+E[aA>>8]+E[255&aA]+E[eA>>8]+E[255&eA]+E[iA>>8]+E[255&iA]+E[BA>>8]+E[255&BA]+E[CA>>8]+E[255&CA]+E[IA>>8]+E[255&IA]+E[$>>8]+E[255&$]+E[T>>8]+E[255&T]+E[j>>8]+E[255&j]+E[W>>8]+E[255&W]+E[V>>8]+E[255&V]+E[X>>8]+E[255&X]+E[q>>8]+E[255&q]+E[Y>>8]+E[255&Y]+E[S>>8]+E[255&S]+E[b>>8]+E[255&b]+E[k>>8]+E[255&k]+E[L>>8]+E[255&L]+E[d>>8]+E[255&d]+E[G>>8]+E[255&G]+E[p>>8]+E[255&p]+E[u>>8]+E[255&u]+E[F>>8]+E[255&F]+E[c>>8]+E[255&c]+E[f>>8]+E[255&f]+E[h>>8]+E[255&h]+E[a>>8]+E[255&a]+E[e>>8]+E[255&e]+E[t>>8]+E[255&t],512)}function K(A){var I,g,C=A.length,Q=r[512].offset,B=0,t=0|Q[31],i=0,e=0|Q[30],n=0,a=0|Q[29],o=0,h=0|Q[28],w=0,f=0|Q[27],D=0,c=0|Q[26],y=0,F=0|Q[25],M=0,u=0|Q[24],l=0,p=0|Q[23],H=0,G=0|Q[22],U=0,d=0|Q[21],m=0,L=0|Q[20],J=0,k=0|Q[19],N=0,b=0|Q[18],R=0,S=0|Q[17],v=0,Y=0|Q[16],P=0,q=0|Q[15],x=0,X=0|Q[14],Z=0,V=0|Q[13],K=0,W=0|Q[12],O=0,j=0|Q[11],z=0,T=0|Q[10],_=0,$=0|Q[9],AA=0,IA=0|Q[8],gA=0,CA=0|Q[7],QA=0,BA=0|Q[6],tA=0,iA=0|Q[5],EA=0,eA=0|Q[4],nA=0,aA=0|Q[3],oA=0,hA=0|Q[2],rA=0,wA=0|Q[1],sA=0,fA=0|Q[0];for(g=0;g>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),S=65535&(R+=N>>>16),Y=65535&(v+=R>>>16),q=65535&(P+=v>>>16),X=65535&(x+=P>>>16),V=65535&(Z+=x>>>16),W=65535&(K+=Z>>>16),j=65535&(O+=K>>>16),T=65535&(z+=O>>>16),$=65535&(_+=z>>>16),IA=65535&(AA+=_>>>16),CA=65535&(gA+=AA>>>16),BA=65535&(QA+=gA>>>16),iA=65535&(tA+=QA>>>16),eA=65535&(EA+=tA>>>16),aA=65535&(nA+=EA>>>16),hA=65535&(oA+=nA>>>16),fA=sA+((rA+=oA>>>16)>>>16)&65535,wA=65535&rA,(I=A.charCodeAt(g))<128?t^=I:I<2048?(i=343*e,n=343*a,o=343*h,w=343*f,D=343*c,y=343*F,M=343*u,l=343*p,H=343*G,U=343*d,m=343*L,J=343*k,N=343*b,R=343*S,v=343*Y,P=343*q,x=343*X,Z=343*V,K=343*W,O=343*j,z=343*T,_=343*$,AA=343*IA,gA=343*CA,QA=343*BA,tA=343*iA,EA=343*eA,nA=343*aA,oA=343*hA,rA=343*wA,sA=343*fA,z+=(t^=I>>6|192)<<8,_+=e<<8,AA+=a<<8,gA+=h<<8,QA+=f<<8,tA+=c<<8,EA+=F<<8,nA+=u<<8,oA+=p<<8,rA+=G<<8,sA+=d<<8,t=65535&(B=343*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),S=65535&(R+=N>>>16),Y=65535&(v+=R>>>16),q=65535&(P+=v>>>16),X=65535&(x+=P>>>16),V=65535&(Z+=x>>>16),W=65535&(K+=Z>>>16),j=65535&(O+=K>>>16),T=65535&(z+=O>>>16),$=65535&(_+=z>>>16),IA=65535&(AA+=_>>>16),CA=65535&(gA+=AA>>>16),BA=65535&(QA+=gA>>>16),iA=65535&(tA+=QA>>>16),eA=65535&(EA+=tA>>>16),aA=65535&(nA+=EA>>>16),hA=65535&(oA+=nA>>>16),fA=sA+((rA+=oA>>>16)>>>16)&65535,wA=65535&rA,t^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,_+=e<<8,AA+=a<<8,gA+=h<<8,QA+=f<<8,tA+=c<<8,EA+=F<<8,nA+=u<<8,oA+=p<<8,rA+=G<<8,t=65535&(B=343*t),fA=(sA+=d<<8)+((rA+=(oA+=(nA+=(EA+=(tA+=(QA+=(gA+=(AA+=(_+=(z+=(O+=(K+=(Z+=(x+=(P+=(v+=(R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=343*(e=65535&i),n=343*(a=65535&n),o=343*(h=65535&o),w=343*(f=65535&w),D=343*(c=65535&D),y=343*(F=65535&y),M=343*(u=65535&M),l=343*(p=65535&l),H=343*(G=65535&H),U=343*(d=65535&U),m=343*(L=65535&m),J=343*(k=65535&J),N=343*(b=65535&N),R=343*(S=65535&R),v=343*(Y=65535&v),P=343*(q=65535&P),x=343*(X=65535&x),Z=343*(V=65535&Z),K=343*(W=65535&K),O=343*(j=65535&O),z=343*(T=65535&z),_=343*($=65535&_),AA=343*(IA=65535&AA),gA=343*(CA=65535&gA),QA=343*(BA=65535&QA),tA=343*(iA=65535&tA),EA=343*(eA=65535&EA),nA=343*(aA=65535&nA),oA=343*(hA=65535&oA),rA=343*(wA=65535&rA),sA=343*fA,z+=(t^=I>>12&63|128)<<8,_+=e<<8,AA+=a<<8,gA+=h<<8,QA+=f<<8,tA+=c<<8,EA+=F<<8,nA+=u<<8,oA+=p<<8,rA+=G<<8,t=65535&(B=343*t),fA=(sA+=d<<8)+((rA+=(oA+=(nA+=(EA+=(tA+=(QA+=(gA+=(AA+=(_+=(z+=(O+=(K+=(Z+=(x+=(P+=(v+=(R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=343*(e=65535&i),n=343*(a=65535&n),o=343*(h=65535&o),w=343*(f=65535&w),D=343*(c=65535&D),y=343*(F=65535&y),M=343*(u=65535&M),l=343*(p=65535&l),H=343*(G=65535&H),U=343*(d=65535&U),m=343*(L=65535&m),J=343*(k=65535&J),N=343*(b=65535&N),R=343*(S=65535&R),v=343*(Y=65535&v),P=343*(q=65535&P),x=343*(X=65535&x),Z=343*(V=65535&Z),K=343*(W=65535&K),O=343*(j=65535&O),z=343*(T=65535&z),_=343*($=65535&_),AA=343*(IA=65535&AA),gA=343*(CA=65535&gA),QA=343*(BA=65535&QA),tA=343*(iA=65535&tA),EA=343*(eA=65535&EA),nA=343*(aA=65535&nA),oA=343*(hA=65535&oA),rA=343*(wA=65535&rA),sA=343*fA,z+=(t^=I>>6&63|128)<<8,_+=e<<8,AA+=a<<8,gA+=h<<8,QA+=f<<8,tA+=c<<8,EA+=F<<8,nA+=u<<8,oA+=p<<8,rA+=G<<8,sA+=d<<8,t=65535&(B=343*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),S=65535&(R+=N>>>16),Y=65535&(v+=R>>>16),q=65535&(P+=v>>>16),X=65535&(x+=P>>>16),V=65535&(Z+=x>>>16),W=65535&(K+=Z>>>16),j=65535&(O+=K>>>16),T=65535&(z+=O>>>16),$=65535&(_+=z>>>16),IA=65535&(AA+=_>>>16),CA=65535&(gA+=AA>>>16),BA=65535&(QA+=gA>>>16),iA=65535&(tA+=QA>>>16),eA=65535&(EA+=tA>>>16),aA=65535&(nA+=EA>>>16),hA=65535&(oA+=nA>>>16),fA=sA+((rA+=oA>>>16)>>>16)&65535,wA=65535&rA,t^=63&I|128):(i=343*e,n=343*a,o=343*h,w=343*f,D=343*c,y=343*F,M=343*u,l=343*p,H=343*G,U=343*d,m=343*L,J=343*k,N=343*b,R=343*S,v=343*Y,P=343*q,x=343*X,Z=343*V,K=343*W,O=343*j,z=343*T,_=343*$,AA=343*IA,gA=343*CA,QA=343*BA,tA=343*iA,EA=343*eA,nA=343*aA,oA=343*hA,rA=343*wA,sA=343*fA,z+=(t^=I>>12|224)<<8,_+=e<<8,AA+=a<<8,gA+=h<<8,QA+=f<<8,tA+=c<<8,EA+=F<<8,nA+=u<<8,oA+=p<<8,rA+=G<<8,t=65535&(B=343*t),fA=(sA+=d<<8)+((rA+=(oA+=(nA+=(EA+=(tA+=(QA+=(gA+=(AA+=(_+=(z+=(O+=(K+=(Z+=(x+=(P+=(v+=(R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=343*(e=65535&i),n=343*(a=65535&n),o=343*(h=65535&o),w=343*(f=65535&w),D=343*(c=65535&D),y=343*(F=65535&y),M=343*(u=65535&M),l=343*(p=65535&l),H=343*(G=65535&H),U=343*(d=65535&U),m=343*(L=65535&m),J=343*(k=65535&J),N=343*(b=65535&N),R=343*(S=65535&R),v=343*(Y=65535&v),P=343*(q=65535&P),x=343*(X=65535&x),Z=343*(V=65535&Z),K=343*(W=65535&K),O=343*(j=65535&O),z=343*(T=65535&z),_=343*($=65535&_),AA=343*(IA=65535&AA),gA=343*(CA=65535&gA),QA=343*(BA=65535&QA),tA=343*(iA=65535&tA),EA=343*(eA=65535&EA),nA=343*(aA=65535&nA),oA=343*(hA=65535&oA),rA=343*(wA=65535&rA),sA=343*fA,z+=(t^=I>>6&63|128)<<8,_+=e<<8,AA+=a<<8,gA+=h<<8,QA+=f<<8,tA+=c<<8,EA+=F<<8,nA+=u<<8,oA+=p<<8,rA+=G<<8,sA+=d<<8,t=65535&(B=343*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),S=65535&(R+=N>>>16),Y=65535&(v+=R>>>16),q=65535&(P+=v>>>16),X=65535&(x+=P>>>16),V=65535&(Z+=x>>>16),W=65535&(K+=Z>>>16),j=65535&(O+=K>>>16),T=65535&(z+=O>>>16),$=65535&(_+=z>>>16),IA=65535&(AA+=_>>>16),CA=65535&(gA+=AA>>>16),BA=65535&(QA+=gA>>>16),iA=65535&(tA+=QA>>>16),eA=65535&(EA+=tA>>>16),aA=65535&(nA+=EA>>>16),hA=65535&(oA+=nA>>>16),fA=sA+((rA+=oA>>>16)>>>16)&65535,wA=65535&rA,t^=63&I|128);return s(E[fA>>8]+E[255&fA]+E[wA>>8]+E[255&wA]+E[hA>>8]+E[255&hA]+E[aA>>8]+E[255&aA]+E[eA>>8]+E[255&eA]+E[iA>>8]+E[255&iA]+E[BA>>8]+E[255&BA]+E[CA>>8]+E[255&CA]+E[IA>>8]+E[255&IA]+E[$>>8]+E[255&$]+E[T>>8]+E[255&T]+E[j>>8]+E[255&j]+E[W>>8]+E[255&W]+E[V>>8]+E[255&V]+E[X>>8]+E[255&X]+E[q>>8]+E[255&q]+E[Y>>8]+E[255&Y]+E[S>>8]+E[255&S]+E[b>>8]+E[255&b]+E[k>>8]+E[255&k]+E[L>>8]+E[255&L]+E[d>>8]+E[255&d]+E[G>>8]+E[255&G]+E[p>>8]+E[255&p]+E[u>>8]+E[255&u]+E[F>>8]+E[255&F]+E[c>>8]+E[255&c]+E[f>>8]+E[255&f]+E[h>>8]+E[255&h]+E[a>>8]+E[255&a]+E[e>>8]+E[255&e]+E[t>>8]+E[255&t],512)}function W(A){var I,g=A.length-3,C=r[1024].offset,Q=0,B=0|C[63],t=0,i=0|C[62],e=0,n=0|C[61],a=0,o=0|C[60],h=0,w=0|C[59],f=0,D=0|C[58],c=0,y=0|C[57],F=0,M=0|C[56],u=0,l=0|C[55],p=0,H=0|C[54],G=0,U=0|C[53],d=0,m=0|C[52],L=0,J=0|C[51],k=0,N=0|C[50],b=0,R=0|C[49],S=0,v=0|C[48],Y=0,P=0|C[47],q=0,x=0|C[46],X=0,Z=0|C[45],V=0,K=0|C[44],W=0,O=0|C[43],j=0,z=0|C[42],T=0,_=0|C[41],$=0,AA=0|C[40],IA=0,gA=0|C[39],CA=0,QA=0|C[38],BA=0,tA=0|C[37],iA=0,EA=0|C[36],eA=0,nA=0|C[35],aA=0,oA=0|C[34],hA=0,rA=0|C[33],wA=0,sA=0|C[32],fA=0,DA=0|C[31],cA=0,yA=0|C[30],FA=0,MA=0|C[29],uA=0,lA=0|C[28],pA=0,HA=0|C[27],GA=0,UA=0|C[26],dA=0,mA=0|C[25],LA=0,JA=0|C[24],kA=0,NA=0|C[23],bA=0,RA=0|C[22],SA=0,vA=0|C[21],YA=0,PA=0|C[20],qA=0,xA=0|C[19],XA=0,ZA=0|C[18],VA=0,KA=0|C[17],WA=0,OA=0|C[16],jA=0,zA=0|C[15],TA=0,_A=0|C[14],$A=0,AI=0|C[13],II=0,gI=0|C[12],CI=0,QI=0|C[11],BI=0,tI=0|C[10],iI=0,EI=0|C[9],eI=0,nI=0|C[8],aI=0,oI=0|C[7],hI=0,rI=0|C[6],wI=0,sI=0|C[5],fI=0,DI=0|C[4],cI=0,yI=0|C[3],FI=0,MI=0|C[2],uI=0,lI=0|C[1],pI=0,HI=0|C[0];for(I=0;I>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=397*(i=65535&t),e=397*(n=65535&e),a=397*(o=65535&a),h=397*(w=65535&h),f=397*(D=65535&f),c=397*(y=65535&c),F=397*(M=65535&F),u=397*(l=65535&u),p=397*(H=65535&p),G=397*(U=65535&G),d=397*(m=65535&d),L=397*(J=65535&L),k=397*(N=65535&k),b=397*(R=65535&b),S=397*(v=65535&S),Y=397*(P=65535&Y),q=397*(x=65535&q),X=397*(Z=65535&X),V=397*(K=65535&V),W=397*(O=65535&W),j=397*(z=65535&j),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(gA=65535&IA),CA=397*(QA=65535&CA),BA=397*(tA=65535&BA),iA=397*(EA=65535&iA),eA=397*(nA=65535&eA),aA=397*(oA=65535&aA),hA=397*(rA=65535&hA),wA=397*(sA=65535&wA),fA=397*(DA=65535&fA),cA=397*(yA=65535&cA),FA=397*(MA=65535&FA),uA=397*(lA=65535&uA),pA=397*(HA=65535&pA),GA=397*(UA=65535&GA),dA=397*(mA=65535&dA),LA=397*(JA=65535&LA),kA=397*(NA=65535&kA),bA=397*(RA=65535&bA),SA=397*(vA=65535&SA),YA=397*(PA=65535&YA),qA=397*(xA=65535&qA),XA=397*(ZA=65535&XA),VA=397*(KA=65535&VA),WA=397*(OA=65535&WA),jA=397*(zA=65535&jA),TA=397*(_A=65535&TA),$A=397*(AI=65535&$A),II=397*(gI=65535&II),CI=397*(QI=65535&CI),BI=397*(tI=65535&BI),iI=397*(EI=65535&iI),eI=397*(nI=65535&eI),aI=397*(oI=65535&aI),hI=397*(rI=65535&hI),wI=397*(sI=65535&wI),fI=397*(DI=65535&fI),cI=397*(yI=65535&cI),FI=397*(MI=65535&FI),uI=397*(lI=65535&uI),pI=397*HI,SA+=(B^=A.charCodeAt(I++))<<8,YA+=i<<8,qA+=n<<8,XA+=o<<8,VA+=w<<8,WA+=D<<8,jA+=y<<8,TA+=M<<8,$A+=l<<8,II+=H<<8,CI+=U<<8,BI+=m<<8,iI+=J<<8,eI+=N<<8,aI+=R<<8,hI+=v<<8,wI+=P<<8,fI+=x<<8,cI+=Z<<8,FI+=K<<8,uI+=O<<8,B=65535&(Q=397*B),HI=(pI+=z<<8)+((uI+=(FI+=(cI+=(fI+=(wI+=(hI+=(aI+=(eI+=(iI+=(BI+=(CI+=(II+=($A+=(TA+=(jA+=(WA+=(VA+=(XA+=(qA+=(YA+=(SA+=(bA+=(kA+=(LA+=(dA+=(GA+=(pA+=(uA+=(FA+=(cA+=(fA+=(wA+=(hA+=(aA+=(eA+=(iA+=(BA+=(CA+=(IA+=($+=(T+=(j+=(W+=(V+=(X+=(q+=(Y+=(S+=(b+=(k+=(L+=(d+=(G+=(p+=(u+=(F+=(c+=(f+=(h+=(a+=(e+=(t+=Q>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=397*(i=65535&t),e=397*(n=65535&e),a=397*(o=65535&a),h=397*(w=65535&h),f=397*(D=65535&f),c=397*(y=65535&c),F=397*(M=65535&F),u=397*(l=65535&u),p=397*(H=65535&p),G=397*(U=65535&G),d=397*(m=65535&d),L=397*(J=65535&L),k=397*(N=65535&k),b=397*(R=65535&b),S=397*(v=65535&S),Y=397*(P=65535&Y),q=397*(x=65535&q),X=397*(Z=65535&X),V=397*(K=65535&V),W=397*(O=65535&W),j=397*(z=65535&j),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(gA=65535&IA),CA=397*(QA=65535&CA),BA=397*(tA=65535&BA),iA=397*(EA=65535&iA),eA=397*(nA=65535&eA),aA=397*(oA=65535&aA),hA=397*(rA=65535&hA),wA=397*(sA=65535&wA),fA=397*(DA=65535&fA),cA=397*(yA=65535&cA),FA=397*(MA=65535&FA),uA=397*(lA=65535&uA),pA=397*(HA=65535&pA),GA=397*(UA=65535&GA),dA=397*(mA=65535&dA),LA=397*(JA=65535&LA),kA=397*(NA=65535&kA),bA=397*(RA=65535&bA),SA=397*(vA=65535&SA),YA=397*(PA=65535&YA),qA=397*(xA=65535&qA),XA=397*(ZA=65535&XA),VA=397*(KA=65535&VA),WA=397*(OA=65535&WA),jA=397*(zA=65535&jA),TA=397*(_A=65535&TA),$A=397*(AI=65535&$A),II=397*(gI=65535&II),CI=397*(QI=65535&CI),BI=397*(tI=65535&BI),iI=397*(EI=65535&iI),eI=397*(nI=65535&eI),aI=397*(oI=65535&aI),hI=397*(rI=65535&hI),wI=397*(sI=65535&wI),fI=397*(DI=65535&fI),cI=397*(yI=65535&cI),FI=397*(MI=65535&FI),uI=397*(lI=65535&uI),pI=397*HI,SA+=(B^=A.charCodeAt(I++))<<8,YA+=i<<8,qA+=n<<8,XA+=o<<8,VA+=w<<8,WA+=D<<8,jA+=y<<8,TA+=M<<8,$A+=l<<8,II+=H<<8,CI+=U<<8,BI+=m<<8,iI+=J<<8,eI+=N<<8,aI+=R<<8,hI+=v<<8,wI+=P<<8,fI+=x<<8,cI+=Z<<8,FI+=K<<8,uI+=O<<8,B=65535&(Q=397*B),HI=(pI+=z<<8)+((uI+=(FI+=(cI+=(fI+=(wI+=(hI+=(aI+=(eI+=(iI+=(BI+=(CI+=(II+=($A+=(TA+=(jA+=(WA+=(VA+=(XA+=(qA+=(YA+=(SA+=(bA+=(kA+=(LA+=(dA+=(GA+=(pA+=(uA+=(FA+=(cA+=(fA+=(wA+=(hA+=(aA+=(eA+=(iA+=(BA+=(CA+=(IA+=($+=(T+=(j+=(W+=(V+=(X+=(q+=(Y+=(S+=(b+=(k+=(L+=(d+=(G+=(p+=(u+=(F+=(c+=(f+=(h+=(a+=(e+=(t+=Q>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=397*(i=65535&t),e=397*(n=65535&e),a=397*(o=65535&a),h=397*(w=65535&h),f=397*(D=65535&f),c=397*(y=65535&c),F=397*(M=65535&F),u=397*(l=65535&u),p=397*(H=65535&p),G=397*(U=65535&G),d=397*(m=65535&d),L=397*(J=65535&L),k=397*(N=65535&k),b=397*(R=65535&b),S=397*(v=65535&S),Y=397*(P=65535&Y),q=397*(x=65535&q),X=397*(Z=65535&X),V=397*(K=65535&V),W=397*(O=65535&W),j=397*(z=65535&j),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(gA=65535&IA),CA=397*(QA=65535&CA),BA=397*(tA=65535&BA),iA=397*(EA=65535&iA),eA=397*(nA=65535&eA),aA=397*(oA=65535&aA),hA=397*(rA=65535&hA),wA=397*(sA=65535&wA),fA=397*(DA=65535&fA),cA=397*(yA=65535&cA),FA=397*(MA=65535&FA),uA=397*(lA=65535&uA),pA=397*(HA=65535&pA),GA=397*(UA=65535&GA),dA=397*(mA=65535&dA),LA=397*(JA=65535&LA),kA=397*(NA=65535&kA),bA=397*(RA=65535&bA),SA=397*(vA=65535&SA),YA=397*(PA=65535&YA),qA=397*(xA=65535&qA),XA=397*(ZA=65535&XA),VA=397*(KA=65535&VA),WA=397*(OA=65535&WA),jA=397*(zA=65535&jA),TA=397*(_A=65535&TA),$A=397*(AI=65535&$A),II=397*(gI=65535&II),CI=397*(QI=65535&CI),BI=397*(tI=65535&BI),iI=397*(EI=65535&iI),eI=397*(nI=65535&eI),aI=397*(oI=65535&aI),hI=397*(rI=65535&hI),wI=397*(sI=65535&wI),fI=397*(DI=65535&fI),cI=397*(yI=65535&cI),FI=397*(MI=65535&FI),uI=397*(lI=65535&uI),pI=397*HI,SA+=(B^=A.charCodeAt(I++))<<8,YA+=i<<8,qA+=n<<8,XA+=o<<8,VA+=w<<8,WA+=D<<8,jA+=y<<8,TA+=M<<8,$A+=l<<8,II+=H<<8,CI+=U<<8,BI+=m<<8,iI+=J<<8,eI+=N<<8,aI+=R<<8,hI+=v<<8,wI+=P<<8,fI+=x<<8,cI+=Z<<8,FI+=K<<8,uI+=O<<8,pI+=z<<8,B=65535&(Q=397*B),i=65535&(t+=Q>>>16),n=65535&(e+=t>>>16),o=65535&(a+=e>>>16),w=65535&(h+=a>>>16),D=65535&(f+=h>>>16),y=65535&(c+=f>>>16),M=65535&(F+=c>>>16),l=65535&(u+=F>>>16),H=65535&(p+=u>>>16),U=65535&(G+=p>>>16),m=65535&(d+=G>>>16),J=65535&(L+=d>>>16),N=65535&(k+=L>>>16),R=65535&(b+=k>>>16),v=65535&(S+=b>>>16),P=65535&(Y+=S>>>16),x=65535&(q+=Y>>>16),Z=65535&(X+=q>>>16),K=65535&(V+=X>>>16),O=65535&(W+=V>>>16),z=65535&(j+=W>>>16),_=65535&(T+=j>>>16),AA=65535&($+=T>>>16),gA=65535&(IA+=$>>>16),QA=65535&(CA+=IA>>>16),tA=65535&(BA+=CA>>>16),EA=65535&(iA+=BA>>>16),nA=65535&(eA+=iA>>>16),oA=65535&(aA+=eA>>>16),rA=65535&(hA+=aA>>>16),sA=65535&(wA+=hA>>>16),DA=65535&(fA+=wA>>>16),yA=65535&(cA+=fA>>>16),MA=65535&(FA+=cA>>>16),lA=65535&(uA+=FA>>>16),HA=65535&(pA+=uA>>>16),UA=65535&(GA+=pA>>>16),mA=65535&(dA+=GA>>>16),JA=65535&(LA+=dA>>>16),NA=65535&(kA+=LA>>>16),RA=65535&(bA+=kA>>>16),vA=65535&(SA+=bA>>>16),PA=65535&(YA+=SA>>>16),xA=65535&(qA+=YA>>>16),ZA=65535&(XA+=qA>>>16),KA=65535&(VA+=XA>>>16),OA=65535&(WA+=VA>>>16),zA=65535&(jA+=WA>>>16),_A=65535&(TA+=jA>>>16),AI=65535&($A+=TA>>>16),gI=65535&(II+=$A>>>16),QI=65535&(CI+=II>>>16),tI=65535&(BI+=CI>>>16),EI=65535&(iI+=BI>>>16),nI=65535&(eI+=iI>>>16),oI=65535&(aI+=eI>>>16),rI=65535&(hI+=aI>>>16),sI=65535&(wI+=hI>>>16),DI=65535&(fI+=wI>>>16),yI=65535&(cI+=fI>>>16),MI=65535&(FI+=cI>>>16),HI=pI+((uI+=FI>>>16)>>>16)&65535,lI=65535&uI;for(;I>>16),n=65535&(e+=t>>>16),o=65535&(a+=e>>>16),w=65535&(h+=a>>>16),D=65535&(f+=h>>>16),y=65535&(c+=f>>>16),M=65535&(F+=c>>>16),l=65535&(u+=F>>>16),H=65535&(p+=u>>>16),U=65535&(G+=p>>>16),m=65535&(d+=G>>>16),J=65535&(L+=d>>>16),N=65535&(k+=L>>>16),R=65535&(b+=k>>>16),v=65535&(S+=b>>>16),P=65535&(Y+=S>>>16),x=65535&(q+=Y>>>16),Z=65535&(X+=q>>>16),K=65535&(V+=X>>>16),O=65535&(W+=V>>>16),z=65535&(j+=W>>>16),_=65535&(T+=j>>>16),AA=65535&($+=T>>>16),gA=65535&(IA+=$>>>16),QA=65535&(CA+=IA>>>16),tA=65535&(BA+=CA>>>16),EA=65535&(iA+=BA>>>16),nA=65535&(eA+=iA>>>16),oA=65535&(aA+=eA>>>16),rA=65535&(hA+=aA>>>16),sA=65535&(wA+=hA>>>16),DA=65535&(fA+=wA>>>16),yA=65535&(cA+=fA>>>16),MA=65535&(FA+=cA>>>16),lA=65535&(uA+=FA>>>16),HA=65535&(pA+=uA>>>16),UA=65535&(GA+=pA>>>16),mA=65535&(dA+=GA>>>16),JA=65535&(LA+=dA>>>16),NA=65535&(kA+=LA>>>16),RA=65535&(bA+=kA>>>16),vA=65535&(SA+=bA>>>16),PA=65535&(YA+=SA>>>16),xA=65535&(qA+=YA>>>16),ZA=65535&(XA+=qA>>>16),KA=65535&(VA+=XA>>>16),OA=65535&(WA+=VA>>>16),zA=65535&(jA+=WA>>>16),_A=65535&(TA+=jA>>>16),AI=65535&($A+=TA>>>16),gI=65535&(II+=$A>>>16),QI=65535&(CI+=II>>>16),tI=65535&(BI+=CI>>>16),EI=65535&(iI+=BI>>>16),nI=65535&(eI+=iI>>>16),oI=65535&(aI+=eI>>>16),rI=65535&(hI+=aI>>>16),sI=65535&(wI+=hI>>>16),DI=65535&(fI+=wI>>>16),yI=65535&(cI+=fI>>>16),MI=65535&(FI+=cI>>>16),HI=pI+((uI+=FI>>>16)>>>16)&65535,lI=65535&uI;return s(E[HI>>8]+E[255&HI]+E[lI>>8]+E[255&lI]+E[MI>>8]+E[255&MI]+E[yI>>8]+E[255&yI]+E[DI>>8]+E[255&DI]+E[sI>>8]+E[255&sI]+E[rI>>8]+E[255&rI]+E[oI>>8]+E[255&oI]+E[nI>>8]+E[255&nI]+E[EI>>8]+E[255&EI]+E[tI>>8]+E[255&tI]+E[QI>>8]+E[255&QI]+E[gI>>8]+E[255&gI]+E[AI>>8]+E[255&AI]+E[_A>>8]+E[255&_A]+E[zA>>8]+E[255&zA]+E[OA>>8]+E[255&OA]+E[KA>>8]+E[255&KA]+E[ZA>>8]+E[255&ZA]+E[xA>>8]+E[255&xA]+E[PA>>8]+E[255&PA]+E[vA>>8]+E[255&vA]+E[RA>>8]+E[255&RA]+E[NA>>8]+E[255&NA]+E[JA>>8]+E[255&JA]+E[mA>>8]+E[255&mA]+E[UA>>8]+E[255&UA]+E[HA>>8]+E[255&HA]+E[lA>>8]+E[255&lA]+E[MA>>8]+E[255&MA]+E[yA>>8]+E[255&yA]+E[DA>>8]+E[255&DA]+E[sA>>8]+E[255&sA]+E[rA>>8]+E[255&rA]+E[oA>>8]+E[255&oA]+E[nA>>8]+E[255&nA]+E[EA>>8]+E[255&EA]+E[tA>>8]+E[255&tA]+E[QA>>8]+E[255&QA]+E[gA>>8]+E[255&gA]+E[AA>>8]+E[255&AA]+E[_>>8]+E[255&_]+E[z>>8]+E[255&z]+E[O>>8]+E[255&O]+E[K>>8]+E[255&K]+E[Z>>8]+E[255&Z]+E[x>>8]+E[255&x]+E[P>>8]+E[255&P]+E[v>>8]+E[255&v]+E[R>>8]+E[255&R]+E[N>>8]+E[255&N]+E[J>>8]+E[255&J]+E[m>>8]+E[255&m]+E[U>>8]+E[255&U]+E[H>>8]+E[255&H]+E[l>>8]+E[255&l]+E[M>>8]+E[255&M]+E[y>>8]+E[255&y]+E[D>>8]+E[255&D]+E[w>>8]+E[255&w]+E[o>>8]+E[255&o]+E[n>>8]+E[255&n]+E[i>>8]+E[255&i]+E[B>>8]+E[255&B],1024)}function O(A){var I,g=A.length-3,C=r[1024].offset,Q=0,B=0|C[63],t=0,i=0|C[62],e=0,n=0|C[61],a=0,o=0|C[60],h=0,w=0|C[59],f=0,D=0|C[58],c=0,y=0|C[57],F=0,M=0|C[56],u=0,l=0|C[55],p=0,H=0|C[54],G=0,U=0|C[53],d=0,m=0|C[52],L=0,J=0|C[51],k=0,N=0|C[50],b=0,R=0|C[49],S=0,v=0|C[48],Y=0,P=0|C[47],q=0,x=0|C[46],X=0,Z=0|C[45],V=0,K=0|C[44],W=0,O=0|C[43],j=0,z=0|C[42],T=0,_=0|C[41],$=0,AA=0|C[40],IA=0,gA=0|C[39],CA=0,QA=0|C[38],BA=0,tA=0|C[37],iA=0,EA=0|C[36],eA=0,nA=0|C[35],aA=0,oA=0|C[34],hA=0,rA=0|C[33],wA=0,sA=0|C[32],fA=0,DA=0|C[31],cA=0,yA=0|C[30],FA=0,MA=0|C[29],uA=0,lA=0|C[28],pA=0,HA=0|C[27],GA=0,UA=0|C[26],dA=0,mA=0|C[25],LA=0,JA=0|C[24],kA=0,NA=0|C[23],bA=0,RA=0|C[22],SA=0,vA=0|C[21],YA=0,PA=0|C[20],qA=0,xA=0|C[19],XA=0,ZA=0|C[18],VA=0,KA=0|C[17],WA=0,OA=0|C[16],jA=0,zA=0|C[15],TA=0,_A=0|C[14],$A=0,AI=0|C[13],II=0,gI=0|C[12],CI=0,QI=0|C[11],BI=0,tI=0|C[10],iI=0,EI=0|C[9],eI=0,nI=0|C[8],aI=0,oI=0|C[7],hI=0,rI=0|C[6],wI=0,sI=0|C[5],fI=0,DI=0|C[4],cI=0,yI=0|C[3],FI=0,MI=0|C[2],uI=0,lI=0|C[1],pI=0,HI=0|C[0];for(I=0;I>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=397*(i=65535&t),e=397*(n=65535&e),a=397*(o=65535&a),h=397*(w=65535&h),f=397*(D=65535&f),c=397*(y=65535&c),F=397*(M=65535&F),u=397*(l=65535&u),p=397*(H=65535&p),G=397*(U=65535&G),d=397*(m=65535&d),L=397*(J=65535&L),k=397*(N=65535&k),b=397*(R=65535&b),S=397*(v=65535&S),Y=397*(P=65535&Y),q=397*(x=65535&q),X=397*(Z=65535&X),V=397*(K=65535&V),W=397*(O=65535&W),j=397*(z=65535&j),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(gA=65535&IA),CA=397*(QA=65535&CA),BA=397*(tA=65535&BA),iA=397*(EA=65535&iA),eA=397*(nA=65535&eA),aA=397*(oA=65535&aA),hA=397*(rA=65535&hA),wA=397*(sA=65535&wA),fA=397*(DA=65535&fA),cA=397*(yA=65535&cA),FA=397*(MA=65535&FA),uA=397*(lA=65535&uA),pA=397*(HA=65535&pA),GA=397*(UA=65535&GA),dA=397*(mA=65535&dA),LA=397*(JA=65535&LA),kA=397*(NA=65535&kA),bA=397*(RA=65535&bA),SA=397*(vA=65535&SA),YA=397*(PA=65535&YA),qA=397*(xA=65535&qA),XA=397*(ZA=65535&XA),VA=397*(KA=65535&VA),WA=397*(OA=65535&WA),jA=397*(zA=65535&jA),TA=397*(_A=65535&TA),$A=397*(AI=65535&$A),II=397*(gI=65535&II),CI=397*(QI=65535&CI),BI=397*(tI=65535&BI),iI=397*(EI=65535&iI),eI=397*(nI=65535&eI),aI=397*(oI=65535&aI),hI=397*(rI=65535&hI),wI=397*(sI=65535&wI),fI=397*(DI=65535&fI),cI=397*(yI=65535&cI),FI=397*(MI=65535&FI),uI=397*(lI=65535&uI),pI=397*HI,SA+=(B^=A.charCodeAt(I++))<<8,YA+=i<<8,qA+=n<<8,XA+=o<<8,VA+=w<<8,WA+=D<<8,jA+=y<<8,TA+=M<<8,$A+=l<<8,II+=H<<8,CI+=U<<8,BI+=m<<8,iI+=J<<8,eI+=N<<8,aI+=R<<8,hI+=v<<8,wI+=P<<8,fI+=x<<8,cI+=Z<<8,FI+=K<<8,uI+=O<<8,B=65535&(Q=397*B),HI=(pI+=z<<8)+((uI+=(FI+=(cI+=(fI+=(wI+=(hI+=(aI+=(eI+=(iI+=(BI+=(CI+=(II+=($A+=(TA+=(jA+=(WA+=(VA+=(XA+=(qA+=(YA+=(SA+=(bA+=(kA+=(LA+=(dA+=(GA+=(pA+=(uA+=(FA+=(cA+=(fA+=(wA+=(hA+=(aA+=(eA+=(iA+=(BA+=(CA+=(IA+=($+=(T+=(j+=(W+=(V+=(X+=(q+=(Y+=(S+=(b+=(k+=(L+=(d+=(G+=(p+=(u+=(F+=(c+=(f+=(h+=(a+=(e+=(t+=Q>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=397*(i=65535&t),e=397*(n=65535&e),a=397*(o=65535&a),h=397*(w=65535&h),f=397*(D=65535&f),c=397*(y=65535&c),F=397*(M=65535&F),u=397*(l=65535&u),p=397*(H=65535&p),G=397*(U=65535&G),d=397*(m=65535&d),L=397*(J=65535&L),k=397*(N=65535&k),b=397*(R=65535&b),S=397*(v=65535&S),Y=397*(P=65535&Y),q=397*(x=65535&q),X=397*(Z=65535&X),V=397*(K=65535&V),W=397*(O=65535&W),j=397*(z=65535&j),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(gA=65535&IA),CA=397*(QA=65535&CA),BA=397*(tA=65535&BA),iA=397*(EA=65535&iA),eA=397*(nA=65535&eA),aA=397*(oA=65535&aA),hA=397*(rA=65535&hA),wA=397*(sA=65535&wA),fA=397*(DA=65535&fA),cA=397*(yA=65535&cA),FA=397*(MA=65535&FA),uA=397*(lA=65535&uA),pA=397*(HA=65535&pA),GA=397*(UA=65535&GA),dA=397*(mA=65535&dA),LA=397*(JA=65535&LA),kA=397*(NA=65535&kA),bA=397*(RA=65535&bA),SA=397*(vA=65535&SA),YA=397*(PA=65535&YA),qA=397*(xA=65535&qA),XA=397*(ZA=65535&XA),VA=397*(KA=65535&VA),WA=397*(OA=65535&WA),jA=397*(zA=65535&jA),TA=397*(_A=65535&TA),$A=397*(AI=65535&$A),II=397*(gI=65535&II),CI=397*(QI=65535&CI),BI=397*(tI=65535&BI),iI=397*(EI=65535&iI),eI=397*(nI=65535&eI),aI=397*(oI=65535&aI),hI=397*(rI=65535&hI),wI=397*(sI=65535&wI),fI=397*(DI=65535&fI),cI=397*(yI=65535&cI),FI=397*(MI=65535&FI),uI=397*(lI=65535&uI),pI=397*HI,SA+=(B^=A.charCodeAt(I++))<<8,YA+=i<<8,qA+=n<<8,XA+=o<<8,VA+=w<<8,WA+=D<<8,jA+=y<<8,TA+=M<<8,$A+=l<<8,II+=H<<8,CI+=U<<8,BI+=m<<8,iI+=J<<8,eI+=N<<8,aI+=R<<8,hI+=v<<8,wI+=P<<8,fI+=x<<8,cI+=Z<<8,FI+=K<<8,uI+=O<<8,B=65535&(Q=397*B),HI=(pI+=z<<8)+((uI+=(FI+=(cI+=(fI+=(wI+=(hI+=(aI+=(eI+=(iI+=(BI+=(CI+=(II+=($A+=(TA+=(jA+=(WA+=(VA+=(XA+=(qA+=(YA+=(SA+=(bA+=(kA+=(LA+=(dA+=(GA+=(pA+=(uA+=(FA+=(cA+=(fA+=(wA+=(hA+=(aA+=(eA+=(iA+=(BA+=(CA+=(IA+=($+=(T+=(j+=(W+=(V+=(X+=(q+=(Y+=(S+=(b+=(k+=(L+=(d+=(G+=(p+=(u+=(F+=(c+=(f+=(h+=(a+=(e+=(t+=Q>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,t=397*(i=65535&t),e=397*(n=65535&e),a=397*(o=65535&a),h=397*(w=65535&h),f=397*(D=65535&f),c=397*(y=65535&c),F=397*(M=65535&F),u=397*(l=65535&u),p=397*(H=65535&p),G=397*(U=65535&G),d=397*(m=65535&d),L=397*(J=65535&L),k=397*(N=65535&k),b=397*(R=65535&b),S=397*(v=65535&S),Y=397*(P=65535&Y),q=397*(x=65535&q),X=397*(Z=65535&X),V=397*(K=65535&V),W=397*(O=65535&W),j=397*(z=65535&j),T=397*(_=65535&T),$=397*(AA=65535&$),IA=397*(gA=65535&IA),CA=397*(QA=65535&CA),BA=397*(tA=65535&BA),iA=397*(EA=65535&iA),eA=397*(nA=65535&eA),aA=397*(oA=65535&aA),hA=397*(rA=65535&hA),wA=397*(sA=65535&wA),fA=397*(DA=65535&fA),cA=397*(yA=65535&cA),FA=397*(MA=65535&FA),uA=397*(lA=65535&uA),pA=397*(HA=65535&pA),GA=397*(UA=65535&GA),dA=397*(mA=65535&dA),LA=397*(JA=65535&LA),kA=397*(NA=65535&kA),bA=397*(RA=65535&bA),SA=397*(vA=65535&SA),YA=397*(PA=65535&YA),qA=397*(xA=65535&qA),XA=397*(ZA=65535&XA),VA=397*(KA=65535&VA),WA=397*(OA=65535&WA),jA=397*(zA=65535&jA),TA=397*(_A=65535&TA),$A=397*(AI=65535&$A),II=397*(gI=65535&II),CI=397*(QI=65535&CI),BI=397*(tI=65535&BI),iI=397*(EI=65535&iI),eI=397*(nI=65535&eI),aI=397*(oI=65535&aI),hI=397*(rI=65535&hI),wI=397*(sI=65535&wI),fI=397*(DI=65535&fI),cI=397*(yI=65535&cI),FI=397*(MI=65535&FI),uI=397*(lI=65535&uI),pI=397*HI,SA+=(B^=A.charCodeAt(I++))<<8,YA+=i<<8,qA+=n<<8,XA+=o<<8,VA+=w<<8,WA+=D<<8,jA+=y<<8,TA+=M<<8,$A+=l<<8,II+=H<<8,CI+=U<<8,BI+=m<<8,iI+=J<<8,eI+=N<<8,aI+=R<<8,hI+=v<<8,wI+=P<<8,fI+=x<<8,cI+=Z<<8,FI+=K<<8,uI+=O<<8,pI+=z<<8,B=65535&(Q=397*B),i=65535&(t+=Q>>>16),n=65535&(e+=t>>>16),o=65535&(a+=e>>>16),w=65535&(h+=a>>>16),D=65535&(f+=h>>>16),y=65535&(c+=f>>>16),M=65535&(F+=c>>>16),l=65535&(u+=F>>>16),H=65535&(p+=u>>>16),U=65535&(G+=p>>>16),m=65535&(d+=G>>>16),J=65535&(L+=d>>>16),N=65535&(k+=L>>>16),R=65535&(b+=k>>>16),v=65535&(S+=b>>>16),P=65535&(Y+=S>>>16),x=65535&(q+=Y>>>16),Z=65535&(X+=q>>>16),K=65535&(V+=X>>>16),O=65535&(W+=V>>>16),z=65535&(j+=W>>>16),_=65535&(T+=j>>>16),AA=65535&($+=T>>>16),gA=65535&(IA+=$>>>16),QA=65535&(CA+=IA>>>16),tA=65535&(BA+=CA>>>16),EA=65535&(iA+=BA>>>16),nA=65535&(eA+=iA>>>16),oA=65535&(aA+=eA>>>16),rA=65535&(hA+=aA>>>16),sA=65535&(wA+=hA>>>16),DA=65535&(fA+=wA>>>16),yA=65535&(cA+=fA>>>16),MA=65535&(FA+=cA>>>16),lA=65535&(uA+=FA>>>16),HA=65535&(pA+=uA>>>16),UA=65535&(GA+=pA>>>16),mA=65535&(dA+=GA>>>16),JA=65535&(LA+=dA>>>16),NA=65535&(kA+=LA>>>16),RA=65535&(bA+=kA>>>16),vA=65535&(SA+=bA>>>16),PA=65535&(YA+=SA>>>16),xA=65535&(qA+=YA>>>16),ZA=65535&(XA+=qA>>>16),KA=65535&(VA+=XA>>>16),OA=65535&(WA+=VA>>>16),zA=65535&(jA+=WA>>>16),_A=65535&(TA+=jA>>>16),AI=65535&($A+=TA>>>16),gI=65535&(II+=$A>>>16),QI=65535&(CI+=II>>>16),tI=65535&(BI+=CI>>>16),EI=65535&(iI+=BI>>>16),nI=65535&(eI+=iI>>>16),oI=65535&(aI+=eI>>>16),rI=65535&(hI+=aI>>>16),sI=65535&(wI+=hI>>>16),DI=65535&(fI+=wI>>>16),yI=65535&(cI+=fI>>>16),MI=65535&(FI+=cI>>>16),HI=pI+((uI+=FI>>>16)>>>16)&65535,lI=65535&uI,B^=A.charCodeAt(I++);for(;I>>16),n=65535&(e+=t>>>16),o=65535&(a+=e>>>16),w=65535&(h+=a>>>16),D=65535&(f+=h>>>16),y=65535&(c+=f>>>16),M=65535&(F+=c>>>16),l=65535&(u+=F>>>16),H=65535&(p+=u>>>16),U=65535&(G+=p>>>16),m=65535&(d+=G>>>16),J=65535&(L+=d>>>16),N=65535&(k+=L>>>16),R=65535&(b+=k>>>16),v=65535&(S+=b>>>16),P=65535&(Y+=S>>>16),x=65535&(q+=Y>>>16),Z=65535&(X+=q>>>16),K=65535&(V+=X>>>16),O=65535&(W+=V>>>16),z=65535&(j+=W>>>16),_=65535&(T+=j>>>16),AA=65535&($+=T>>>16),gA=65535&(IA+=$>>>16),QA=65535&(CA+=IA>>>16),tA=65535&(BA+=CA>>>16),EA=65535&(iA+=BA>>>16),nA=65535&(eA+=iA>>>16),oA=65535&(aA+=eA>>>16),rA=65535&(hA+=aA>>>16),sA=65535&(wA+=hA>>>16),DA=65535&(fA+=wA>>>16),yA=65535&(cA+=fA>>>16),MA=65535&(FA+=cA>>>16),lA=65535&(uA+=FA>>>16),HA=65535&(pA+=uA>>>16),UA=65535&(GA+=pA>>>16),mA=65535&(dA+=GA>>>16),JA=65535&(LA+=dA>>>16),NA=65535&(kA+=LA>>>16),RA=65535&(bA+=kA>>>16),vA=65535&(SA+=bA>>>16),PA=65535&(YA+=SA>>>16),xA=65535&(qA+=YA>>>16),ZA=65535&(XA+=qA>>>16),KA=65535&(VA+=XA>>>16),OA=65535&(WA+=VA>>>16),zA=65535&(jA+=WA>>>16),_A=65535&(TA+=jA>>>16),AI=65535&($A+=TA>>>16),gI=65535&(II+=$A>>>16),QI=65535&(CI+=II>>>16),tI=65535&(BI+=CI>>>16),EI=65535&(iI+=BI>>>16),nI=65535&(eI+=iI>>>16),oI=65535&(aI+=eI>>>16),rI=65535&(hI+=aI>>>16),sI=65535&(wI+=hI>>>16),DI=65535&(fI+=wI>>>16),yI=65535&(cI+=fI>>>16),MI=65535&(FI+=cI>>>16),HI=pI+((uI+=FI>>>16)>>>16)&65535,lI=65535&uI,B^=A.charCodeAt(I++);return s(E[HI>>8]+E[255&HI]+E[lI>>8]+E[255&lI]+E[MI>>8]+E[255&MI]+E[yI>>8]+E[255&yI]+E[DI>>8]+E[255&DI]+E[sI>>8]+E[255&sI]+E[rI>>8]+E[255&rI]+E[oI>>8]+E[255&oI]+E[nI>>8]+E[255&nI]+E[EI>>8]+E[255&EI]+E[tI>>8]+E[255&tI]+E[QI>>8]+E[255&QI]+E[gI>>8]+E[255&gI]+E[AI>>8]+E[255&AI]+E[_A>>8]+E[255&_A]+E[zA>>8]+E[255&zA]+E[OA>>8]+E[255&OA]+E[KA>>8]+E[255&KA]+E[ZA>>8]+E[255&ZA]+E[xA>>8]+E[255&xA]+E[PA>>8]+E[255&PA]+E[vA>>8]+E[255&vA]+E[RA>>8]+E[255&RA]+E[NA>>8]+E[255&NA]+E[JA>>8]+E[255&JA]+E[mA>>8]+E[255&mA]+E[UA>>8]+E[255&UA]+E[HA>>8]+E[255&HA]+E[lA>>8]+E[255&lA]+E[MA>>8]+E[255&MA]+E[yA>>8]+E[255&yA]+E[DA>>8]+E[255&DA]+E[sA>>8]+E[255&sA]+E[rA>>8]+E[255&rA]+E[oA>>8]+E[255&oA]+E[nA>>8]+E[255&nA]+E[EA>>8]+E[255&EA]+E[tA>>8]+E[255&tA]+E[QA>>8]+E[255&QA]+E[gA>>8]+E[255&gA]+E[AA>>8]+E[255&AA]+E[_>>8]+E[255&_]+E[z>>8]+E[255&z]+E[O>>8]+E[255&O]+E[K>>8]+E[255&K]+E[Z>>8]+E[255&Z]+E[x>>8]+E[255&x]+E[P>>8]+E[255&P]+E[v>>8]+E[255&v]+E[R>>8]+E[255&R]+E[N>>8]+E[255&N]+E[J>>8]+E[255&J]+E[m>>8]+E[255&m]+E[U>>8]+E[255&U]+E[H>>8]+E[255&H]+E[l>>8]+E[255&l]+E[M>>8]+E[255&M]+E[y>>8]+E[255&y]+E[D>>8]+E[255&D]+E[w>>8]+E[255&w]+E[o>>8]+E[255&o]+E[n>>8]+E[255&n]+E[i>>8]+E[255&i]+E[B>>8]+E[255&B],1024)}function j(A){var I,g,C=A.length,Q=r[1024].offset,B=0,t=0|Q[63],i=0,e=0|Q[62],n=0,a=0|Q[61],o=0,h=0|Q[60],w=0,f=0|Q[59],D=0,c=0|Q[58],y=0,F=0|Q[57],M=0,u=0|Q[56],l=0,p=0|Q[55],H=0,G=0|Q[54],U=0,d=0|Q[53],m=0,L=0|Q[52],J=0,k=0|Q[51],N=0,b=0|Q[50],R=0,S=0|Q[49],v=0,Y=0|Q[48],P=0,q=0|Q[47],x=0,X=0|Q[46],Z=0,V=0|Q[45],K=0,W=0|Q[44],O=0,j=0|Q[43],z=0,T=0|Q[42],_=0,$=0|Q[41],AA=0,IA=0|Q[40],gA=0,CA=0|Q[39],QA=0,BA=0|Q[38],tA=0,iA=0|Q[37],EA=0,eA=0|Q[36],nA=0,aA=0|Q[35],oA=0,hA=0|Q[34],rA=0,wA=0|Q[33],sA=0,fA=0|Q[32],DA=0,cA=0|Q[31],yA=0,FA=0|Q[30],MA=0,uA=0|Q[29],lA=0,pA=0|Q[28],HA=0,GA=0|Q[27],UA=0,dA=0|Q[26],mA=0,LA=0|Q[25],JA=0,kA=0|Q[24],NA=0,bA=0|Q[23],RA=0,SA=0|Q[22],vA=0,YA=0|Q[21],PA=0,qA=0|Q[20],xA=0,XA=0|Q[19],ZA=0,VA=0|Q[18],KA=0,WA=0|Q[17],OA=0,jA=0|Q[16],zA=0,TA=0|Q[15],_A=0,$A=0|Q[14],AI=0,II=0|Q[13],gI=0,CI=0|Q[12],QI=0,BI=0|Q[11],tI=0,iI=0|Q[10],EI=0,eI=0|Q[9],nI=0,aI=0|Q[8],oI=0,hI=0|Q[7],rI=0,wI=0|Q[6],sI=0,fI=0|Q[5],DI=0,cI=0|Q[4],yI=0,FI=0|Q[3],MI=0,uI=0|Q[2],lI=0,pI=0|Q[1],HI=0,GI=0|Q[0];for(g=0;g>6|192)<<8,PA+=e<<8,xA+=a<<8,ZA+=h<<8,KA+=f<<8,OA+=c<<8,zA+=F<<8,_A+=u<<8,AI+=p<<8,gI+=G<<8,QI+=d<<8,tI+=L<<8,EI+=k<<8,nI+=b<<8,oI+=S<<8,rI+=Y<<8,sI+=q<<8,DI+=X<<8,yI+=V<<8,MI+=W<<8,lI+=j<<8,HI+=T<<8,t=65535&(B=397*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),S=65535&(R+=N>>>16),Y=65535&(v+=R>>>16),q=65535&(P+=v>>>16),X=65535&(x+=P>>>16),V=65535&(Z+=x>>>16),W=65535&(K+=Z>>>16),j=65535&(O+=K>>>16),T=65535&(z+=O>>>16),$=65535&(_+=z>>>16),IA=65535&(AA+=_>>>16),CA=65535&(gA+=AA>>>16),BA=65535&(QA+=gA>>>16),iA=65535&(tA+=QA>>>16),eA=65535&(EA+=tA>>>16),aA=65535&(nA+=EA>>>16),hA=65535&(oA+=nA>>>16),wA=65535&(rA+=oA>>>16),fA=65535&(sA+=rA>>>16),cA=65535&(DA+=sA>>>16),FA=65535&(yA+=DA>>>16),uA=65535&(MA+=yA>>>16),pA=65535&(lA+=MA>>>16),GA=65535&(HA+=lA>>>16),dA=65535&(UA+=HA>>>16),LA=65535&(mA+=UA>>>16),kA=65535&(JA+=mA>>>16),bA=65535&(NA+=JA>>>16),SA=65535&(RA+=NA>>>16),YA=65535&(vA+=RA>>>16),qA=65535&(PA+=vA>>>16),XA=65535&(xA+=PA>>>16),VA=65535&(ZA+=xA>>>16),WA=65535&(KA+=ZA>>>16),jA=65535&(OA+=KA>>>16),TA=65535&(zA+=OA>>>16),$A=65535&(_A+=zA>>>16),II=65535&(AI+=_A>>>16),CI=65535&(gI+=AI>>>16),BI=65535&(QI+=gI>>>16),iI=65535&(tI+=QI>>>16),eI=65535&(EI+=tI>>>16),aI=65535&(nI+=EI>>>16),hI=65535&(oI+=nI>>>16),wI=65535&(rI+=oI>>>16),fI=65535&(sI+=rI>>>16),cI=65535&(DI+=sI>>>16),FI=65535&(yI+=DI>>>16),uI=65535&(MI+=yI>>>16),GI=HI+((lI+=MI>>>16)>>>16)&65535,pI=65535&lI,t^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,PA+=e<<8,xA+=a<<8,ZA+=h<<8,KA+=f<<8,OA+=c<<8,zA+=F<<8,_A+=u<<8,AI+=p<<8,gI+=G<<8,QI+=d<<8,tI+=L<<8,EI+=k<<8,nI+=b<<8,oI+=S<<8,rI+=Y<<8,sI+=q<<8,DI+=X<<8,yI+=V<<8,MI+=W<<8,lI+=j<<8,t=65535&(B=397*t),GI=(HI+=T<<8)+((lI+=(MI+=(yI+=(DI+=(sI+=(rI+=(oI+=(nI+=(EI+=(tI+=(QI+=(gI+=(AI+=(_A+=(zA+=(OA+=(KA+=(ZA+=(xA+=(PA+=(vA+=(RA+=(NA+=(JA+=(mA+=(UA+=(HA+=(lA+=(MA+=(yA+=(DA+=(sA+=(rA+=(oA+=(nA+=(EA+=(tA+=(QA+=(gA+=(AA+=(_+=(z+=(O+=(K+=(Z+=(x+=(P+=(v+=(R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=397*(e=65535&i),n=397*(a=65535&n),o=397*(h=65535&o),w=397*(f=65535&w),D=397*(c=65535&D),y=397*(F=65535&y),M=397*(u=65535&M),l=397*(p=65535&l),H=397*(G=65535&H),U=397*(d=65535&U),m=397*(L=65535&m),J=397*(k=65535&J),N=397*(b=65535&N),R=397*(S=65535&R),v=397*(Y=65535&v),P=397*(q=65535&P),x=397*(X=65535&x),Z=397*(V=65535&Z),K=397*(W=65535&K),O=397*(j=65535&O),z=397*(T=65535&z),_=397*($=65535&_),AA=397*(IA=65535&AA),gA=397*(CA=65535&gA),QA=397*(BA=65535&QA),tA=397*(iA=65535&tA),EA=397*(eA=65535&EA),nA=397*(aA=65535&nA),oA=397*(hA=65535&oA),rA=397*(wA=65535&rA),sA=397*(fA=65535&sA),DA=397*(cA=65535&DA),yA=397*(FA=65535&yA),MA=397*(uA=65535&MA),lA=397*(pA=65535&lA),HA=397*(GA=65535&HA),UA=397*(dA=65535&UA),mA=397*(LA=65535&mA),JA=397*(kA=65535&JA),NA=397*(bA=65535&NA),RA=397*(SA=65535&RA),vA=397*(YA=65535&vA),PA=397*(qA=65535&PA),xA=397*(XA=65535&xA),ZA=397*(VA=65535&ZA),KA=397*(WA=65535&KA),OA=397*(jA=65535&OA),zA=397*(TA=65535&zA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),gI=397*(CI=65535&gI),QI=397*(BI=65535&QI),tI=397*(iI=65535&tI),EI=397*(eI=65535&EI),nI=397*(aI=65535&nI),oI=397*(hI=65535&oI),rI=397*(wI=65535&rI),sI=397*(fI=65535&sI),DI=397*(cI=65535&DI),yI=397*(FI=65535&yI),MI=397*(uI=65535&MI),lI=397*(pI=65535&lI),HI=397*GI,vA+=(t^=I>>12&63|128)<<8,PA+=e<<8,xA+=a<<8,ZA+=h<<8,KA+=f<<8,OA+=c<<8,zA+=F<<8,_A+=u<<8,AI+=p<<8,gI+=G<<8,QI+=d<<8,tI+=L<<8,EI+=k<<8,nI+=b<<8,oI+=S<<8,rI+=Y<<8,sI+=q<<8,DI+=X<<8,yI+=V<<8,MI+=W<<8,lI+=j<<8,t=65535&(B=397*t),GI=(HI+=T<<8)+((lI+=(MI+=(yI+=(DI+=(sI+=(rI+=(oI+=(nI+=(EI+=(tI+=(QI+=(gI+=(AI+=(_A+=(zA+=(OA+=(KA+=(ZA+=(xA+=(PA+=(vA+=(RA+=(NA+=(JA+=(mA+=(UA+=(HA+=(lA+=(MA+=(yA+=(DA+=(sA+=(rA+=(oA+=(nA+=(EA+=(tA+=(QA+=(gA+=(AA+=(_+=(z+=(O+=(K+=(Z+=(x+=(P+=(v+=(R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=397*(e=65535&i),n=397*(a=65535&n),o=397*(h=65535&o),w=397*(f=65535&w),D=397*(c=65535&D),y=397*(F=65535&y),M=397*(u=65535&M),l=397*(p=65535&l),H=397*(G=65535&H),U=397*(d=65535&U),m=397*(L=65535&m),J=397*(k=65535&J),N=397*(b=65535&N),R=397*(S=65535&R),v=397*(Y=65535&v),P=397*(q=65535&P),x=397*(X=65535&x),Z=397*(V=65535&Z),K=397*(W=65535&K),O=397*(j=65535&O),z=397*(T=65535&z),_=397*($=65535&_),AA=397*(IA=65535&AA),gA=397*(CA=65535&gA),QA=397*(BA=65535&QA),tA=397*(iA=65535&tA),EA=397*(eA=65535&EA),nA=397*(aA=65535&nA),oA=397*(hA=65535&oA),rA=397*(wA=65535&rA),sA=397*(fA=65535&sA),DA=397*(cA=65535&DA),yA=397*(FA=65535&yA),MA=397*(uA=65535&MA),lA=397*(pA=65535&lA),HA=397*(GA=65535&HA),UA=397*(dA=65535&UA),mA=397*(LA=65535&mA),JA=397*(kA=65535&JA),NA=397*(bA=65535&NA),RA=397*(SA=65535&RA),vA=397*(YA=65535&vA),PA=397*(qA=65535&PA),xA=397*(XA=65535&xA),ZA=397*(VA=65535&ZA),KA=397*(WA=65535&KA),OA=397*(jA=65535&OA),zA=397*(TA=65535&zA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),gI=397*(CI=65535&gI),QI=397*(BI=65535&QI),tI=397*(iI=65535&tI),EI=397*(eI=65535&EI),nI=397*(aI=65535&nI),oI=397*(hI=65535&oI),rI=397*(wI=65535&rI),sI=397*(fI=65535&sI),DI=397*(cI=65535&DI),yI=397*(FI=65535&yI),MI=397*(uI=65535&MI),lI=397*(pI=65535&lI),HI=397*GI,vA+=(t^=I>>6&63|128)<<8,PA+=e<<8,xA+=a<<8,ZA+=h<<8,KA+=f<<8,OA+=c<<8,zA+=F<<8,_A+=u<<8,AI+=p<<8,gI+=G<<8,QI+=d<<8,tI+=L<<8,EI+=k<<8,nI+=b<<8,oI+=S<<8,rI+=Y<<8,sI+=q<<8,DI+=X<<8,yI+=V<<8,MI+=W<<8,lI+=j<<8,HI+=T<<8,t=65535&(B=397*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),S=65535&(R+=N>>>16),Y=65535&(v+=R>>>16),q=65535&(P+=v>>>16),X=65535&(x+=P>>>16),V=65535&(Z+=x>>>16),W=65535&(K+=Z>>>16),j=65535&(O+=K>>>16),T=65535&(z+=O>>>16),$=65535&(_+=z>>>16),IA=65535&(AA+=_>>>16),CA=65535&(gA+=AA>>>16),BA=65535&(QA+=gA>>>16),iA=65535&(tA+=QA>>>16),eA=65535&(EA+=tA>>>16),aA=65535&(nA+=EA>>>16),hA=65535&(oA+=nA>>>16),wA=65535&(rA+=oA>>>16),fA=65535&(sA+=rA>>>16),cA=65535&(DA+=sA>>>16),FA=65535&(yA+=DA>>>16),uA=65535&(MA+=yA>>>16),pA=65535&(lA+=MA>>>16),GA=65535&(HA+=lA>>>16),dA=65535&(UA+=HA>>>16),LA=65535&(mA+=UA>>>16),kA=65535&(JA+=mA>>>16),bA=65535&(NA+=JA>>>16),SA=65535&(RA+=NA>>>16),YA=65535&(vA+=RA>>>16),qA=65535&(PA+=vA>>>16),XA=65535&(xA+=PA>>>16),VA=65535&(ZA+=xA>>>16),WA=65535&(KA+=ZA>>>16),jA=65535&(OA+=KA>>>16),TA=65535&(zA+=OA>>>16),$A=65535&(_A+=zA>>>16),II=65535&(AI+=_A>>>16),CI=65535&(gI+=AI>>>16),BI=65535&(QI+=gI>>>16),iI=65535&(tI+=QI>>>16),eI=65535&(EI+=tI>>>16),aI=65535&(nI+=EI>>>16),hI=65535&(oI+=nI>>>16),wI=65535&(rI+=oI>>>16),fI=65535&(sI+=rI>>>16),cI=65535&(DI+=sI>>>16),FI=65535&(yI+=DI>>>16),uI=65535&(MI+=yI>>>16),GI=HI+((lI+=MI>>>16)>>>16)&65535,pI=65535&lI,t^=63&I|128):(i=397*e,n=397*a,o=397*h,w=397*f,D=397*c,y=397*F,M=397*u,l=397*p,H=397*G,U=397*d,m=397*L,J=397*k,N=397*b,R=397*S,v=397*Y,P=397*q,x=397*X,Z=397*V,K=397*W,O=397*j,z=397*T,_=397*$,AA=397*IA,gA=397*CA,QA=397*BA,tA=397*iA,EA=397*eA,nA=397*aA,oA=397*hA,rA=397*wA,sA=397*fA,DA=397*cA,yA=397*FA,MA=397*uA,lA=397*pA,HA=397*GA,UA=397*dA,mA=397*LA,JA=397*kA,NA=397*bA,RA=397*SA,vA=397*YA,PA=397*qA,xA=397*XA,ZA=397*VA,KA=397*WA,OA=397*jA,zA=397*TA,_A=397*$A,AI=397*II,gI=397*CI,QI=397*BI,tI=397*iI,EI=397*eI,nI=397*aI,oI=397*hI,rI=397*wI,sI=397*fI,DI=397*cI,yI=397*FI,MI=397*uI,lI=397*pI,HI=397*GI,vA+=(t^=I>>12|224)<<8,PA+=e<<8,xA+=a<<8,ZA+=h<<8,KA+=f<<8,OA+=c<<8,zA+=F<<8,_A+=u<<8,AI+=p<<8,gI+=G<<8,QI+=d<<8,tI+=L<<8,EI+=k<<8,nI+=b<<8,oI+=S<<8,rI+=Y<<8,sI+=q<<8,DI+=X<<8,yI+=V<<8,MI+=W<<8,lI+=j<<8,t=65535&(B=397*t),GI=(HI+=T<<8)+((lI+=(MI+=(yI+=(DI+=(sI+=(rI+=(oI+=(nI+=(EI+=(tI+=(QI+=(gI+=(AI+=(_A+=(zA+=(OA+=(KA+=(ZA+=(xA+=(PA+=(vA+=(RA+=(NA+=(JA+=(mA+=(UA+=(HA+=(lA+=(MA+=(yA+=(DA+=(sA+=(rA+=(oA+=(nA+=(EA+=(tA+=(QA+=(gA+=(AA+=(_+=(z+=(O+=(K+=(Z+=(x+=(P+=(v+=(R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=397*(e=65535&i),n=397*(a=65535&n),o=397*(h=65535&o),w=397*(f=65535&w),D=397*(c=65535&D),y=397*(F=65535&y),M=397*(u=65535&M),l=397*(p=65535&l),H=397*(G=65535&H),U=397*(d=65535&U),m=397*(L=65535&m),J=397*(k=65535&J),N=397*(b=65535&N),R=397*(S=65535&R),v=397*(Y=65535&v),P=397*(q=65535&P),x=397*(X=65535&x),Z=397*(V=65535&Z),K=397*(W=65535&K),O=397*(j=65535&O),z=397*(T=65535&z),_=397*($=65535&_),AA=397*(IA=65535&AA),gA=397*(CA=65535&gA),QA=397*(BA=65535&QA),tA=397*(iA=65535&tA),EA=397*(eA=65535&EA),nA=397*(aA=65535&nA),oA=397*(hA=65535&oA),rA=397*(wA=65535&rA),sA=397*(fA=65535&sA),DA=397*(cA=65535&DA),yA=397*(FA=65535&yA),MA=397*(uA=65535&MA),lA=397*(pA=65535&lA),HA=397*(GA=65535&HA),UA=397*(dA=65535&UA),mA=397*(LA=65535&mA),JA=397*(kA=65535&JA),NA=397*(bA=65535&NA),RA=397*(SA=65535&RA),vA=397*(YA=65535&vA),PA=397*(qA=65535&PA),xA=397*(XA=65535&xA),ZA=397*(VA=65535&ZA),KA=397*(WA=65535&KA),OA=397*(jA=65535&OA),zA=397*(TA=65535&zA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),gI=397*(CI=65535&gI),QI=397*(BI=65535&QI),tI=397*(iI=65535&tI),EI=397*(eI=65535&EI),nI=397*(aI=65535&nI),oI=397*(hI=65535&oI),rI=397*(wI=65535&rI),sI=397*(fI=65535&sI),DI=397*(cI=65535&DI),yI=397*(FI=65535&yI),MI=397*(uI=65535&MI),lI=397*(pI=65535&lI),HI=397*GI,vA+=(t^=I>>6&63|128)<<8,PA+=e<<8,xA+=a<<8,ZA+=h<<8,KA+=f<<8,OA+=c<<8,zA+=F<<8,_A+=u<<8,AI+=p<<8,gI+=G<<8,QI+=d<<8,tI+=L<<8,EI+=k<<8,nI+=b<<8,oI+=S<<8,rI+=Y<<8,sI+=q<<8,DI+=X<<8,yI+=V<<8,MI+=W<<8,lI+=j<<8,HI+=T<<8,t=65535&(B=397*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),S=65535&(R+=N>>>16),Y=65535&(v+=R>>>16),q=65535&(P+=v>>>16),X=65535&(x+=P>>>16),V=65535&(Z+=x>>>16),W=65535&(K+=Z>>>16),j=65535&(O+=K>>>16),T=65535&(z+=O>>>16),$=65535&(_+=z>>>16),IA=65535&(AA+=_>>>16),CA=65535&(gA+=AA>>>16),BA=65535&(QA+=gA>>>16),iA=65535&(tA+=QA>>>16),eA=65535&(EA+=tA>>>16),aA=65535&(nA+=EA>>>16),hA=65535&(oA+=nA>>>16),wA=65535&(rA+=oA>>>16),fA=65535&(sA+=rA>>>16),cA=65535&(DA+=sA>>>16),FA=65535&(yA+=DA>>>16),uA=65535&(MA+=yA>>>16),pA=65535&(lA+=MA>>>16),GA=65535&(HA+=lA>>>16),dA=65535&(UA+=HA>>>16),LA=65535&(mA+=UA>>>16),kA=65535&(JA+=mA>>>16),bA=65535&(NA+=JA>>>16),SA=65535&(RA+=NA>>>16),YA=65535&(vA+=RA>>>16),qA=65535&(PA+=vA>>>16),XA=65535&(xA+=PA>>>16),VA=65535&(ZA+=xA>>>16),WA=65535&(KA+=ZA>>>16),jA=65535&(OA+=KA>>>16),TA=65535&(zA+=OA>>>16),$A=65535&(_A+=zA>>>16),II=65535&(AI+=_A>>>16),CI=65535&(gI+=AI>>>16),BI=65535&(QI+=gI>>>16),iI=65535&(tI+=QI>>>16),eI=65535&(EI+=tI>>>16),aI=65535&(nI+=EI>>>16),hI=65535&(oI+=nI>>>16),wI=65535&(rI+=oI>>>16),fI=65535&(sI+=rI>>>16),cI=65535&(DI+=sI>>>16),FI=65535&(yI+=DI>>>16),uI=65535&(MI+=yI>>>16),GI=HI+((lI+=MI>>>16)>>>16)&65535,pI=65535&lI,t^=63&I|128),i=397*e,n=397*a,o=397*h,w=397*f,D=397*c,y=397*F,M=397*u,l=397*p,H=397*G,U=397*d,m=397*L,J=397*k,N=397*b,R=397*S,v=397*Y,P=397*q,x=397*X,Z=397*V,K=397*W,O=397*j,z=397*T,_=397*$,AA=397*IA,gA=397*CA,QA=397*BA,tA=397*iA,EA=397*eA,nA=397*aA,oA=397*hA,rA=397*wA,sA=397*fA,DA=397*cA,yA=397*FA,MA=397*uA,lA=397*pA,HA=397*GA,UA=397*dA,mA=397*LA,JA=397*kA,NA=397*bA,RA=397*SA,vA=397*YA,PA=397*qA,xA=397*XA,ZA=397*VA,KA=397*WA,OA=397*jA,zA=397*TA,_A=397*$A,AI=397*II,gI=397*CI,QI=397*BI,tI=397*iI,EI=397*eI,nI=397*aI,oI=397*hI,rI=397*wI,sI=397*fI,DI=397*cI,yI=397*FI,MI=397*uI,lI=397*pI,HI=397*GI,vA+=t<<8,PA+=e<<8,xA+=a<<8,ZA+=h<<8,KA+=f<<8,OA+=c<<8,zA+=F<<8,_A+=u<<8,AI+=p<<8,gI+=G<<8,QI+=d<<8,tI+=L<<8,EI+=k<<8,nI+=b<<8,oI+=S<<8,rI+=Y<<8,sI+=q<<8,DI+=X<<8,yI+=V<<8,MI+=W<<8,lI+=j<<8,HI+=T<<8,t=65535&(B=397*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),S=65535&(R+=N>>>16),Y=65535&(v+=R>>>16),q=65535&(P+=v>>>16),X=65535&(x+=P>>>16),V=65535&(Z+=x>>>16),W=65535&(K+=Z>>>16),j=65535&(O+=K>>>16),T=65535&(z+=O>>>16),$=65535&(_+=z>>>16),IA=65535&(AA+=_>>>16),CA=65535&(gA+=AA>>>16),BA=65535&(QA+=gA>>>16),iA=65535&(tA+=QA>>>16),eA=65535&(EA+=tA>>>16),aA=65535&(nA+=EA>>>16),hA=65535&(oA+=nA>>>16),wA=65535&(rA+=oA>>>16),fA=65535&(sA+=rA>>>16),cA=65535&(DA+=sA>>>16),FA=65535&(yA+=DA>>>16),uA=65535&(MA+=yA>>>16),pA=65535&(lA+=MA>>>16),GA=65535&(HA+=lA>>>16),dA=65535&(UA+=HA>>>16),LA=65535&(mA+=UA>>>16),kA=65535&(JA+=mA>>>16),bA=65535&(NA+=JA>>>16),SA=65535&(RA+=NA>>>16),YA=65535&(vA+=RA>>>16),qA=65535&(PA+=vA>>>16),XA=65535&(xA+=PA>>>16),VA=65535&(ZA+=xA>>>16),WA=65535&(KA+=ZA>>>16),jA=65535&(OA+=KA>>>16),TA=65535&(zA+=OA>>>16),$A=65535&(_A+=zA>>>16),II=65535&(AI+=_A>>>16),CI=65535&(gI+=AI>>>16),BI=65535&(QI+=gI>>>16),iI=65535&(tI+=QI>>>16),eI=65535&(EI+=tI>>>16),aI=65535&(nI+=EI>>>16),hI=65535&(oI+=nI>>>16),wI=65535&(rI+=oI>>>16),fI=65535&(sI+=rI>>>16),cI=65535&(DI+=sI>>>16),FI=65535&(yI+=DI>>>16),uI=65535&(MI+=yI>>>16),GI=HI+((lI+=MI>>>16)>>>16)&65535,pI=65535&lI;return s(E[GI>>8]+E[255&GI]+E[pI>>8]+E[255&pI]+E[uI>>8]+E[255&uI]+E[FI>>8]+E[255&FI]+E[cI>>8]+E[255&cI]+E[fI>>8]+E[255&fI]+E[wI>>8]+E[255&wI]+E[hI>>8]+E[255&hI]+E[aI>>8]+E[255&aI]+E[eI>>8]+E[255&eI]+E[iI>>8]+E[255&iI]+E[BI>>8]+E[255&BI]+E[CI>>8]+E[255&CI]+E[II>>8]+E[255&II]+E[$A>>8]+E[255&$A]+E[TA>>8]+E[255&TA]+E[jA>>8]+E[255&jA]+E[WA>>8]+E[255&WA]+E[VA>>8]+E[255&VA]+E[XA>>8]+E[255&XA]+E[qA>>8]+E[255&qA]+E[YA>>8]+E[255&YA]+E[SA>>8]+E[255&SA]+E[bA>>8]+E[255&bA]+E[kA>>8]+E[255&kA]+E[LA>>8]+E[255&LA]+E[dA>>8]+E[255&dA]+E[GA>>8]+E[255&GA]+E[pA>>8]+E[255&pA]+E[uA>>8]+E[255&uA]+E[FA>>8]+E[255&FA]+E[cA>>8]+E[255&cA]+E[fA>>8]+E[255&fA]+E[wA>>8]+E[255&wA]+E[hA>>8]+E[255&hA]+E[aA>>8]+E[255&aA]+E[eA>>8]+E[255&eA]+E[iA>>8]+E[255&iA]+E[BA>>8]+E[255&BA]+E[CA>>8]+E[255&CA]+E[IA>>8]+E[255&IA]+E[$>>8]+E[255&$]+E[T>>8]+E[255&T]+E[j>>8]+E[255&j]+E[W>>8]+E[255&W]+E[V>>8]+E[255&V]+E[X>>8]+E[255&X]+E[q>>8]+E[255&q]+E[Y>>8]+E[255&Y]+E[S>>8]+E[255&S]+E[b>>8]+E[255&b]+E[k>>8]+E[255&k]+E[L>>8]+E[255&L]+E[d>>8]+E[255&d]+E[G>>8]+E[255&G]+E[p>>8]+E[255&p]+E[u>>8]+E[255&u]+E[F>>8]+E[255&F]+E[c>>8]+E[255&c]+E[f>>8]+E[255&f]+E[h>>8]+E[255&h]+E[a>>8]+E[255&a]+E[e>>8]+E[255&e]+E[t>>8]+E[255&t],1024)}function z(A){var I,g,C=A.length,Q=r[1024].offset,B=0,t=0|Q[63],i=0,e=0|Q[62],n=0,a=0|Q[61],o=0,h=0|Q[60],w=0,f=0|Q[59],D=0,c=0|Q[58],y=0,F=0|Q[57],M=0,u=0|Q[56],l=0,p=0|Q[55],H=0,G=0|Q[54],U=0,d=0|Q[53],m=0,L=0|Q[52],J=0,k=0|Q[51],N=0,b=0|Q[50],R=0,S=0|Q[49],v=0,Y=0|Q[48],P=0,q=0|Q[47],x=0,X=0|Q[46],Z=0,V=0|Q[45],K=0,W=0|Q[44],O=0,j=0|Q[43],z=0,T=0|Q[42],_=0,$=0|Q[41],AA=0,IA=0|Q[40],gA=0,CA=0|Q[39],QA=0,BA=0|Q[38],tA=0,iA=0|Q[37],EA=0,eA=0|Q[36],nA=0,aA=0|Q[35],oA=0,hA=0|Q[34],rA=0,wA=0|Q[33],sA=0,fA=0|Q[32],DA=0,cA=0|Q[31],yA=0,FA=0|Q[30],MA=0,uA=0|Q[29],lA=0,pA=0|Q[28],HA=0,GA=0|Q[27],UA=0,dA=0|Q[26],mA=0,LA=0|Q[25],JA=0,kA=0|Q[24],NA=0,bA=0|Q[23],RA=0,SA=0|Q[22],vA=0,YA=0|Q[21],PA=0,qA=0|Q[20],xA=0,XA=0|Q[19],ZA=0,VA=0|Q[18],KA=0,WA=0|Q[17],OA=0,jA=0|Q[16],zA=0,TA=0|Q[15],_A=0,$A=0|Q[14],AI=0,II=0|Q[13],gI=0,CI=0|Q[12],QI=0,BI=0|Q[11],tI=0,iI=0|Q[10],EI=0,eI=0|Q[9],nI=0,aI=0|Q[8],oI=0,hI=0|Q[7],rI=0,wI=0|Q[6],sI=0,fI=0|Q[5],DI=0,cI=0|Q[4],yI=0,FI=0|Q[3],MI=0,uI=0|Q[2],lI=0,pI=0|Q[1],HI=0,GI=0|Q[0];for(g=0;g>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),S=65535&(R+=N>>>16),Y=65535&(v+=R>>>16),q=65535&(P+=v>>>16),X=65535&(x+=P>>>16),V=65535&(Z+=x>>>16),W=65535&(K+=Z>>>16),j=65535&(O+=K>>>16),T=65535&(z+=O>>>16),$=65535&(_+=z>>>16),IA=65535&(AA+=_>>>16),CA=65535&(gA+=AA>>>16),BA=65535&(QA+=gA>>>16),iA=65535&(tA+=QA>>>16),eA=65535&(EA+=tA>>>16),aA=65535&(nA+=EA>>>16),hA=65535&(oA+=nA>>>16),wA=65535&(rA+=oA>>>16),fA=65535&(sA+=rA>>>16),cA=65535&(DA+=sA>>>16),FA=65535&(yA+=DA>>>16),uA=65535&(MA+=yA>>>16),pA=65535&(lA+=MA>>>16),GA=65535&(HA+=lA>>>16),dA=65535&(UA+=HA>>>16),LA=65535&(mA+=UA>>>16),kA=65535&(JA+=mA>>>16),bA=65535&(NA+=JA>>>16),SA=65535&(RA+=NA>>>16),YA=65535&(vA+=RA>>>16),qA=65535&(PA+=vA>>>16),XA=65535&(xA+=PA>>>16),VA=65535&(ZA+=xA>>>16),WA=65535&(KA+=ZA>>>16),jA=65535&(OA+=KA>>>16),TA=65535&(zA+=OA>>>16),$A=65535&(_A+=zA>>>16),II=65535&(AI+=_A>>>16),CI=65535&(gI+=AI>>>16),BI=65535&(QI+=gI>>>16),iI=65535&(tI+=QI>>>16),eI=65535&(EI+=tI>>>16),aI=65535&(nI+=EI>>>16),hI=65535&(oI+=nI>>>16),wI=65535&(rI+=oI>>>16),fI=65535&(sI+=rI>>>16),cI=65535&(DI+=sI>>>16),FI=65535&(yI+=DI>>>16),uI=65535&(MI+=yI>>>16),GI=HI+((lI+=MI>>>16)>>>16)&65535,pI=65535&lI,(I=A.charCodeAt(g))<128?t^=I:I<2048?(i=397*e,n=397*a,o=397*h,w=397*f,D=397*c,y=397*F,M=397*u,l=397*p,H=397*G,U=397*d,m=397*L,J=397*k,N=397*b,R=397*S,v=397*Y,P=397*q,x=397*X,Z=397*V,K=397*W,O=397*j,z=397*T,_=397*$,AA=397*IA,gA=397*CA,QA=397*BA,tA=397*iA,EA=397*eA,nA=397*aA,oA=397*hA,rA=397*wA,sA=397*fA,DA=397*cA,yA=397*FA,MA=397*uA,lA=397*pA,HA=397*GA,UA=397*dA,mA=397*LA,JA=397*kA,NA=397*bA,RA=397*SA,vA=397*YA,PA=397*qA,xA=397*XA,ZA=397*VA,KA=397*WA,OA=397*jA,zA=397*TA,_A=397*$A,AI=397*II,gI=397*CI,QI=397*BI,tI=397*iI,EI=397*eI,nI=397*aI,oI=397*hI,rI=397*wI,sI=397*fI,DI=397*cI,yI=397*FI,MI=397*uI,lI=397*pI,HI=397*GI,vA+=(t^=I>>6|192)<<8,PA+=e<<8,xA+=a<<8,ZA+=h<<8,KA+=f<<8,OA+=c<<8,zA+=F<<8,_A+=u<<8,AI+=p<<8,gI+=G<<8,QI+=d<<8,tI+=L<<8,EI+=k<<8,nI+=b<<8,oI+=S<<8,rI+=Y<<8,sI+=q<<8,DI+=X<<8,yI+=V<<8,MI+=W<<8,lI+=j<<8,HI+=T<<8,t=65535&(B=397*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),S=65535&(R+=N>>>16),Y=65535&(v+=R>>>16),q=65535&(P+=v>>>16),X=65535&(x+=P>>>16),V=65535&(Z+=x>>>16),W=65535&(K+=Z>>>16),j=65535&(O+=K>>>16),T=65535&(z+=O>>>16),$=65535&(_+=z>>>16),IA=65535&(AA+=_>>>16),CA=65535&(gA+=AA>>>16),BA=65535&(QA+=gA>>>16),iA=65535&(tA+=QA>>>16),eA=65535&(EA+=tA>>>16),aA=65535&(nA+=EA>>>16),hA=65535&(oA+=nA>>>16),wA=65535&(rA+=oA>>>16),fA=65535&(sA+=rA>>>16),cA=65535&(DA+=sA>>>16),FA=65535&(yA+=DA>>>16),uA=65535&(MA+=yA>>>16),pA=65535&(lA+=MA>>>16),GA=65535&(HA+=lA>>>16),dA=65535&(UA+=HA>>>16),LA=65535&(mA+=UA>>>16),kA=65535&(JA+=mA>>>16),bA=65535&(NA+=JA>>>16),SA=65535&(RA+=NA>>>16),YA=65535&(vA+=RA>>>16),qA=65535&(PA+=vA>>>16),XA=65535&(xA+=PA>>>16),VA=65535&(ZA+=xA>>>16),WA=65535&(KA+=ZA>>>16),jA=65535&(OA+=KA>>>16),TA=65535&(zA+=OA>>>16),$A=65535&(_A+=zA>>>16),II=65535&(AI+=_A>>>16),CI=65535&(gI+=AI>>>16),BI=65535&(QI+=gI>>>16),iI=65535&(tI+=QI>>>16),eI=65535&(EI+=tI>>>16),aI=65535&(nI+=EI>>>16),hI=65535&(oI+=nI>>>16),wI=65535&(rI+=oI>>>16),fI=65535&(sI+=rI>>>16),cI=65535&(DI+=sI>>>16),FI=65535&(yI+=DI>>>16),uI=65535&(MI+=yI>>>16),GI=HI+((lI+=MI>>>16)>>>16)&65535,pI=65535&lI,t^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,PA+=e<<8,xA+=a<<8,ZA+=h<<8,KA+=f<<8,OA+=c<<8,zA+=F<<8,_A+=u<<8,AI+=p<<8,gI+=G<<8,QI+=d<<8,tI+=L<<8,EI+=k<<8,nI+=b<<8,oI+=S<<8,rI+=Y<<8,sI+=q<<8,DI+=X<<8,yI+=V<<8,MI+=W<<8,lI+=j<<8,t=65535&(B=397*t),GI=(HI+=T<<8)+((lI+=(MI+=(yI+=(DI+=(sI+=(rI+=(oI+=(nI+=(EI+=(tI+=(QI+=(gI+=(AI+=(_A+=(zA+=(OA+=(KA+=(ZA+=(xA+=(PA+=(vA+=(RA+=(NA+=(JA+=(mA+=(UA+=(HA+=(lA+=(MA+=(yA+=(DA+=(sA+=(rA+=(oA+=(nA+=(EA+=(tA+=(QA+=(gA+=(AA+=(_+=(z+=(O+=(K+=(Z+=(x+=(P+=(v+=(R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=397*(e=65535&i),n=397*(a=65535&n),o=397*(h=65535&o),w=397*(f=65535&w),D=397*(c=65535&D),y=397*(F=65535&y),M=397*(u=65535&M),l=397*(p=65535&l),H=397*(G=65535&H),U=397*(d=65535&U),m=397*(L=65535&m),J=397*(k=65535&J),N=397*(b=65535&N),R=397*(S=65535&R),v=397*(Y=65535&v),P=397*(q=65535&P),x=397*(X=65535&x),Z=397*(V=65535&Z),K=397*(W=65535&K),O=397*(j=65535&O),z=397*(T=65535&z),_=397*($=65535&_),AA=397*(IA=65535&AA),gA=397*(CA=65535&gA),QA=397*(BA=65535&QA),tA=397*(iA=65535&tA),EA=397*(eA=65535&EA),nA=397*(aA=65535&nA),oA=397*(hA=65535&oA),rA=397*(wA=65535&rA),sA=397*(fA=65535&sA),DA=397*(cA=65535&DA),yA=397*(FA=65535&yA),MA=397*(uA=65535&MA),lA=397*(pA=65535&lA),HA=397*(GA=65535&HA),UA=397*(dA=65535&UA),mA=397*(LA=65535&mA),JA=397*(kA=65535&JA),NA=397*(bA=65535&NA),RA=397*(SA=65535&RA),vA=397*(YA=65535&vA),PA=397*(qA=65535&PA),xA=397*(XA=65535&xA),ZA=397*(VA=65535&ZA),KA=397*(WA=65535&KA),OA=397*(jA=65535&OA),zA=397*(TA=65535&zA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),gI=397*(CI=65535&gI),QI=397*(BI=65535&QI),tI=397*(iI=65535&tI),EI=397*(eI=65535&EI),nI=397*(aI=65535&nI),oI=397*(hI=65535&oI),rI=397*(wI=65535&rI),sI=397*(fI=65535&sI),DI=397*(cI=65535&DI),yI=397*(FI=65535&yI),MI=397*(uI=65535&MI),lI=397*(pI=65535&lI),HI=397*GI,vA+=(t^=I>>12&63|128)<<8,PA+=e<<8,xA+=a<<8,ZA+=h<<8,KA+=f<<8,OA+=c<<8,zA+=F<<8,_A+=u<<8,AI+=p<<8,gI+=G<<8,QI+=d<<8,tI+=L<<8,EI+=k<<8,nI+=b<<8,oI+=S<<8,rI+=Y<<8,sI+=q<<8,DI+=X<<8,yI+=V<<8,MI+=W<<8,lI+=j<<8,t=65535&(B=397*t),GI=(HI+=T<<8)+((lI+=(MI+=(yI+=(DI+=(sI+=(rI+=(oI+=(nI+=(EI+=(tI+=(QI+=(gI+=(AI+=(_A+=(zA+=(OA+=(KA+=(ZA+=(xA+=(PA+=(vA+=(RA+=(NA+=(JA+=(mA+=(UA+=(HA+=(lA+=(MA+=(yA+=(DA+=(sA+=(rA+=(oA+=(nA+=(EA+=(tA+=(QA+=(gA+=(AA+=(_+=(z+=(O+=(K+=(Z+=(x+=(P+=(v+=(R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=397*(e=65535&i),n=397*(a=65535&n),o=397*(h=65535&o),w=397*(f=65535&w),D=397*(c=65535&D),y=397*(F=65535&y),M=397*(u=65535&M),l=397*(p=65535&l),H=397*(G=65535&H),U=397*(d=65535&U),m=397*(L=65535&m),J=397*(k=65535&J),N=397*(b=65535&N),R=397*(S=65535&R),v=397*(Y=65535&v),P=397*(q=65535&P),x=397*(X=65535&x),Z=397*(V=65535&Z),K=397*(W=65535&K),O=397*(j=65535&O),z=397*(T=65535&z),_=397*($=65535&_),AA=397*(IA=65535&AA),gA=397*(CA=65535&gA),QA=397*(BA=65535&QA),tA=397*(iA=65535&tA),EA=397*(eA=65535&EA),nA=397*(aA=65535&nA),oA=397*(hA=65535&oA),rA=397*(wA=65535&rA),sA=397*(fA=65535&sA),DA=397*(cA=65535&DA),yA=397*(FA=65535&yA),MA=397*(uA=65535&MA),lA=397*(pA=65535&lA),HA=397*(GA=65535&HA),UA=397*(dA=65535&UA),mA=397*(LA=65535&mA),JA=397*(kA=65535&JA),NA=397*(bA=65535&NA),RA=397*(SA=65535&RA),vA=397*(YA=65535&vA),PA=397*(qA=65535&PA),xA=397*(XA=65535&xA),ZA=397*(VA=65535&ZA),KA=397*(WA=65535&KA),OA=397*(jA=65535&OA),zA=397*(TA=65535&zA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),gI=397*(CI=65535&gI),QI=397*(BI=65535&QI),tI=397*(iI=65535&tI),EI=397*(eI=65535&EI),nI=397*(aI=65535&nI),oI=397*(hI=65535&oI),rI=397*(wI=65535&rI),sI=397*(fI=65535&sI),DI=397*(cI=65535&DI),yI=397*(FI=65535&yI),MI=397*(uI=65535&MI),lI=397*(pI=65535&lI),HI=397*GI,vA+=(t^=I>>6&63|128)<<8,PA+=e<<8,xA+=a<<8,ZA+=h<<8,KA+=f<<8,OA+=c<<8,zA+=F<<8,_A+=u<<8,AI+=p<<8,gI+=G<<8,QI+=d<<8,tI+=L<<8,EI+=k<<8,nI+=b<<8,oI+=S<<8,rI+=Y<<8,sI+=q<<8,DI+=X<<8,yI+=V<<8,MI+=W<<8,lI+=j<<8,HI+=T<<8,t=65535&(B=397*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),S=65535&(R+=N>>>16),Y=65535&(v+=R>>>16),q=65535&(P+=v>>>16),X=65535&(x+=P>>>16),V=65535&(Z+=x>>>16),W=65535&(K+=Z>>>16),j=65535&(O+=K>>>16),T=65535&(z+=O>>>16),$=65535&(_+=z>>>16),IA=65535&(AA+=_>>>16),CA=65535&(gA+=AA>>>16),BA=65535&(QA+=gA>>>16),iA=65535&(tA+=QA>>>16),eA=65535&(EA+=tA>>>16),aA=65535&(nA+=EA>>>16),hA=65535&(oA+=nA>>>16),wA=65535&(rA+=oA>>>16),fA=65535&(sA+=rA>>>16),cA=65535&(DA+=sA>>>16),FA=65535&(yA+=DA>>>16),uA=65535&(MA+=yA>>>16),pA=65535&(lA+=MA>>>16),GA=65535&(HA+=lA>>>16),dA=65535&(UA+=HA>>>16),LA=65535&(mA+=UA>>>16),kA=65535&(JA+=mA>>>16),bA=65535&(NA+=JA>>>16),SA=65535&(RA+=NA>>>16),YA=65535&(vA+=RA>>>16),qA=65535&(PA+=vA>>>16),XA=65535&(xA+=PA>>>16),VA=65535&(ZA+=xA>>>16),WA=65535&(KA+=ZA>>>16),jA=65535&(OA+=KA>>>16),TA=65535&(zA+=OA>>>16),$A=65535&(_A+=zA>>>16),II=65535&(AI+=_A>>>16),CI=65535&(gI+=AI>>>16),BI=65535&(QI+=gI>>>16),iI=65535&(tI+=QI>>>16),eI=65535&(EI+=tI>>>16),aI=65535&(nI+=EI>>>16),hI=65535&(oI+=nI>>>16),wI=65535&(rI+=oI>>>16),fI=65535&(sI+=rI>>>16),cI=65535&(DI+=sI>>>16),FI=65535&(yI+=DI>>>16),uI=65535&(MI+=yI>>>16),GI=HI+((lI+=MI>>>16)>>>16)&65535,pI=65535&lI,t^=63&I|128):(i=397*e,n=397*a,o=397*h,w=397*f,D=397*c,y=397*F,M=397*u,l=397*p,H=397*G,U=397*d,m=397*L,J=397*k,N=397*b,R=397*S,v=397*Y,P=397*q,x=397*X,Z=397*V,K=397*W,O=397*j,z=397*T,_=397*$,AA=397*IA,gA=397*CA,QA=397*BA,tA=397*iA,EA=397*eA,nA=397*aA,oA=397*hA,rA=397*wA,sA=397*fA,DA=397*cA,yA=397*FA,MA=397*uA,lA=397*pA,HA=397*GA,UA=397*dA,mA=397*LA,JA=397*kA,NA=397*bA,RA=397*SA,vA=397*YA,PA=397*qA,xA=397*XA,ZA=397*VA,KA=397*WA,OA=397*jA,zA=397*TA,_A=397*$A,AI=397*II,gI=397*CI,QI=397*BI,tI=397*iI,EI=397*eI,nI=397*aI,oI=397*hI,rI=397*wI,sI=397*fI,DI=397*cI,yI=397*FI,MI=397*uI,lI=397*pI,HI=397*GI,vA+=(t^=I>>12|224)<<8,PA+=e<<8,xA+=a<<8,ZA+=h<<8,KA+=f<<8,OA+=c<<8,zA+=F<<8,_A+=u<<8,AI+=p<<8,gI+=G<<8,QI+=d<<8,tI+=L<<8,EI+=k<<8,nI+=b<<8,oI+=S<<8,rI+=Y<<8,sI+=q<<8,DI+=X<<8,yI+=V<<8,MI+=W<<8,lI+=j<<8,t=65535&(B=397*t),GI=(HI+=T<<8)+((lI+=(MI+=(yI+=(DI+=(sI+=(rI+=(oI+=(nI+=(EI+=(tI+=(QI+=(gI+=(AI+=(_A+=(zA+=(OA+=(KA+=(ZA+=(xA+=(PA+=(vA+=(RA+=(NA+=(JA+=(mA+=(UA+=(HA+=(lA+=(MA+=(yA+=(DA+=(sA+=(rA+=(oA+=(nA+=(EA+=(tA+=(QA+=(gA+=(AA+=(_+=(z+=(O+=(K+=(Z+=(x+=(P+=(v+=(R+=(N+=(J+=(m+=(U+=(H+=(l+=(M+=(y+=(D+=(w+=(o+=(n+=(i+=B>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)>>>16)&65535,i=397*(e=65535&i),n=397*(a=65535&n),o=397*(h=65535&o),w=397*(f=65535&w),D=397*(c=65535&D),y=397*(F=65535&y),M=397*(u=65535&M),l=397*(p=65535&l),H=397*(G=65535&H),U=397*(d=65535&U),m=397*(L=65535&m),J=397*(k=65535&J),N=397*(b=65535&N),R=397*(S=65535&R),v=397*(Y=65535&v),P=397*(q=65535&P),x=397*(X=65535&x),Z=397*(V=65535&Z),K=397*(W=65535&K),O=397*(j=65535&O),z=397*(T=65535&z),_=397*($=65535&_),AA=397*(IA=65535&AA),gA=397*(CA=65535&gA),QA=397*(BA=65535&QA),tA=397*(iA=65535&tA),EA=397*(eA=65535&EA),nA=397*(aA=65535&nA),oA=397*(hA=65535&oA),rA=397*(wA=65535&rA),sA=397*(fA=65535&sA),DA=397*(cA=65535&DA),yA=397*(FA=65535&yA),MA=397*(uA=65535&MA),lA=397*(pA=65535&lA),HA=397*(GA=65535&HA),UA=397*(dA=65535&UA),mA=397*(LA=65535&mA),JA=397*(kA=65535&JA),NA=397*(bA=65535&NA),RA=397*(SA=65535&RA),vA=397*(YA=65535&vA),PA=397*(qA=65535&PA),xA=397*(XA=65535&xA),ZA=397*(VA=65535&ZA),KA=397*(WA=65535&KA),OA=397*(jA=65535&OA),zA=397*(TA=65535&zA),_A=397*($A=65535&_A),AI=397*(II=65535&AI),gI=397*(CI=65535&gI),QI=397*(BI=65535&QI),tI=397*(iI=65535&tI),EI=397*(eI=65535&EI),nI=397*(aI=65535&nI),oI=397*(hI=65535&oI),rI=397*(wI=65535&rI),sI=397*(fI=65535&sI),DI=397*(cI=65535&DI),yI=397*(FI=65535&yI),MI=397*(uI=65535&MI),lI=397*(pI=65535&lI),HI=397*GI,vA+=(t^=I>>6&63|128)<<8,PA+=e<<8,xA+=a<<8,ZA+=h<<8,KA+=f<<8,OA+=c<<8,zA+=F<<8,_A+=u<<8,AI+=p<<8,gI+=G<<8,QI+=d<<8,tI+=L<<8,EI+=k<<8,nI+=b<<8,oI+=S<<8,rI+=Y<<8,sI+=q<<8,DI+=X<<8,yI+=V<<8,MI+=W<<8,lI+=j<<8,HI+=T<<8,t=65535&(B=397*t),e=65535&(i+=B>>>16),a=65535&(n+=i>>>16),h=65535&(o+=n>>>16),f=65535&(w+=o>>>16),c=65535&(D+=w>>>16),F=65535&(y+=D>>>16),u=65535&(M+=y>>>16),p=65535&(l+=M>>>16),G=65535&(H+=l>>>16),d=65535&(U+=H>>>16),L=65535&(m+=U>>>16),k=65535&(J+=m>>>16),b=65535&(N+=J>>>16),S=65535&(R+=N>>>16),Y=65535&(v+=R>>>16),q=65535&(P+=v>>>16),X=65535&(x+=P>>>16),V=65535&(Z+=x>>>16),W=65535&(K+=Z>>>16),j=65535&(O+=K>>>16),T=65535&(z+=O>>>16),$=65535&(_+=z>>>16),IA=65535&(AA+=_>>>16),CA=65535&(gA+=AA>>>16),BA=65535&(QA+=gA>>>16),iA=65535&(tA+=QA>>>16),eA=65535&(EA+=tA>>>16),aA=65535&(nA+=EA>>>16),hA=65535&(oA+=nA>>>16),wA=65535&(rA+=oA>>>16),fA=65535&(sA+=rA>>>16),cA=65535&(DA+=sA>>>16),FA=65535&(yA+=DA>>>16),uA=65535&(MA+=yA>>>16),pA=65535&(lA+=MA>>>16),GA=65535&(HA+=lA>>>16),dA=65535&(UA+=HA>>>16),LA=65535&(mA+=UA>>>16),kA=65535&(JA+=mA>>>16),bA=65535&(NA+=JA>>>16),SA=65535&(RA+=NA>>>16),YA=65535&(vA+=RA>>>16),qA=65535&(PA+=vA>>>16),XA=65535&(xA+=PA>>>16),VA=65535&(ZA+=xA>>>16),WA=65535&(KA+=ZA>>>16),jA=65535&(OA+=KA>>>16),TA=65535&(zA+=OA>>>16),$A=65535&(_A+=zA>>>16),II=65535&(AI+=_A>>>16),CI=65535&(gI+=AI>>>16),BI=65535&(QI+=gI>>>16),iI=65535&(tI+=QI>>>16),eI=65535&(EI+=tI>>>16),aI=65535&(nI+=EI>>>16),hI=65535&(oI+=nI>>>16),wI=65535&(rI+=oI>>>16),fI=65535&(sI+=rI>>>16),cI=65535&(DI+=sI>>>16),FI=65535&(yI+=DI>>>16),uI=65535&(MI+=yI>>>16),GI=HI+((lI+=MI>>>16)>>>16)&65535,pI=65535&lI,t^=63&I|128);return s(E[GI>>8]+E[255&GI]+E[pI>>8]+E[255&pI]+E[uI>>8]+E[255&uI]+E[FI>>8]+E[255&FI]+E[cI>>8]+E[255&cI]+E[fI>>8]+E[255&fI]+E[wI>>8]+E[255&wI]+E[hI>>8]+E[255&hI]+E[aI>>8]+E[255&aI]+E[eI>>8]+E[255&eI]+E[iI>>8]+E[255&iI]+E[BI>>8]+E[255&BI]+E[CI>>8]+E[255&CI]+E[II>>8]+E[255&II]+E[$A>>8]+E[255&$A]+E[TA>>8]+E[255&TA]+E[jA>>8]+E[255&jA]+E[WA>>8]+E[255&WA]+E[VA>>8]+E[255&VA]+E[XA>>8]+E[255&XA]+E[qA>>8]+E[255&qA]+E[YA>>8]+E[255&YA]+E[SA>>8]+E[255&SA]+E[bA>>8]+E[255&bA]+E[kA>>8]+E[255&kA]+E[LA>>8]+E[255&LA]+E[dA>>8]+E[255&dA]+E[GA>>8]+E[255&GA]+E[pA>>8]+E[255&pA]+E[uA>>8]+E[255&uA]+E[FA>>8]+E[255&FA]+E[cA>>8]+E[255&cA]+E[fA>>8]+E[255&fA]+E[wA>>8]+E[255&wA]+E[hA>>8]+E[255&hA]+E[aA>>8]+E[255&aA]+E[eA>>8]+E[255&eA]+E[iA>>8]+E[255&iA]+E[BA>>8]+E[255&BA]+E[CA>>8]+E[255&CA]+E[IA>>8]+E[255&IA]+E[$>>8]+E[255&$]+E[T>>8]+E[255&T]+E[j>>8]+E[255&j]+E[W>>8]+E[255&W]+E[V>>8]+E[255&V]+E[X>>8]+E[255&X]+E[q>>8]+E[255&q]+E[Y>>8]+E[255&Y]+E[S>>8]+E[255&S]+E[b>>8]+E[255&b]+E[k>>8]+E[255&k]+E[L>>8]+E[255&L]+E[d>>8]+E[255&d]+E[G>>8]+E[255&G]+E[p>>8]+E[255&p]+E[u>>8]+E[255&u]+E[F>>8]+E[255&F]+E[c>>8]+E[255&c]+E[f>>8]+E[255&f]+E[h>>8]+E[255&h]+E[a>>8]+E[255&a]+E[e>>8]+E[255&e]+E[t>>8]+E[255&t],1024)}return I=u,g=G,C=L,Q=b,B=Y,t=X,i=W,y("1a"),F(!1),M(),{hash:c,setKeyspace:function(A){if(52!==A&&!r[A])throw new Error("Supported FNV keyspacs: 32, 52, 64, 128, 256, 512, and 1024 bit");h=A},version:y,useUTF8:F,seed:M,fast1a32:function(A){var I,g=A.length-3,C=0,Q=40389,B=0,t=33052;for(I=0;I>>16)&65535),B+=(Q^=A.charCodeAt(I++))<<8,Q=65535&(C=403*Q),B=403*(t=B+(C>>>16)&65535),B+=(Q^=A.charCodeAt(I++))<<8,Q=65535&(C=403*Q),B=403*(t=B+(C>>>16)&65535),t=(B+=(Q^=A.charCodeAt(I++))<<8)+((C=403*Q)>>>16)&65535,Q=65535&C;for(;I>>16)&65535,Q=65535&C;return(t<<16>>>0)+Q},fast1a32hex:function(A){var I,g=A.length-3,C=0,Q=40389,B=0,t=33052;for(I=0;I>>16)&65535),B+=(Q^=A.charCodeAt(I++))<<8,Q=65535&(C=403*Q),B=403*(t=B+(C>>>16)&65535),B+=(Q^=A.charCodeAt(I++))<<8,Q=65535&(C=403*Q),B=403*(t=B+(C>>>16)&65535),t=(B+=(Q^=A.charCodeAt(I++))<<8)+((C=403*Q)>>>16)&65535,Q=65535&C;for(;I>>16)&65535,Q=65535&C;return E[t>>>8&255]+E[255&t]+E[Q>>>8&255]+E[255&Q]},fast1a52:function(A){var I,g=A.length-3,C=0,Q=8997,B=0,t=33826,i=0,E=40164,e=0,n=52210;for(I=0;I>>16)>>>16)>>>16)&65535,B=435*(t=65535&B),i=435*(E=65535&i),e=435*n,i+=(Q^=A.charCodeAt(I++))<<8,Q=65535&(C=435*Q),n=(e+=t<<8)+((i+=(B+=C>>>16)>>>16)>>>16)&65535,B=435*(t=65535&B),i=435*(E=65535&i),e=435*n,i+=(Q^=A.charCodeAt(I++))<<8,Q=65535&(C=435*Q),n=(e+=t<<8)+((i+=(B+=C>>>16)>>>16)>>>16)&65535,B=435*(t=65535&B),i=435*(E=65535&i),e=435*n,i+=(Q^=A.charCodeAt(I++))<<8,e+=t<<8,Q=65535&(C=435*Q),t=65535&(B+=C>>>16),n=e+((i+=B>>>16)>>>16)&65535,E=65535&i;for(;I>>16),n=e+((i+=B>>>16)>>>16)&65535,E=65535&i;return 281474976710656*(15&n)+4294967296*E+65536*t+(Q^n>>4)},fast1a52hex:function(A){var I,g=A.length-3,C=0,Q=8997,B=0,t=33826,i=0,n=40164,a=0,o=52210;for(I=0;I>>16)>>>16)>>>16)&65535,B=435*(t=65535&B),i=435*(n=65535&i),a=435*o,i+=(Q^=A.charCodeAt(I++))<<8,Q=65535&(C=435*Q),o=(a+=t<<8)+((i+=(B+=C>>>16)>>>16)>>>16)&65535,B=435*(t=65535&B),i=435*(n=65535&i),a=435*o,i+=(Q^=A.charCodeAt(I++))<<8,Q=65535&(C=435*Q),o=(a+=t<<8)+((i+=(B+=C>>>16)>>>16)>>>16)&65535,B=435*(t=65535&B),i=435*(n=65535&i),a=435*o,i+=(Q^=A.charCodeAt(I++))<<8,a+=t<<8,Q=65535&(C=435*Q),t=65535&(B+=C>>>16),o=a+((i+=B>>>16)>>>16)&65535,n=65535&i;for(;I>>16),o=a+((i+=B>>>16)>>>16)&65535,n=65535&i;return e[15&o]+E[n>>8]+E[255&n]+E[t>>8]+E[255&t]+E[Q>>8^o>>12]+E[255&(Q^o>>4)]},fast1a64:function(A){var I,g=A.length-3,C=0,Q=8997,B=0,t=33826,i=0,e=40164,n=0,a=52210;for(I=0;I>>16)>>>16)>>>16)&65535,B=435*(t=65535&B),i=435*(e=65535&i),n=435*a,i+=(Q^=A.charCodeAt(I++))<<8,Q=65535&(C=435*Q),a=(n+=t<<8)+((i+=(B+=C>>>16)>>>16)>>>16)&65535,B=435*(t=65535&B),i=435*(e=65535&i),n=435*a,i+=(Q^=A.charCodeAt(I++))<<8,Q=65535&(C=435*Q),a=(n+=t<<8)+((i+=(B+=C>>>16)>>>16)>>>16)&65535,B=435*(t=65535&B),i=435*(e=65535&i),n=435*a,i+=(Q^=A.charCodeAt(I++))<<8,n+=t<<8,Q=65535&(C=435*Q),t=65535&(B+=C>>>16),a=n+((i+=B>>>16)>>>16)&65535,e=65535&i;for(;I>>16),a=n+((i+=B>>>16)>>>16)&65535,e=65535&i;return E[a>>8]+E[255&a]+E[e>>8]+E[255&e]+E[t>>8]+E[255&t]+E[Q>>8]+E[255&Q]},fast1a32utf:function(A){var I,g,C=A.length,Q=0,B=40389,t=0,i=33052;for(g=0;g>6|192)<<8)+((Q=403*B)>>>16)&65535,B=65535&Q,B^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,B=65535&(Q=403*B),t=403*(i=t+(Q>>>16)&65535),t+=(B^=I>>12&63|128)<<8,B=65535&(Q=403*B),t=403*(i=t+(Q>>>16)&65535),i=(t+=(B^=I>>6&63|128)<<8)+((Q=403*B)>>>16)&65535,B=65535&Q,B^=63&I|128):(t=403*i,t+=(B^=I>>12|224)<<8,B=65535&(Q=403*B),t=403*(i=t+(Q>>>16)&65535),i=(t+=(B^=I>>6&63|128)<<8)+((Q=403*B)>>>16)&65535,B=65535&Q,B^=63&I|128),t=403*i,i=(t+=B<<8)+((Q=403*B)>>>16)&65535,B=65535&Q;return(i<<16>>>0)+B},fast1a32hexutf:function(A){var I,g,C=A.length,Q=0,B=40389,t=0,i=33052;for(g=0;g>6|192)<<8)+((Q=403*B)>>>16)&65535,B=65535&Q,B^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,B=65535&(Q=403*B),t=403*(i=t+(Q>>>16)&65535),t+=(B^=I>>12&63|128)<<8,B=65535&(Q=403*B),t=403*(i=t+(Q>>>16)&65535),i=(t+=(B^=I>>6&63|128)<<8)+((Q=403*B)>>>16)&65535,B=65535&Q,B^=63&I|128):(t=403*i,t+=(B^=I>>12|224)<<8,B=65535&(Q=403*B),t=403*(i=t+(Q>>>16)&65535),i=(t+=(B^=I>>6&63|128)<<8)+((Q=403*B)>>>16)&65535,B=65535&Q,B^=63&I|128),t=403*i,i=(t+=B<<8)+((Q=403*B)>>>16)&65535,B=65535&Q;return E[i>>>8&255]+E[255&i]+E[B>>>8&255]+E[255&B]},fast1a52utf:function(A){var I,g,C=A.length,Q=0,B=8997,t=0,i=33826,E=0,e=40164,n=0,a=52210;for(g=0;g>6|192)<<8,n+=i<<8,B=65535&(Q=435*B),i=65535&(t+=Q>>>16),a=n+((E+=t>>>16)>>>16)&65535,e=65535&E,B^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,B=65535&(Q=435*B),a=(n+=i<<8)+((E+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),E=435*(e=65535&E),n=435*a,E+=(B^=I>>12&63|128)<<8,B=65535&(Q=435*B),a=(n+=i<<8)+((E+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),E=435*(e=65535&E),n=435*a,E+=(B^=I>>6&63|128)<<8,n+=i<<8,B=65535&(Q=435*B),i=65535&(t+=Q>>>16),a=n+((E+=t>>>16)>>>16)&65535,e=65535&E,B^=63&I|128):(t=435*i,E=435*e,n=435*a,E+=(B^=I>>12|224)<<8,B=65535&(Q=435*B),a=(n+=i<<8)+((E+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),E=435*(e=65535&E),n=435*a,E+=(B^=I>>6&63|128)<<8,n+=i<<8,B=65535&(Q=435*B),i=65535&(t+=Q>>>16),a=n+((E+=t>>>16)>>>16)&65535,e=65535&E,B^=63&I|128),t=435*i,E=435*e,n=435*a,E+=B<<8,n+=i<<8,B=65535&(Q=435*B),i=65535&(t+=Q>>>16),a=n+((E+=t>>>16)>>>16)&65535,e=65535&E;return 281474976710656*(15&a)+4294967296*e+65536*i+(B^a>>4)},fast1a52hexutf:function(A){var I,g,C=A.length,Q=0,B=8997,t=0,i=33826,n=0,a=40164,o=0,h=52210;for(g=0;g>6|192)<<8,o+=i<<8,B=65535&(Q=435*B),i=65535&(t+=Q>>>16),h=o+((n+=t>>>16)>>>16)&65535,a=65535&n,B^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,B=65535&(Q=435*B),h=(o+=i<<8)+((n+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),n=435*(a=65535&n),o=435*h,n+=(B^=I>>12&63|128)<<8,B=65535&(Q=435*B),h=(o+=i<<8)+((n+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),n=435*(a=65535&n),o=435*h,n+=(B^=I>>6&63|128)<<8,o+=i<<8,B=65535&(Q=435*B),i=65535&(t+=Q>>>16),h=o+((n+=t>>>16)>>>16)&65535,a=65535&n,B^=63&I|128):(t=435*i,n=435*a,o=435*h,n+=(B^=I>>12|224)<<8,B=65535&(Q=435*B),h=(o+=i<<8)+((n+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),n=435*(a=65535&n),o=435*h,n+=(B^=I>>6&63|128)<<8,o+=i<<8,B=65535&(Q=435*B),i=65535&(t+=Q>>>16),h=o+((n+=t>>>16)>>>16)&65535,a=65535&n,B^=63&I|128),t=435*i,n=435*a,o=435*h,n+=B<<8,o+=i<<8,B=65535&(Q=435*B),i=65535&(t+=Q>>>16),h=o+((n+=t>>>16)>>>16)&65535,a=65535&n;return e[15&h]+E[a>>8]+E[255&a]+E[i>>8]+E[255&i]+E[B>>8^h>>12]+E[255&(B^h>>4)]},fast1a64utf:function(A){var I,g,C=A.length,Q=0,B=8997,t=0,i=33826,e=0,n=40164,a=0,o=52210;for(g=0;g>6|192)<<8,a+=i<<8,B=65535&(Q=435*B),i=65535&(t+=Q>>>16),o=a+((e+=t>>>16)>>>16)&65535,n=65535&e,B^=63&I|128):55296==(64512&I)&&g+1>18|240)<<8,B=65535&(Q=435*B),o=(a+=i<<8)+((e+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),e=435*(n=65535&e),a=435*o,e+=(B^=I>>12&63|128)<<8,B=65535&(Q=435*B),o=(a+=i<<8)+((e+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),e=435*(n=65535&e),a=435*o,e+=(B^=I>>6&63|128)<<8,a+=i<<8,B=65535&(Q=435*B),i=65535&(t+=Q>>>16),o=a+((e+=t>>>16)>>>16)&65535,n=65535&e,B^=63&I|128):(t=435*i,e=435*n,a=435*o,e+=(B^=I>>12|224)<<8,B=65535&(Q=435*B),o=(a+=i<<8)+((e+=(t+=Q>>>16)>>>16)>>>16)&65535,t=435*(i=65535&t),e=435*(n=65535&e),a=435*o,e+=(B^=I>>6&63|128)<<8,a+=i<<8,B=65535&(Q=435*B),i=65535&(t+=Q>>>16),o=a+((e+=t>>>16)>>>16)&65535,n=65535&e,B^=63&I|128),t=435*i,e=435*n,a=435*o,e+=B<<8,a+=i<<8,B=65535&(Q=435*B),i=65535&(t+=Q>>>16),o=a+((e+=t>>>16)>>>16)&65535,n=65535&e;return E[o>>8]+E[255&o]+E[n>>8]+E[255&n]+E[i>>8]+E[255&i]+E[B>>8]+E[255&B]}}}();A.exports=I}));async function lg(A,I){I=I||{};let g,C=32767,Q=!1;for(;!Q;)try{g=new WebAssembly.Memory({initial:C}),Q=!0}catch(A){if(1===C)throw A;console.warn("Could not allocate "+1024*C*64+" bytes. This may cause severe instability. Trying with "+1024*C*64/2+" bytes"),C=Math.floor(C/2)}const B=await WebAssembly.compile(A);let t;const i=await WebAssembly.instantiate(B,{env:{memory:g},runtime:{error:function(A,g,C,Q,B,i){let E;throw E=7==A?e(g)+" "+t.getFr(Q).toString()+" != "+t.getFr(B).toString()+" "+e(i):9==A?e(g)+" "+t.getFr(Q).toString()+" "+e(B):5==A&&I.sym?e(g)+" "+I.sym.labelIdx2Name[B]:e(g)+" "+C+" "+Q+" "+B+" "+i,console.log("ERROR: ",A,E),new Error(E)},log:function(A){console.log(t.getFr(A).toString())},logGetSignal:function(A,g){I.logGetSignal&&I.logGetSignal(A,t.getFr(g))},logSetSignal:function(A,g){I.logSetSignal&&I.logSetSignal(A,t.getFr(g))},logStartComponent:function(A){I.logStartComponent&&I.logStartComponent(A)},logFinishComponent:function(A){I.logFinishComponent&&I.logFinishComponent(A)}}}),E=I&&(I.sanityCheck||I.logGetSignal||I.logSetSignal||I.logStartComponent||I.logFinishComponent);return t=new pg(g,i,E),t;function e(A){const I=new Uint8Array(g.buffer),C=[];for(let g=0;I[A+g]>0;g++)C.push(I[A+g]);return String.fromCharCode.apply(null,C)}}class pg{constructor(A,I,g){this.memory=A,this.i32=new Uint32Array(A.buffer),this.instance=I,this.n32=(this.instance.exports.getFrLen()>>2)-2;const C=this.instance.exports.getPRawPrime(),Q=new Array(this.n32);for(let A=0;A>2)+A];this.prime=hI.fromArray(Q,4294967296),this.Fr=new HA(this.prime),this.mask32=hI.fromString("FFFFFFFF",16),this.NVars=this.instance.exports.getNVars(),this.n64=Math.floor((this.Fr.bitLength-1)/64)+1,this.R=this.Fr.e(hI.shiftLeft(1,64*this.n64)),this.RInv=this.Fr.inv(this.R),this.sanityCheck=g}async _doCalculateWitness(A,I){this.instance.exports.init(this.sanityCheck||I?1:0);const g=this.allocInt(),C=this.allocFr();Object.keys(A).forEach((I=>{const Q=function(A){return ug.hash(A,64).hex()}(I),B=parseInt(Q.slice(0,8),16),t=parseInt(Q.slice(8,16),16);try{this.instance.exports.getSignalOffset32(g,0,B,t)}catch(A){throw new Error(`Signal ${I} is not an input of the circuit.`)}const i=this.getInt(g),E=(e=A[I],function A(I,g){if(Array.isArray(g))for(let C=0;C>2]}setInt(A,I){this.i32[A>>2]=I}getFr(A){const I=this,g=A>>2;if(2147483648&I.i32[g+1]){const A=new Array(I.n32);for(let C=0;C>2]=Q,void(g.i32[1+(A>>2)]=0)}g.i32[A>>2]=0,g.i32[1+(A>>2)]=2147483648;const B=hI.toArray(I,4294967296);for(let I=0;I>2)+I]=C>=0?B[C]:0}}}async function Hg(A,I,g,C){const Q=await mI(I),B=await Q.read(Q.totalSize);await Q.close();const t=await lg(B),i=await t.calculateBinWitness(A),E=await JI(g,"wtns",2,2);await async function(A,I,g){await kI(A,1);const C=8*(Math.floor((hI.bitLength(g)-1)/64)+1);if(await A.writeULE32(C),await SI(A,g,C),I.byteLength%C!=0)throw new Error("Invalid witness length");await A.writeULE32(I.byteLength/C),await NI(A),await kI(A,2),await A.write(I),await NI(A)}(E,i,t.prime),await E.close()}const{unstringifyBigInts:Gg}=rI;var Ug=Object.freeze({__proto__:null,fullProve:async function(A,I,g,C){const Q={type:"mem"};return await Hg(A,I,Q),await Mg(g,Q,C)},prove:Mg,verify:async function(A,I,g,C){A=Gg(A),g=Gg(g),I=Gg(I);const Q=await async function(A){let I;const g=A.toUpperCase().match(/[A-Za-z0-9]+/g).join("");if(["BN128","BN254","ALTBN128"].indexOf(g)>=0)I=await eI();else{if(!(["BLS12381"].indexOf(g)>=0))throw new Error(`Curve not supported: ${A}`);I=await nI()}return I}(A.curve),B=Q.G1.fromObject(A.IC[0]),t=new Uint8Array(2*Q.G1.F.n8*I.length),i=new Uint8Array(Q.Fr.n8*I.length);for(let g=0;g1)throw new Error(A.fileName+": File has more than one header");A.pos=I[1][0].p;const g=await A.readULE32(),C=await A.read(g),Q=hI.fromRprLE(C),B=await ZI(Q);if(8*B.F1.n64!=g)throw new Error(A.fileName+": Invalid size");const t=await A.readULE32(),i=await A.readULE32();if(A.pos-I[1][0].p!=I[1][0].size)throw new Error("Invalid PTau header size");return{curve:B,power:t,ceremonyPower:i}}function bg(A,I,g,C){const Q={tau:{},alpha:{},beta:{}};return Q.tau.g1_s=B(),Q.tau.g1_sx=B(),Q.alpha.g1_s=B(),Q.alpha.g1_sx=B(),Q.beta.g1_s=B(),Q.beta.g1_sx=B(),Q.tau.g2_spx=t(),Q.alpha.g2_spx=t(),Q.beta.g2_spx=t(),Q;function B(){let Q;return Q=C?g.G1.fromRprLEM(A,I):g.G1.fromRprUncompressed(A,I),I+=2*g.G1.F.n8,Q}function t(){let Q;return Q=C?g.G2.fromRprLEM(A,I):g.G2.fromRprUncompressed(A,I),I+=2*g.G2.F.n8,Q}}function Rg(A,I,g,C,Q){async function B(C){Q?g.G1.toRprLEM(A,I,C):g.G1.toRprUncompressed(A,I,C),I+=2*g.F1.n8}async function t(C){Q?g.G2.toRprLEM(A,I,C):g.G2.toRprUncompressed(A,I,C),I+=2*g.F2.n8}return B(C.tau.g1_s),B(C.tau.g1_sx),B(C.alpha.g1_s),B(C.alpha.g1_sx),B(C.beta.g1_s),B(C.beta.g1_sx),t(C.tau.g2_spx),t(C.alpha.g2_spx),t(C.beta.g2_spx),A}async function Sg(A,I){const g={};g.tauG1=await E(),g.tauG2=await e(),g.alphaG1=await E(),g.betaG1=await E(),g.betaG2=await e(),g.key=await async function(A,I,g){return bg(await A.read(2*I.F1.n8*6+2*I.F2.n8*3),0,I,g)}(A,I,!0),g.partialHash=await A.read(216),g.nextChallenge=await A.read(64),g.type=await A.readULE32();const C=new Uint8Array(2*I.G1.F.n8*6+2*I.G2.F.n8*3);Rg(C,0,I,g.key,!1);const Q=zI(64);Q.setPartialHash(g.partialHash),Q.update(C),g.responseHash=Q.digest();const B=await A.readULE32(),t=A.pos;let i=0;for(;A.pos-t1)throw new Error(A.fileName+": File has more than one contributions section");A.pos=g[7][0].p;const C=await A.readULE32(),Q=[];for(let g=0;g0){const I=new Uint8Array(B);await A.writeULE32(I.byteLength),await A.write(I)}else await A.writeULE32(0);async function t(g){I.G1.toRprLEM(C,0,g),await A.write(C)}async function i(g){I.G2.toRprLEM(Q,0,g),await A.write(Q)}}async function Pg(A,I,g){await A.writeULE32(7);const C=A.pos;await A.writeULE64(0),await A.writeULE32(g.length);for(let C=0;C0?a[a.length-1].nextChallenge:qg(e,n,B);const c=await JI(g,"ptau",1,Q?7:2);await kg(c,e,n);const y=await f.read(64);if(Ig(t,D)&&(D=y,a[a.length-1].nextChallenge=D),!Ig(y,D))throw new Error("Wrong contribution. this contribution is not based on the previus hash");const F=new zI(64);F.update(y);const M=[];let u;u=await H(f,c,"G1",2,2**n*2-1,[1],"tauG1"),o.tauG1=u[0],u=await H(f,c,"G2",3,2**n,[1],"tauG2"),o.tauG2=u[0],u=await H(f,c,"G1",4,2**n,[0],"alphaG1"),o.alphaG1=u[0],u=await H(f,c,"G1",5,2**n,[0],"betaG1"),o.betaG1=u[0],u=await H(f,c,"G2",6,1,[0],"betaG2"),o.betaG2=u[0],o.partialHash=F.getPartialHash();const l=await f.read(2*e.F1.n8*6+2*e.F2.n8*3);o.key=bg(l,0,e,!1),F.update(new Uint8Array(l));const p=F.digest();if(B&&B.info(Ag(p,"Contribution Response Hash imported: ")),Q){const A=new zI(64);A.update(p),await G(A,c,"G1",2,2**n*2-1,"tauG1",B),await G(A,c,"G2",3,2**n,"tauG2",B),await G(A,c,"G1",4,2**n,"alphaTauG1",B),await G(A,c,"G1",5,2**n,"betaTauG1",B),await G(A,c,"G2",6,1,"betaG2",B),o.nextChallenge=A.digest(),B&&B.info(Ag(o.nextChallenge,"Next Challenge Hash: "))}else o.nextChallenge=t;return a.push(o),await Pg(c,e,a),await f.close(),await c.close(),await i.close(),o.nextChallenge;async function H(A,I,g,C,t,i,E){return Q?await async function(A,I,g,C,Q,t,i){const E=e[g],n=E.F.n8,a=2*E.F.n8,o=[];await kI(I,C);const h=Math.floor((1<<24)/a);M[C]=I.pos;for(let g=0;g=g&&I=I&&Q1?E[E.length-2]:e;const a=E[E.length-1];if(I&&I.debug("Validating contribution #"+E[E.length-1].id),!await Zg(B,a,n,I))return!1;const o=zI(64);o.update(a.responseHash),I&&I.debug("Verifying powers in tau*G1 section");const h=await y(2,"G1","tauG1",2**t*2-1,[0,1],I);if(g=await Xg(B,h.R1,h.R2,B.G2.g,a.tauG2),!0!==g)return I&&I.error("tauG1 section. Powers do not match"),!1;if(!B.G1.eq(B.G1.g,h.singularPoints[0]))return I&&I.error("First element of tau*G1 section must be the generator"),!1;if(!B.G1.eq(a.tauG1,h.singularPoints[1]))return I&&I.error("Second element of tau*G1 section does not match the one in the contribution section"),!1;I&&I.debug("Verifying powers in tau*G2 section");const r=await y(3,"G2","tauG2",2**t,[0,1],I);if(g=await Xg(B,B.G1.g,a.tauG1,r.R1,r.R2),!0!==g)return I&&I.error("tauG2 section. Powers do not match"),!1;if(!B.G2.eq(B.G2.g,r.singularPoints[0]))return I&&I.error("First element of tau*G2 section must be the generator"),!1;if(!B.G2.eq(a.tauG2,r.singularPoints[1]))return I&&I.error("Second element of tau*G2 section does not match the one in the contribution section"),!1;I&&I.debug("Verifying powers in alpha*tau*G1 section");const w=await y(4,"G1","alphatauG1",2**t,[0],I);if(g=await Xg(B,w.R1,w.R2,B.G2.g,a.tauG2),!0!==g)return I&&I.error("alphaTauG1 section. Powers do not match"),!1;if(!B.G1.eq(a.alphaG1,w.singularPoints[0]))return I&&I.error("First element of alpha*tau*G1 section (alpha*G1) does not match the one in the contribution section"),!1;I&&I.debug("Verifying powers in beta*tau*G1 section");const s=await y(5,"G1","betatauG1",2**t,[0],I);if(g=await Xg(B,s.R1,s.R2,B.G2.g,a.tauG2),!0!==g)return I&&I.error("betaTauG1 section. Powers do not match"),!1;if(!B.G1.eq(a.betaG1,s.singularPoints[0]))return I&&I.error("First element of beta*tau*G1 section (beta*G1) does not match the one in the contribution section"),!1;const f=await async function(A){const I=B.G2,g=2*I.F.n8,t=new Uint8Array(g);if(!Q[6])throw A.error("File has no BetaG2 section"),new Error("File has no BetaG2 section");if(Q[6].length>1)throw A.error("File has no BetaG2 section"),new Error("File has more than one GetaG2 section");C.pos=Q[6][0].p;const i=await C.read(g),E=I.fromRprLEM(i);return I.toRprUncompressed(t,0,E),o.update(t),E}(I);if(!B.G2.eq(a.betaG2,f))return I&&I.error("betaG2 element in betaG2 section does not match the one in the contribution section"),!1;const D=o.digest();if(t==i&&!Ig(D,a.nextChallenge))return I&&I.error("Hash of the values does not match the next challenge of the last contributor in the contributions section"),!1;I&&I.info(Ag(D,"Next challenge hash: ")),c(a,n);for(let A=E.length-2;A>=0;A--){const g=E[A],C=A>0?E[A-1]:e;if(!await Zg(B,g,C,I))return!1;c(g,C)}if(I&&I.info("-----------------------------------------------------"),Q[12]&&Q[13]&&Q[14]&&Q[15]){let A;if(A=await F("G1",2,12,"tauG1",I),!A)return!1;if(A=await F("G2",3,13,"tauG2",I),!A)return!1;if(A=await F("G1",4,14,"alphaTauG1",I),!A)return!1;if(A=await F("G1",5,15,"betaTauG1",I),!A)return!1}else I&&I.warn('this file does not contain phase2 precalculated values. Please run: \n snarkjs "powersoftau preparephase2" to prepare this file to be used in the phase2 ceremony.');return await C.close(),I&&I.info("Powers of Tau Ok!"),!0;function c(A,g){if(!I)return;I.info("-----------------------------------------------------"),I.info(`Contribution #${A.id}: ${A.name||""}`),I.info(Ag(A.nextChallenge,"Next Challenge: "));const C=new Uint8Array(2*B.G1.F.n8*6+2*B.G2.F.n8*3);Rg(C,0,B,A.key,!1);const Q=zI(64);Q.setPartialHash(A.partialHash),Q.update(C);const t=Q.digest();I.info(Ag(t,"Response Hash:")),I.info(Ag(g.nextChallenge,"Response Hash:")),1==A.type&&(I.info(`Beacon generator: ${ig(A.beaconHash)}`),I.info(`Beacon iterations Exp: ${A.numIterationsExp}`))}async function y(A,I,g,t,i,E){const e=B[I],n=2*e.F.n8;await bI(C,Q,A);const a=[];let h=e.zero,r=e.zero,w=e.zero;for(let A=0;A0){const A=e.fromRprLEM(Q,0),I=DA.randomBytes(4).readUInt32BE(0,!0);h=e.add(h,e.timesScalar(w,I)),r=e.add(r,e.timesScalar(A,I))}const f=await e.multiExpAffine(Q.slice(0,(I-1)*n),s),D=await e.multiExpAffine(Q.slice(n),s);h=e.add(h,f),r=e.add(r,D),w=e.fromRprLEM(Q,(I-1)*n);for(let g=0;g=A&&C1;)e/=2,n+=1;if(2**n!=E)throw new Error("Invalid file size");Q&&Q.debug("Power to tau size: "+n);const a=await Qg(C),o=await dI(g),h=zI(64);for(let A=0;A{Q.debug(I+".g1_s: "+A.G1.toString(s[I].g1_s,16)),Q.debug(I+".g1_sx: "+A.G1.toString(s[I].g1_sx,16)),Q.debug(I+".g2_sp: "+A.G2.toString(s[I].g2_sp,16)),Q.debug(I+".g2_spx: "+A.G2.toString(s[I].g2_spx,16)),Q.debug("")}));const f=zI(64);await o.write(w),f.update(w),await Kg(B,o,f,A,"G1",2**n*2-1,A.Fr.one,s.tau.prvKey,"COMPRESSED","tauG1",Q),await Kg(B,o,f,A,"G2",2**n,A.Fr.one,s.tau.prvKey,"COMPRESSED","tauG2",Q),await Kg(B,o,f,A,"G1",2**n,s.alpha.prvKey,s.tau.prvKey,"COMPRESSED","alphaTauG1",Q),await Kg(B,o,f,A,"G1",2**n,s.beta.prvKey,s.tau.prvKey,"COMPRESSED","betaTauG1",Q),await Kg(B,o,f,A,"G2",1,s.beta.prvKey,s.tau.prvKey,"COMPRESSED","betaTauG2",Q);const D=new Uint8Array(2*A.F1.n8*6+2*A.F2.n8*3);Rg(D,0,A,s,!1),await o.write(D),f.update(D);const c=f.digest();Q&&Q.info(Ag(c,"Contribution Response Hash: ")),await o.close(),await B.close()},beacon:async function(A,I,g,C,Q,B){const t=tg(C);if(0==t.byteLength||2*t.byteLength!=C.length)return B&&B.error("Invalid Beacon Hash. (It must be a valid hexadecimal sequence)"),!1;if(t.length>=256)return B&&B.error("Maximum lenght of beacon hash is 255 bytes"),!1;if((Q=parseInt(Q))<10||Q>63)return B&&B.error("Invalid numIterationsExp. (Must be between 10 and 63)"),!1;await zI.ready();const{fd:i,sections:E}=await LI(A,"ptau",1),{curve:e,power:n,ceremonyPower:a}=await Ng(i,E);if(n!=a)return B&&B.error("This file has been reduced. You cannot contribute into a reduced file."),!1;E[12]&&B&&B.warn("Contributing into a file that has phase2 calculated. You will have to prepare phase2 again.");const o=await vg(i,e,E),h={name:g,type:1,numIterationsExp:Q,beaconHash:t};let r;r=o.length>0?o[o.length-1].nextChallenge:qg(e,n,B),h.key=xg(e,r,t,Q);const w=new zI(64);w.update(r);const s=await JI(I,"ptau",1,7);await kg(s,e,n);const f=[];let D;D=await M(2,"G1",2**n*2-1,e.Fr.e(1),h.key.tau.prvKey,"tauG1",B),h.tauG1=D[1],D=await M(3,"G2",2**n,e.Fr.e(1),h.key.tau.prvKey,"tauG2",B),h.tauG2=D[1],D=await M(4,"G1",2**n,h.key.alpha.prvKey,h.key.tau.prvKey,"alphaTauG1",B),h.alphaG1=D[0],D=await M(5,"G1",2**n,h.key.beta.prvKey,h.key.tau.prvKey,"betaTauG1",B),h.betaG1=D[0],D=await M(6,"G2",1,h.key.beta.prvKey,h.key.tau.prvKey,"betaTauG2",B),h.betaG2=D[0],h.partialHash=w.getPartialHash();const c=new Uint8Array(2*e.F1.n8*6+2*e.F2.n8*3);Rg(c,0,e,h.key,!1),w.update(new Uint8Array(c));const y=w.digest();B&&B.info(Ag(y,"Contribution Response Hash imported: "));const F=new zI(64);return F.update(y),await u(s,"G1",2,2**n*2-1,"tauG1",B),await u(s,"G2",3,2**n,"tauG2",B),await u(s,"G1",4,2**n,"alphaTauG1",B),await u(s,"G1",5,2**n,"betaTauG1",B),await u(s,"G2",6,1,"betaG2",B),h.nextChallenge=F.digest(),B&&B.info(Ag(h.nextChallenge,"Next Challenge Hash: ")),o.push(h),await Pg(s,e,o),await i.close(),await s.close(),y;async function M(A,I,g,C,Q,B,t){const n=[];i.pos=E[A][0].p,await kI(s,A),f[A]=s.pos;const a=e[I],o=2*a.F.n8,h=Math.floor((1<<20)/o);let r=C;for(let A=0;A0?n[n.length-1].nextChallenge:qg(i,E,Q),a.key=Jg(i,o,h);const r=new zI(64);r.update(o);const w=await JI(I,"ptau",1,7);await kg(w,i,E);const s=[];let f;f=await F(2,"G1",2**E*2-1,i.Fr.e(1),a.key.tau.prvKey,"tauG1"),a.tauG1=f[1],f=await F(3,"G2",2**E,i.Fr.e(1),a.key.tau.prvKey,"tauG2"),a.tauG2=f[1],f=await F(4,"G1",2**E,a.key.alpha.prvKey,a.key.tau.prvKey,"alphaTauG1"),a.alphaG1=f[0],f=await F(5,"G1",2**E,a.key.beta.prvKey,a.key.tau.prvKey,"betaTauG1"),a.betaG1=f[0],f=await F(6,"G2",1,a.key.beta.prvKey,a.key.tau.prvKey,"betaTauG2"),a.betaG2=f[0],a.partialHash=r.getPartialHash();const D=new Uint8Array(2*i.F1.n8*6+2*i.F2.n8*3);Rg(D,0,i,a.key,!1),r.update(new Uint8Array(D));const c=r.digest();Q&&Q.info(Ag(c,"Contribution Response Hash imported: "));const y=new zI(64);return y.update(c),await M(w,"G1",2,2**E*2-1,"tauG1"),await M(w,"G2",3,2**E,"tauG2"),await M(w,"G1",4,2**E,"alphaTauG1"),await M(w,"G1",5,2**E,"betaTauG1"),await M(w,"G2",6,1,"betaG2"),a.nextChallenge=y.digest(),Q&&Q.info(Ag(a.nextChallenge,"Next Challenge Hash: ")),n.push(a),await Pg(w,i,n),await B.close(),await w.close(),c;async function F(A,I,g,C,E,e){const n=[];B.pos=t[A][0].p,await kI(w,A),s[A]=w.pos;const a=i[I],o=2*a.F.n8,h=Math.floor((1<<20)/o);let f=C;for(let A=0;A=this.length&&(this.length=A+1),!0}getKeys(){const A=new Tg;for(let I=0;I1<<20?new Tg:[];for(let A=0;A1<<20?new Tg:[];for(let A=0;A{g[C]=gC(A,I[C])})),g}return"bigint"==typeof I||void 0!==I.eq?I.toString(10):I}var CC=Object.freeze({__proto__:null,print:function(A,I,g){for(let I=0;I{let C="";return Object.keys(g).forEach((Q=>{let B=I.varIdx2Name[Q];"one"==B&&(B="");let t=A.curve.Fr.toString(g[Q]);"1"==t&&(t=""),"-1"==t&&(t="-"),""!=C&&"-"!=t[0]&&(t="+"+t),""!=C&&(t=" "+t),C=C+t+B})),C},B=`[ ${Q(C[0])} ] * [ ${Q(C[1])} ] - [ ${Q(C[2])} ] = 0`;g&&g.info(B)}},info:async function(A,I){const g=await $g(A);return hI.eq(g.prime,IC)?I&&I.info("Curve: bn-128"):hI.eq(g.prime,AC)?I&&I.info("Curve: bls12-381"):I&&I.info(`Unknown Curve. Prime: ${hI.toString(g.prime)}`),I&&I.info(`# of Wires: ${g.nVars}`),I&&I.info(`# of Constraints: ${g.nConstraints}`),I&&I.info(`# of Private Inputs: ${g.nPrvInputs}`),I&&I.info(`# of Public Inputs: ${g.nPubInputs}`),I&&I.info(`# of Labels: ${g.nLabels}`),I&&I.info(`# of Outputs: ${g.nOutputs}`),g},exportJson:async function(A,I){const g=await $g(A,!0,!0,!0,I),C=g.curve.Fr;return delete g.curve,gC(C,g)}});async function QC(A){const I={labelIdx2Name:["one"],varIdx2Name:["one"],componentIdx2Name:[]},g=await mI(A),C=await g.read(g.totalSize),Q=new TextDecoder("utf-8").decode(C).split("\n");for(let A=0;A=this.length&&(this.length=A+1),!0}getKeys(){const A=new eC;for(let I=0;IE)return C&&C.error(`circuit too big for this power of tau ceremony. ${a.nConstraints}*2 > 2**${E}`),-1;if(!t[12])return C&&C.error("Powers of tau is not prepared."),-1;const s=a.nOutputs+a.nPubInputs,f=2**w;await kI(o,1),await o.writeULE32(1),await NI(o),await kI(o,2);const D=i.q,c=8*(Math.floor((hI.bitLength(D)-1)/64)+1),y=i.r,F=8*(Math.floor((hI.bitLength(y)-1)/64)+1),M=hI.mod(hI.shl(1,8*F),y),u=i.Fr.e(hI.mod(hI.mul(M,M),y));let l,p,H;await o.writeULE32(c),await SI(o,D,c),await o.writeULE32(F),await SI(o,y,F),await o.writeULE32(a.nVars),await o.writeULE32(s),await o.writeULE32(f),l=await B.read(h,t[4][0].p),await o.write(l),l=await i.G1.batchLEMtoU(l),Q.update(l),p=await B.read(h,t[5][0].p),await o.write(p),p=await i.G1.batchLEMtoU(p),Q.update(p),H=await B.read(r,t[6][0].p),await o.write(H),H=await i.G2.batchLEMtoU(H),Q.update(H);const G=new Uint8Array(h);i.G1.toRprLEM(G,0,i.G1.g);const U=new Uint8Array(r);i.G2.toRprLEM(U,0,i.G2.g);const d=new Uint8Array(h);i.G1.toRprUncompressed(d,0,i.G1.g);const m=new Uint8Array(r);i.G2.toRprUncompressed(m,0,i.G2.g),await o.write(U),await o.write(G),await o.write(U),Q.update(m),Q.update(d),Q.update(m),await NI(o),C&&C.info("Reading r1cs");let L=await PI(e,n,2);const J=new eC(a.nVars),k=new eC(a.nVars),N=new eC(a.nVars),b=new eC(a.nVars-s-1),R=new Array(s+1);C&&C.info("Reading tauG1");let S=await PI(B,t,12,(f-1)*h,f*h);C&&C.info("Reading tauG2");let v=await PI(B,t,13,(f-1)*r,f*r);C&&C.info("Reading alphatauG1");let Y=await PI(B,t,14,(f-1)*h,f*h);C&&C.info("Reading betatauG1");let P=await PI(B,t,15,(f-1)*h,f*h);await async function(){const A=new Uint8Array(12+i.Fr.n8),I=new DataView(A.buffer),g=new Uint8Array(i.Fr.n8);i.Fr.toRprLE(g,0,i.Fr.e(1));let Q=0;function B(){const A=L.slice(Q,Q+4);Q+=4;return new DataView(A.buffer).getUint32(0,!0)}const t=new eC;for(let A=0;A=0?i.Fr.fromRprLE(L.slice(C[3],C[3]+i.Fr.n8),0):i.Fr.fromRprLE(g,0);const B=i.Fr.mul(Q,u);i.Fr.toRprLE(A,12,B),E.set(A,n),n+=A.length}await o.write(E),await NI(o)}(),await x(3,"G1",R,"IC"),await async function(){await kI(o,9);const A=new ZA(f*h);if(w(C&&C.debug(`Writing points end ${B}: ${n}/${g.length}`),A)))),e+=Q,A++}const n=await Promise.all(E);for(let A=0;A32768?(h=new ZA(w*B),r=new ZA(w*i.Fr.n8)):(h=new Uint8Array(w*B),r=new Uint8Array(w*i.Fr.n8));let s=0,f=0;const D=[S,v,Y,P],c=new Uint8Array(i.Fr.n8);i.Fr.toRprLE(c,0,i.Fr.e(1));let y=0;for(let A=0;A=0?r.set(L.slice(I[A][Q][2],I[A][Q][2]+i.Fr.n8),y*i.Fr.n8):r.set(c,y*i.Fr.n8),y++;if(I.length>1){const A=[];A.push({cmd:"ALLOCSET",var:0,buff:h}),A.push({cmd:"ALLOCSET",var:1,buff:r}),A.push({cmd:"ALLOC",var:2,len:I.length*t}),s=0,f=0;let g=0;for(let C=0;C=0;A--){const I=n.contributions[A];C&&C.info("-------------------------"),C&&C.info(Ag(I.contributionHash,`contribution #${A+1} ${I.name?I.name:""}:`)),1==I.type&&(C&&C.info(`Beacon generator: ${ig(I.beaconHash)}`),C&&C.info(`Beacon iterations Exp: ${I.numIterationsExp}`))}return C&&C.info("-------------------------"),C&&C.info("ZKey Ok!"),!0;async function D(A,I){const g=2*E.G1.F.n8,C=A.byteLength/g,Q=E.tm.concurrency,B=Math.floor(C/Q),t=[];for(let g=0;go.contributions.length)return Q&&Q.error("The impoerted file does not include new contributions"),!1;for(let A=0;A=256)return B&&B.error("Maximum lenght of beacon hash is 255 bytes"),!1;if((Q=parseInt(Q))<10||Q>63)return B&&B.error("Invalid numIterationsExp. (Must be between 10 and 63)"),!1;const{fd:i,sections:E}=await LI(A,"zkey",2),e=await hg(i,E,"groth16"),n=await ZI(e.q),a=await wg(i,n,E),o=await JI(I,"zkey",1,10),h=await Bg(t,Q),r=zI(64);r.update(a.csHash);for(let A=0;A",i);const E=`[${C.vk_beta_2[0][1].toString()},${C.vk_beta_2[0][0].toString()}], [${C.vk_beta_2[1][1].toString()},${C.vk_beta_2[1][0].toString()}]`;t=t.replace("<%vk_beta2%>",E);const e=`[${C.vk_gamma_2[0][1].toString()},${C.vk_gamma_2[0][0].toString()}], [${C.vk_gamma_2[1][1].toString()},${C.vk_gamma_2[1][0].toString()}]`;t=t.replace("<%vk_gamma2%>",e);const n=`[${C.vk_delta_2[0][1].toString()},${C.vk_delta_2[0][0].toString()}], [${C.vk_delta_2[1][1].toString()},${C.vk_delta_2[1][0].toString()}]`;t=t.replace("<%vk_delta2%>",n),t=t.replace("<%vk_input_length%>",(C.IC.length-1).toString()),t=t.replace("<%vk_ic_length%>",C.IC.length.toString());let a="";for(let A=0;A",a),t}});return A.groth16=Ug,A.powersOfTau=Wg,A.r1cs=CC,A.wtns=BC,A.zKey=wC,Object.defineProperty(A,"__esModule",{value:!0}),A}({}); diff --git a/package-lock.json b/package-lock.json index c47a949..bd2230c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,8 +1,3253 @@ { "name": "snarkjs", "version": "0.3.57", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "version": "0.3.57", + "license": "GPL-3.0", + "dependencies": { + "@iden3/binfileutils": "0.0.8", + "blake2b-wasm": "https://github.com/jbaylina/blake2b-wasm.git", + "circom_runtime": "0.1.13", + "fastfile": "0.0.19", + "ffjavascript": "0.2.35", + "logplease": "^1.2.15", + "r1csfile": "0.0.32" + }, + "bin": { + "snarkjs": "build/cli.cjs" + }, + "devDependencies": { + "@rollup/plugin-commonjs": "^17.0.0", + "@rollup/plugin-json": "^4.1.0", + "@rollup/plugin-node-resolve": "^11.1.0", + "@rollup/plugin-replace": "^2.3.4", + "@rollup/plugin-virtual": "^2.0.3", + "chai": "^4.2.0", + "eslint": "^6.8.0", + "mocha": "^7.1.1", + "rollup": "^2.36.2", + "rollup-plugin-terser": "^7.0.2", + "rollup-plugin-visualizer": "^4.2.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "node_modules/@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@iden3/bigarray": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@iden3/bigarray/-/bigarray-0.0.2.tgz", + "integrity": "sha512-Xzdyxqm1bOFF6pdIsiHLLl3HkSLjbhqJHVyqaTxXt3RqXBEnmsUmEW47H7VOi/ak7TdkRpNkxjyK5Zbkm+y52g==" + }, + "node_modules/@iden3/binfileutils": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/@iden3/binfileutils/-/binfileutils-0.0.8.tgz", + "integrity": "sha512-/GqTsujUssGuQY+sd/XaLrA+OiCwzm+6yH28C57QQDWCHET2Logry9fGxU10n6XKdhCQBjZ7T/YMQkLwwkpRTQ==", + "dependencies": { + "fastfile": "0.0.19", + "ffjavascript": "^0.2.30" + } + }, + "node_modules/@rollup/plugin-commonjs": { + "version": "17.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-17.0.0.tgz", + "integrity": "sha512-/omBIJG1nHQc+bgkYDuLpb/V08QyutP9amOrJRUSlYJZP+b/68gM//D8sxJe3Yry2QnYIr3QjR3x4AlxJEN3GA==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "commondir": "^1.0.1", + "estree-walker": "^2.0.1", + "glob": "^7.1.6", + "is-reference": "^1.2.1", + "magic-string": "^0.25.7", + "resolve": "^1.17.0" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/@rollup/plugin-json": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz", + "integrity": "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.0.8" + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.1.0.tgz", + "integrity": "sha512-ouBBppRdWJKCllDXGzJ7ZIkYbaq+5TmyP0smt1vdJCFfoZhLi31vhpmjLhyo8lreHf4RoeSNllaWrvSqHpHRog==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/@rollup/plugin-replace": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.3.4.tgz", + "integrity": "sha512-waBhMzyAtjCL1GwZes2jaE9MjuQ/DQF2BatH3fRivUF3z0JBFrU0U6iBNC/4WR+2rLKhaAhPWDNPYp4mI6RqdQ==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + } + }, + "node_modules/@rollup/plugin-virtual": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-virtual/-/plugin-virtual-2.0.3.tgz", + "integrity": "sha512-pw6ziJcyjZtntQ//bkad9qXaBx665SgEL8C8KI5wO8G5iU5MPxvdWrQyVaAvjojGm9tJoS8M9Z/EEepbqieYmw==", + "dev": true + }, + "node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + }, + "node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "dev": true + }, + "node_modules/@types/node": { + "version": "14.14.22", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.22.tgz", + "integrity": "sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==", + "dev": true + }, + "node_modules/@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", + "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "dev": true, + "dependencies": { + "type-fest": "^0.11.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", + "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "node_modules/big-integer": { + "version": "1.6.48", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.48.tgz", + "integrity": "sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/blake2b-wasm": { + "resolved": "git+ssh://git@github.com/jbaylina/blake2b-wasm.git#0d5f024b212429c7f50a7f533aa3a2406b5b42b3", + "dependencies": { + "nanoassert": "^1.0.0" + } + }, + "node_modules/blakejs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.1.0.tgz", + "integrity": "sha1-ad+S75U6qIylGjLfarHFShVfx6U=" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true + }, + "node_modules/buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "node_modules/builtin-modules": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", + "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/chai": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", + "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", + "dev": true, + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^3.0.1", + "get-func-name": "^2.0.0", + "pathval": "^1.1.0", + "type-detect": "^4.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "node_modules/check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/circom_runtime": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/circom_runtime/-/circom_runtime-0.1.13.tgz", + "integrity": "sha512-vmv19/0p5OTe5uCI7PWqPtB5vPoYWjczqKYnabaC5HOxX99R4K1MuNqEXsNEAoEfZrmfAQd7vXLcATN9NVnsPA==", + "dependencies": { + "ffjavascript": "0.2.35", + "fnv-plus": "^1.3.1" + }, + "bin": { + "calcwit": "calcwit.js" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/cross-spawn/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/cross-spawn/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/debug": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", + "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/deep-eql": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", + "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "dev": true, + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "node_modules/es-abstract": { + "version": "1.18.0-next.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", + "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.1", + "object-inspect": "^1.9.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.3", + "string.prototype.trimstart": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-abstract/node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", + "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.10.0", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^5.0.0", + "eslint-utils": "^1.4.3", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.1.2", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.0.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^7.0.0", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.14", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.3", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^6.1.2", + "strip-ansi": "^5.2.0", + "strip-json-comments": "^3.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "node_modules/fastfile": { + "version": "0.0.19", + "resolved": "https://registry.npmjs.org/fastfile/-/fastfile-0.0.19.tgz", + "integrity": "sha512-tz9nWR5KYb6eR2odFQ7oxqEkx8F3YQZ6NBJoJR92YEG3DqYOqyxMck8PKvTVNKx3uwvOqGnLXNScnqpdHRdHGQ==" + }, + "node_modules/ffjavascript": { + "version": "0.2.35", + "resolved": "https://registry.npmjs.org/ffjavascript/-/ffjavascript-0.2.35.tgz", + "integrity": "sha512-xnC51tWbi0ah4SH+02jEfJyO+P+NiZWnxQrLDLtBYY1Dv3QM5ydxzd+gxnLEfWdT8i1bMM5pIh5P25l6fNCaVQ==", + "dependencies": { + "big-integer": "^1.6.48", + "wasmcurves": "0.0.14", + "web-worker": "^1.0.0" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "dependencies": { + "flat-cache": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "dependencies": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, + "node_modules/fnv-plus": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/fnv-plus/-/fnv-plus-1.3.1.tgz", + "integrity": "sha512-Gz1EvfOneuFfk4yG458dJ3TLJ7gV19q3OM/vVvvHf7eT02Hm1DleB4edsia6ahbKgAYxO9gvyQ1ioWZR+a00Yw==" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", + "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz", + "integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "12.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz", + "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==", + "dev": true, + "dependencies": { + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/growl": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "dev": true, + "engines": { + "node": ">=4.x" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/inquirer": { + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", + "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.19", + "mute-stream": "0.0.8", + "run-async": "^2.4.0", + "rxjs": "^6.6.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/inquirer/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/inquirer/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-callable": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + } + }, + "node_modules/is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-docker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", + "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", + "dev": true + }, + "node_modules/is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "dev": true, + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/is-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", + "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "node_modules/logplease": { + "version": "1.2.15", + "resolved": "https://registry.npmjs.org/logplease/-/logplease-1.2.15.tgz", + "integrity": "sha512-jLlHnlsPSJjpwUfcNyUxXCl33AYg2cHhIf9QhGL2T4iPT0XPB+xP1LRKFPgIg1M/sg9kAJvy94w9CzBNrfnstA==" + }, + "node_modules/magic-string": { + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", + "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "dev": true, + "dependencies": { + "sourcemap-codec": "^1.4.4" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mocha": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.2.0.tgz", + "integrity": "sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==", + "dev": true, + "dependencies": { + "ansi-colors": "3.2.3", + "browser-stdout": "1.3.1", + "chokidar": "3.3.0", + "debug": "3.2.6", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "find-up": "3.0.0", + "glob": "7.1.3", + "growl": "1.10.5", + "he": "1.2.0", + "js-yaml": "3.13.1", + "log-symbols": "3.0.0", + "minimatch": "3.0.4", + "mkdirp": "0.5.5", + "ms": "2.1.1", + "node-environment-flags": "1.0.6", + "object.assign": "4.1.0", + "strip-json-comments": "2.0.1", + "supports-color": "6.0.0", + "which": "1.3.1", + "wide-align": "1.1.3", + "yargs": "13.3.2", + "yargs-parser": "13.1.2", + "yargs-unparser": "1.6.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha" + }, + "engines": { + "node": ">= 8.10.0" + } + }, + "node_modules/mocha/node_modules/ansi-colors": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", + "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/mocha/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mocha/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mocha/node_modules/chalk/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mocha/node_modules/chokidar": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", + "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.1.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.2.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.1.1" + } + }, + "node_modules/mocha/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/mocha/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/mocha/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/mocha/node_modules/diff": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/mocha/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/mocha/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/mocha/node_modules/flat": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", + "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", + "dev": true, + "dependencies": { + "is-buffer": "~2.0.3" + }, + "bin": { + "flat": "cli.js" + } + }, + "node_modules/mocha/node_modules/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mocha/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/mocha/node_modules/js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/mocha/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/mocha/node_modules/log-symbols": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", + "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "node_modules/mocha/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/mocha/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/mocha/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/mocha/node_modules/readdirp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", + "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", + "dev": true, + "dependencies": { + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mocha/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mocha/node_modules/supports-color": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", + "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/mocha/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/mocha/node_modules/yargs-unparser": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", + "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", + "dev": true, + "dependencies": { + "flat": "^4.1.0", + "lodash": "^4.17.15", + "yargs": "^13.3.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "node_modules/nanoassert": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/nanoassert/-/nanoassert-1.1.0.tgz", + "integrity": "sha1-TzFS4JVA/eKMdvRLGbvNHVpCR40=" + }, + "node_modules/nanoid": { + "version": "3.1.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.12.tgz", + "integrity": "sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || >=13.7" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node_modules/node-environment-flags": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", + "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", + "dev": true, + "dependencies": { + "object.getownpropertydescriptors": "^2.0.3", + "semver": "^5.7.0" + } + }, + "node_modules/node-environment-flags/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==", + "dev": true + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.getownpropertydescriptors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz", + "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/open": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/open/-/open-7.3.1.tgz", + "integrity": "sha512-f2wt9DCBKKjlFbjzGb8MOAW8LH8F0mrs1zc7KTjAJ9PZNQbfenzWbNP1VZJvw6ICMG9r14Ah6yfwPn7T7i646A==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "node_modules/pathval": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", + "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/r1csfile": { + "version": "0.0.32", + "resolved": "https://registry.npmjs.org/r1csfile/-/r1csfile-0.0.32.tgz", + "integrity": "sha512-DkRXeOg0iRmfhgIuWICvdkOiLHpyb7+AcUd/WHpqBJEUp27pe7wKXBR4Jr3TPYCT4sTV9a/F3bovyAC4wystnQ==", + "dependencies": { + "@iden3/bigarray": "0.0.2", + "@iden3/binfileutils": "0.0.8", + "fastfile": "0.0.19", + "ffjavascript": "0.2.35" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true, + "engines": { + "node": ">=6.5.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "dev": true, + "dependencies": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/rollup": { + "version": "2.37.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.37.1.tgz", + "integrity": "sha512-V3ojEeyGeSdrMSuhP3diBb06P+qV4gKQeanbDv+Qh/BZbhdZ7kHV0xAt8Yjk4GFshq/WjO7R4c7DFM20AwTFVQ==", + "dev": true, + "dependencies": { + "fsevents": "~2.1.2" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.1.2" + } + }, + "node_modules/rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + } + }, + "node_modules/rollup-plugin-terser/node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/rollup-plugin-visualizer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-4.2.0.tgz", + "integrity": "sha512-xjfvoK4x0G7lBT3toMx8K/9tkCEWhRehnSJnn+PLY3Hjk8sNvyo407b68Cd3hdV9j42xcb8HXt0ZrmRi5NWeaQ==", + "dev": true, + "dependencies": { + "nanoid": "^3.0.1", + "open": "^7.0.3", + "source-map": "^0.7.3", + "yargs": "^16.0.3" + }, + "bin": { + "rollup-plugin-visualizer": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/rollup-plugin-visualizer/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/rollup-plugin-visualizer/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/rollup-plugin-visualizer/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/rollup-plugin-visualizer/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/rollup-plugin-visualizer/node_modules/string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/rollup-plugin-visualizer/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/rollup-plugin-visualizer/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/rollup-plugin-visualizer/node_modules/y18n": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", + "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/rollup-plugin-visualizer/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/rollup-plugin-visualizer/node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/rxjs": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", + "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true + }, + "node_modules/slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/slice-ansi/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/slice-ansi/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", + "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", + "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, + "node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "dependencies": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/table/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/table/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/table/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.5.1.tgz", + "integrity": "sha512-6VGWZNVP2KTUcltUQJ25TtNjx/XgdDsBDKGt8nN0MpydU36LmbPPcMBd2kmtZNNGVVDLg44k7GKeHHj+4zPIBQ==", + "dev": true, + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.19" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", + "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==", + "dev": true + }, + "node_modules/wasmcurves": { + "version": "0.0.14", + "resolved": "https://registry.npmjs.org/wasmcurves/-/wasmcurves-0.0.14.tgz", + "integrity": "sha512-G1iMkxlRaQSdqQ1JrwHcU+awLmwyH6kFKfT8g9obd8MWe+u5oSdFXrODB0zmSI5aGGvJPG+4cAmqCGYv9R+7qg==", + "dependencies": { + "big-integer": "^1.6.42", + "blakejs": "^1.1.0" + } + }, + "node_modules/web-worker": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.0.0.tgz", + "integrity": "sha512-BzuMqeKVkKKwHV6tJuwePFcxYMxvC97D448mXTgh/CxXAB4sRtoV26gRPN+JDxsXRR7QZyioMV9O6NzQaASf7Q==" + }, + "node_modules/which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "node_modules/wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "dependencies": { + "string-width": "^1.0.2 || 2" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "node_modules/write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "dependencies": { + "mkdirp": "^0.5.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/y18n": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "dev": true + }, + "node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "dependencies": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + } + }, "dependencies": { "@babel/code-frame": { "version": "7.12.11", @@ -196,11 +3441,6 @@ "@types/node": "*" } }, - "@ungap/promise-all-settled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==" - }, "acorn": { "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", @@ -225,11 +3465,6 @@ "uri-js": "^4.2.2" } }, - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" - }, "ansi-escapes": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", @@ -250,12 +3485,14 @@ "ansi-regex": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "requires": { "color-convert": "^2.0.1" } @@ -264,6 +3501,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "dev": true, "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -273,6 +3511,7 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, "requires": { "sprintf-js": "~1.0.2" } @@ -292,7 +3531,8 @@ "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true }, "big-integer": { "version": "1.6.48", @@ -302,11 +3542,12 @@ "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true }, "blake2b-wasm": { - "version": "git+https://github.com/jbaylina/blake2b-wasm.git#0d5f024b212429c7f50a7f533aa3a2406b5b42b3", - "from": "git+https://github.com/jbaylina/blake2b-wasm.git", + "version": "git+ssh://git@github.com/jbaylina/blake2b-wasm.git#0d5f024b212429c7f50a7f533aa3a2406b5b42b3", + "from": "blake2b-wasm@https://github.com/jbaylina/blake2b-wasm.git", "requires": { "nanoassert": "^1.0.0" } @@ -320,6 +3561,7 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -329,6 +3571,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, "requires": { "fill-range": "^7.0.1" } @@ -336,7 +3579,8 @@ "browser-stdout": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true }, "buffer-from": { "version": "1.1.1", @@ -369,7 +3613,8 @@ "camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true }, "chai": { "version": "4.2.0", @@ -389,6 +3634,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -406,27 +3652,12 @@ "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", "dev": true }, - "chokidar": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", - "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" - } - }, "circom_runtime": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/circom_runtime/-/circom_runtime-0.1.11.tgz", - "integrity": "sha512-WURq9qflXsI7mbYFtjbYUkuZCS8Z5PeEB0NQ8AAaCBO9neomC2gUv+uaHlyKdnGul2ctOvZ/nLQU8xsCgIpTDQ==", + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/circom_runtime/-/circom_runtime-0.1.13.tgz", + "integrity": "sha512-vmv19/0p5OTe5uCI7PWqPtB5vPoYWjczqKYnabaC5HOxX99R4K1MuNqEXsNEAoEfZrmfAQd7vXLcATN9NVnsPA==", "requires": { - "ffjavascript": "0.2.34", + "ffjavascript": "0.2.35", "fnv-plus": "^1.3.1" } }, @@ -449,6 +3680,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, "requires": { "string-width": "^3.1.0", "strip-ansi": "^5.2.0", @@ -458,12 +3690,14 @@ "ansi-regex": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, "requires": { "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", @@ -474,6 +3708,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, "requires": { "ansi-regex": "^4.1.0" } @@ -484,6 +3719,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "requires": { "color-name": "~1.1.4" } @@ -491,7 +3727,8 @@ "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "commander": { "version": "2.20.3", @@ -508,7 +3745,8 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true }, "cross-spawn": { "version": "6.0.5", @@ -544,6 +3782,7 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "dev": true, "requires": { "ms": "2.1.2" } @@ -551,7 +3790,8 @@ "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true }, "deep-eql": { "version": "3.0.1", @@ -583,11 +3823,6 @@ "object-keys": "^1.0.12" } }, - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" - }, "doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -600,7 +3835,8 @@ "emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true }, "es-abstract": { "version": "1.18.0-next.2", @@ -655,11 +3891,6 @@ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" - }, "eslint": { "version": "6.8.0", "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz", @@ -817,7 +4048,8 @@ "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true }, "esquery": { "version": "1.3.1", @@ -906,48 +4138,13 @@ "integrity": "sha512-tz9nWR5KYb6eR2odFQ7oxqEkx8F3YQZ6NBJoJR92YEG3DqYOqyxMck8PKvTVNKx3uwvOqGnLXNScnqpdHRdHGQ==" }, "ffjavascript": { - "version": "0.2.34", - "resolved": "https://registry.npmjs.org/ffjavascript/-/ffjavascript-0.2.34.tgz", - "integrity": "sha512-fq/qfJluC4spiOD1lp5jfckZVnS0o0kI5eKXVLw7UKwIwbNr+NBMBveBVcidSfMizF87T6wb7NBtLSdckQiAnQ==", + "version": "0.2.35", + "resolved": "https://registry.npmjs.org/ffjavascript/-/ffjavascript-0.2.35.tgz", + "integrity": "sha512-xnC51tWbi0ah4SH+02jEfJyO+P+NiZWnxQrLDLtBYY1Dv3QM5ydxzd+gxnLEfWdT8i1bMM5pIh5P25l6fNCaVQ==", "requires": { "big-integer": "^1.6.48", - "mocha": "^8.2.1", "wasmcurves": "0.0.14", - "worker-threads": "^1.0.0" - }, - "dependencies": { - "mocha": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.2.1.tgz", - "integrity": "sha512-cuLBVfyFfFqbNR0uUKbDGXKGk+UDFe6aR4os78XIrMQpZl/nv7JYHcvP5MFIAb374b2zFXsdgEGwmzMtP0Xg8w==", - "requires": { - "@ungap/promise-all-settled": "1.1.2", - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.4.3", - "debug": "4.2.0", - "diff": "4.0.2", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.1.6", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "3.14.0", - "log-symbols": "4.0.0", - "minimatch": "3.0.4", - "ms": "2.1.2", - "nanoid": "3.1.12", - "serialize-javascript": "5.0.1", - "strip-json-comments": "3.1.1", - "supports-color": "7.2.0", - "which": "2.0.2", - "wide-align": "1.1.3", - "workerpool": "6.0.2", - "yargs": "13.3.2", - "yargs-parser": "13.1.2", - "yargs-unparser": "2.0.0" - } - } + "web-worker": "^1.0.0" } }, "figures": { @@ -980,24 +4177,11 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, "requires": { "to-regex-range": "^5.0.1" } }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" - }, "flat-cache": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", @@ -1023,12 +4207,14 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true }, "fsevents": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "dev": true, "optional": true }, "function-bind": { @@ -1046,7 +4232,8 @@ "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true }, "get-func-name": { "version": "2.0.0", @@ -1069,6 +4256,7 @@ "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -1082,6 +4270,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "dev": true, "requires": { "is-glob": "^4.0.1" } @@ -1098,7 +4287,8 @@ "growl": { "version": "1.10.5", "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==" + "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "dev": true }, "has": { "version": "1.0.3", @@ -1112,7 +4302,8 @@ "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true }, "has-symbols": { "version": "1.0.1", @@ -1123,7 +4314,8 @@ "he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true }, "iconv-lite": { "version": "0.4.24", @@ -1160,6 +4352,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -1168,7 +4361,8 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, "inquirer": { "version": "7.3.3", @@ -1235,6 +4429,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, "requires": { "binary-extensions": "^2.0.0" } @@ -1275,17 +4470,20 @@ "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true }, "is-glob": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, "requires": { "is-extglob": "^2.1.1" } @@ -1305,12 +4503,8 @@ "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true }, "is-reference": { "version": "1.2.1", @@ -1351,7 +4545,8 @@ "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true }, "jest-worker": { "version": "26.6.2", @@ -1374,6 +4569,7 @@ "version": "3.14.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "dev": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -1401,28 +4597,12 @@ "type-check": "~0.3.2" } }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "requires": { - "p-locate": "^5.0.0" - } - }, "lodash": { "version": "4.17.20", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", "dev": true }, - "log-symbols": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", - "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", - "requires": { - "chalk": "^4.0.0" - } - }, "logplease": { "version": "1.2.15", "resolved": "https://registry.npmjs.org/logplease/-/logplease-1.2.15.tgz", @@ -1453,6 +4633,7 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -1739,7 +4920,8 @@ "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "mute-stream": { "version": "0.0.8", @@ -1755,7 +4937,8 @@ "nanoid": { "version": "3.1.12", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.12.tgz", - "integrity": "sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A==" + "integrity": "sha512-1qstj9z5+x491jfiC4Nelk+f8XBad7LN20PmyWINJEMRSf3wcAjAWysw1qaA8z6NSKe2sjq1hRSDpBH5paCb6A==", + "dev": true }, "natural-compare": { "version": "1.4.0", @@ -1790,7 +4973,8 @@ "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true }, "object-inspect": { "version": "1.9.0", @@ -1831,6 +5015,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, "requires": { "wrappy": "1" } @@ -1874,26 +5059,11 @@ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "requires": { - "p-limit": "^3.0.2" - } - }, "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true }, "parent-module": { "version": "1.0.1", @@ -1904,15 +5074,11 @@ "callsites": "^3.0.0" } }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true }, "path-key": { "version": "2.0.1", @@ -1935,7 +5101,8 @@ "picomatch": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "dev": true }, "prelude-ls": { "version": "1.1.2", @@ -1956,32 +5123,25 @@ "dev": true }, "r1csfile": { - "version": "0.0.31", - "resolved": "https://registry.npmjs.org/r1csfile/-/r1csfile-0.0.31.tgz", - "integrity": "sha512-17rO9PhNgFvHWfwU0cUOOCZazLGrmFQ8hJjvZG4BGEYhBKNcJv8iMchQF7KCk2ObgXGnW08zRB/9+svJtdXY3w==", + "version": "0.0.32", + "resolved": "https://registry.npmjs.org/r1csfile/-/r1csfile-0.0.32.tgz", + "integrity": "sha512-DkRXeOg0iRmfhgIuWICvdkOiLHpyb7+AcUd/WHpqBJEUp27pe7wKXBR4Jr3TPYCT4sTV9a/F3bovyAC4wystnQ==", "requires": { "@iden3/bigarray": "0.0.2", "@iden3/binfileutils": "0.0.8", "fastfile": "0.0.19", - "ffjavascript": "0.2.34" + "ffjavascript": "0.2.35" } }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, "requires": { "safe-buffer": "^5.1.0" } }, - "readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", - "requires": { - "picomatch": "^2.2.1" - } - }, "regexpp": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", @@ -1991,12 +5151,14 @@ "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true }, "require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true }, "resolve": { "version": "1.19.0", @@ -2184,7 +5346,8 @@ "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true }, "safer-buffer": { "version": "2.1.2", @@ -2198,18 +5361,11 @@ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true }, - "serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", - "requires": { - "randombytes": "^2.1.0" - } - }, "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true }, "shebang-command": { "version": "1.2.0", @@ -2302,12 +5458,14 @@ "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, "requires": { "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^4.0.0" @@ -2337,6 +5495,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, "requires": { "ansi-regex": "^3.0.0" } @@ -2344,12 +5503,14 @@ "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -2430,6 +5591,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, "requires": { "is-number": "^7.0.0" } @@ -2485,23 +5647,22 @@ "blakejs": "^1.1.0" } }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } + "web-worker": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.0.0.tgz", + "integrity": "sha512-BzuMqeKVkKKwHV6tJuwePFcxYMxvC97D448mXTgh/CxXAB4sRtoV26gRPN+JDxsXRR7QZyioMV9O6NzQaASf7Q==" }, "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true }, "wide-align": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, "requires": { "string-width": "^1.0.2 || 2" } @@ -2512,20 +5673,11 @@ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true }, - "worker-threads": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/worker-threads/-/worker-threads-1.0.0.tgz", - "integrity": "sha512-vK6Hhvph8oLxocEJIlc3YfGAZhm210uGzjZsXSu+JYLAQ/s/w4Tqgl60JrdH58hW8NSGP4m3bp8a92qPXgX05w==" - }, - "workerpool": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.0.2.tgz", - "integrity": "sha512-DSNyvOpFKrNusaaUwk+ej6cBj1bmhLcBfj80elGk+ZIo5JSkq+unB1dLKEOcNfJDZgjGICfhQ0Q5TbP0PvF4+Q==" - }, "wrap-ansi": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, "requires": { "ansi-styles": "^3.2.0", "string-width": "^3.0.0", @@ -2535,12 +5687,14 @@ "ansi-regex": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true }, "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, "requires": { "color-convert": "^1.9.0" } @@ -2549,6 +5703,7 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, "requires": { "color-name": "1.1.3" } @@ -2556,12 +5711,14 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, "requires": { "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", @@ -2572,6 +5729,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, "requires": { "ansi-regex": "^4.1.0" } @@ -2581,7 +5739,8 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true }, "write": { "version": "1.0.3", @@ -2595,12 +5754,14 @@ "y18n": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", - "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==" + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "dev": true }, "yargs": { "version": "13.3.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, "requires": { "cliui": "^5.0.0", "find-up": "^3.0.0", @@ -2617,12 +5778,14 @@ "ansi-regex": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true }, "find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, "requires": { "locate-path": "^3.0.0" } @@ -2631,6 +5794,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, "requires": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -2640,6 +5804,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, "requires": { "p-try": "^2.0.0" } @@ -2648,6 +5813,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, "requires": { "p-limit": "^2.0.0" } @@ -2655,12 +5821,14 @@ "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, "requires": { "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", @@ -2671,6 +5839,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, "requires": { "ansi-regex": "^4.1.0" } @@ -2681,38 +5850,11 @@ "version": "13.1.2", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, "requires": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" } - }, - "yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", - "requires": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" - }, - "dependencies": { - "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==" - }, - "decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==" - } - } - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" } } } diff --git a/package.json b/package.json index ee05773..cbbe95f 100644 --- a/package.json +++ b/package.json @@ -40,11 +40,11 @@ "dependencies": { "@iden3/binfileutils": "0.0.8", "blake2b-wasm": "https://github.com/jbaylina/blake2b-wasm.git", - "circom_runtime": "0.1.11", + "circom_runtime": "0.1.13", "fastfile": "0.0.19", - "ffjavascript": "0.2.34", + "ffjavascript": "0.2.35", "logplease": "^1.2.15", - "r1csfile": "0.0.31" + "r1csfile": "0.0.32" }, "devDependencies": { "@rollup/plugin-commonjs": "^17.0.0",