Pure Javascript OCR for more than 100 Languages 📖🎉🖥
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

1 lines
268 KiB

{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/buffer/index.js","webpack:///(webpack)/buildin/global.js","webpack:///./src/browser/worker.js","webpack:///./src/common/worker.js","webpack:///./node_modules/tesseract.js-utils/src/index.browser.js","webpack:///./node_modules/tesseract.js-utils/src/common/browser/cache.js","webpack:///./node_modules/idb-keyval/dist/idb-keyval.mjs","webpack:///./node_modules/tesseract.js-utils/src/loadLang.js","webpack:///./node_modules/tesseract.js-utils/src/common/browser/fetch.js","webpack:///./node_modules/whatwg-fetch/fetch.js","webpack:///./node_modules/tesseract.js-utils/src/common/browser/gunzip.js","webpack:///./node_modules/zlibjs/bin/node-zlib.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/isarray/index.js","webpack:///./node_modules/tesseract.js-utils/src/readImage.js","webpack:///./node_modules/bmp-js/index.js","webpack:///./node_modules/bmp-js/lib/encoder.js","webpack:///./node_modules/bmp-js/lib/decoder.js","webpack:///./node_modules/file-type/index.js","webpack:///./src/common/dump.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","global","base64","ieee754","isArray","kMaxLength","Buffer","TYPED_ARRAY_SUPPORT","createBuffer","that","length","RangeError","Uint8Array","__proto__","arg","encodingOrOffset","this","Error","allocUnsafe","from","TypeError","ArrayBuffer","array","byteOffset","byteLength","undefined","fromArrayLike","fromArrayBuffer","string","encoding","isEncoding","actual","write","slice","fromString","obj","isBuffer","len","checked","copy","buffer","val","type","data","fromObject","assertSize","size","toString","isView","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","swap","b","bidirectionalIndexOf","dir","isNaN","arrayIndexOf","indexOf","lastIndexOf","arr","indexSize","arrLength","valLength","String","read","buf","readUInt16BE","foundIndex","found","j","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","substr","utf8Write","blitBuffer","asciiWrite","str","byteArray","push","charCodeAt","asciiToBytes","latin1Write","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","base64Slice","start","end","fromByteArray","utf8Slice","Math","min","res","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","apply","decodeCodePointsArray","SlowBuffer","alloc","INSPECT_MAX_BYTES","foo","subarray","e","typedArraySupport","poolSize","_augment","species","configurable","fill","allocUnsafeSlow","_isBuffer","compare","a","x","y","concat","list","pos","swap16","swap32","swap64","arguments","hexSlice","asciiSlice","latin1Slice","utf16leSlice","equals","inspect","max","match","join","target","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","toJSON","Array","_arr","ret","out","toHex","bytes","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","floor","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","set","code","INVALID_BASE64_RE","Infinity","leadSurrogate","toByteArray","trim","replace","stringtrim","base64clean","src","dst","g","Function","eval","window","workerUtils","addEventListener","dispatchHandlers","postMessage","setAdapter","getCore","req","TesseractCore","progress","status","importScripts","workerOptions","corePath","WebAssembly","TesseractCoreWASM","TesseractCoreASM","readImage","loadLang","dump","Module","base","latestJob","adapter","setImage","image","w","h","bytesPerPixel","pix","SetImage","SetRectangle","handleInit","MIN_MEMORY","options","lang","TOTAL_MEMORY","Core","[object Object]","percent","then","TessModule","TessBaseAPI","Promise","resolve","loadLanguage","langPath","langs","tessModule","langURI","packet","send","respond","jobId","action","reject","progressUpdate","Init","keys","forEach","SetVariable","ptr","Recognize","result","End","_free","handleRecognize","payload","SetPageSegMode","PSM_OSD_ONLY","results","OSResults","DetectOS","best","get_best_result","oid","get_orientation_id","sid","get_script_id","tesseract_script_id","script","get_unicharset","get_script_from_script_id","script_confidence","get_sconfidence","orientation_degrees","orientation_confidence","get_oconfidence","handleDetect","err","impl","cache","fetch","gunzip","del","readCache","writeCache","deleteCache","checkCache","path","v","__webpack_exports__","Store","clear","dbName","storeName","_dbp","openreq","indexedDB","open","onerror","error","onsuccess","onupgradeneeded","createObjectStore","callback","db","transaction","oncomplete","onabort","objectStore","store","getDefaultStore","_withIDBStore","put","delete","openKeyCursor","openCursor","continue","handleLang","dataPath","cachePath","cacheMethod","FS","mkdir","writeFile","all","split","map","catch","resp","arrayBuffer","loadAndGunzipFile","Headers","Request","Response","DOMException","support","searchParams","self","iterable","blob","Blob","formData","viewClasses","isArrayBufferView","normalizeName","test","normalizeValue","iteratorFor","items","iterator","next","shift","done","headers","append","header","getOwnPropertyNames","consumed","body","bodyUsed","fileReaderReady","reader","onload","readBlobAsArrayBuffer","FileReader","promise","readAsArrayBuffer","bufferClone","view","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","DataView","_bodyArrayBuffer","rejected","text","readAsText","chars","readArrayBufferAsText","decode","json","JSON","parse","oldValue","has","thisArg","values","entries","methods","input","method","upcased","url","credentials","signal","toUpperCase","referrer","form","decodeURIComponent","bodyInit","ok","statusText","clone","response","redirectStatuses","redirect","location","message","stack","constructor","init","request","aborted","xhr","XMLHttpRequest","abortXhr","abort","rawHeaders","getAllResponseHeaders","line","parts","responseURL","responseText","ontimeout","withCredentials","responseType","setRequestHeader","onreadystatechange","readyState","removeEventListener","polyfill","gunzipSync","process","q","B","Uint16Array","Uint32Array","G","index","f","k","I","finish","L","aa","ba","R","ca","ha","S","ia","ja","ka","T","POSITIVE_INFINITY","na","oa","F","lazy","compressionType","outputBuffer","outputIndex","getParent","pop","U","pa","NONE","X","qa","va","N","C","u","ra","M","z","Y","da","Fa","ea","Ga","la","Ha","Z","ma","E","Ia","D","qb","ta","ua","sa","O","A","fa","H","Ja","Ka","K","J","P","Q","Na","ga","wa","Oa","Pa","Qa","Ra","La","Ma","xa","ya","za","Aa","Ba","flags","filename","comment","deflateOptions","fname","Ca","fcomment","Da","fhcrc","Ea","Date","now","Sa","V","Ta","bufferSize","bufferType","resize","Ua","W","Va","Wa","Xa","Ya","$","ib","Za","$a","ab","bb","cb","eb","fb","gb","hb","kb","lb","jb","mb","nb","ob","verify","pb","rb","sb","ub","Bb","wb","noBuffer","yb","Ab","LOG2E","log","deflate","nextTick","deflateSync","inflate","inflateSync","gzip","gzipSync","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","run","marker","runClearTimeout","Item","noop","args","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask","b64","placeHoldersCount","tmp","placeHolders","Arr","revLookup","uint8","extraBytes","output","len2","encodeChunk","lookup","num","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","rt","abs","LN2","bmp","fileType","iBuf","mime","bmpBuf","_malloc","BYTES_PER_ELEMENT","HEAPU8","width","height","_pixReadMem","getValue","setValue","idx","encode","BmpEncoder","imgData","rgbSize","headerInfoSize","flag","reserved","fileSize","planes","bitPP","compress","hr","vr","colors","importantColors","tempBuffer","rowBytes","fillOffset","quality","BmpDecoder","is_with_alpha","bottom_up","parseHeader","parseRGBA","headerSize","rawSize","palette","blue","green","red","quad","bitn","bit1","xlen","ceil","rgb","bit4","lines","low_nibble","setPixelData","rgbIndex","before","after","bit8","bit15","dif_w","_1_5","alpha","bit16","maskRed","maskGreen","maskBlue","mask0","bit24","bit32","getData","bmpData","toBytes","xpiZipFilename","oxmlContentTypes","oxmlRels","readUInt64LE","check","assign","mask","checkString","findNextZipHeaderIndex","startAt","findIndex","el","zipHeaderIndex","oxmlFound","sliced","idPos","docTypePos","findDocType","every","objectSize","ri","GetIterator","blocks","block","para","textline","word","symbol","enumToString","prefix","filter","Begin","IsAtBeginningOf","RIL_BLOCK","poly","BlockPolygon","polygon","getPointer","get_n","px","get_x","py","get_y","_ptaDestroy","paragraphs","GetUTF8Text","confidence","Confidence","baseline","getBaseline","bbox","getBoundingBox","blocktype","BlockType","RIL_PARA","is_ltr","ParagraphIsLtr","RIL_TEXTLINE","words","RIL_WORD","fontInfo","getWordFontAttributes","wordDir","WordDirection","symbols","choices","is_numeric","WordIsNumeric","in_dictionary","WordIsFromDictionary","direction","language","WordRecognitionLanguage","is_bold","is_italic","is_underlined","is_monospace","is_serif","is_smallcaps","font_size","pointsize","font_id","font_name","wc","WordChoiceIterator","Next","destroy","RIL_SYMBOL","is_superscript","SymbolIsSuperscript","is_subscript","SymbolIsSubscript","is_dropcap","SymbolIsDropcap","ci","ChoiceIterator","html","substring","deindent","GetHOCRText","MeanTextConf","psm","GetPageSegMode","oem","Version"],"mappings":"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","file":"worker.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 2);\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return '<Buffer ' + str + '>'\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || Function(\"return this\")() || (1, eval)(\"this\");\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","const workerUtils = require('../common/worker');\n\nglobal.addEventListener('message', ({ data }) => {\n workerUtils.dispatchHandlers(data, obj => postMessage(obj));\n});\n\nworkerUtils.setAdapter({\n getCore: (req, res) => {\n if (!global.TesseractCore) {\n res.progress({ status: 'loading tesseract core', progress: 0 });\n global.importScripts(req.workerOptions.corePath);\n global.TesseractCore = typeof WebAssembly === 'object' ? global.TesseractCoreWASM : global.TesseractCoreASM;\n res.progress({ status: 'loading tesseract core', progress: 1 });\n }\n return global.TesseractCore;\n },\n});\n","const { readImage, loadLang } = require('tesseract.js-utils');\nconst dump = require('./dump');\n\nlet Module;\nlet base;\nlet latestJob;\nlet adapter = {};\n\nconst setImage = (image) => {\n const {\n w, h, bytesPerPixel, data, pix,\n } = readImage(Module, Array.from(image));\n\n if (data === null) {\n base.SetImage(pix);\n } else {\n base.SetImage(data, w, h, bytesPerPixel, w * bytesPerPixel);\n }\n base.SetRectangle(0, 0, w, h);\n return data;\n};\n\nconst handleInit = (req, res) => {\n let MIN_MEMORY = 100663296;\n\n if (['chi_sim', 'chi_tra', 'jpn'].includes(req.options.lang)) {\n MIN_MEMORY = 167772160;\n }\n\n if (!Module || Module.TOTAL_MEMORY < MIN_MEMORY) {\n const Core = adapter.getCore(req, res);\n\n res.progress({ status: 'initializing tesseract', progress: 0 });\n\n return Core({\n // TOTAL_MEMORY: MIN_MEMORY,\n TesseractProgress(percent) {\n latestJob.progress({ status: 'recognizing text', progress: Math.max(0, (percent - 30) / 70) });\n },\n })\n .then((TessModule) => {\n Module = TessModule;\n base = new Module.TessBaseAPI();\n res.progress({ status: 'initialized tesseract', progress: 1 });\n });\n }\n\n return Promise.resolve();\n};\n\nconst loadLanguage = (req) => {\n const { options: { lang }, workerOptions: { langPath } } = req;\n return loadLang({\n langs: lang,\n tessModule: Module,\n langURI: langPath,\n });\n};\n\nconst handleRecognize = (req, res) => (\n handleInit(req, res)\n .then(() => (\n loadLanguage(req)\n .then(() => {\n const { options } = req;\n const progressUpdate = (progress) => {\n res.progress({ status: 'initializing api', progress });\n };\n progressUpdate(0);\n base.Init(null, options.lang);\n progressUpdate(0.3);\n Object.keys(options).forEach((key) => {\n base.SetVariable(key, options[key]);\n });\n progressUpdate(0.6);\n const ptr = setImage(req.image);\n progressUpdate(1);\n base.Recognize(null);\n const result = dump(Module, base);\n base.End();\n Module._free(ptr);\n res.resolve(result);\n })\n ))\n);\n\n\nconst handleDetect = (req, res) => (\n handleInit(req, res)\n .then(() => (\n loadLanguage({ ...req, options: { ...req.options, lang: 'osd' } })\n .then(() => {\n base.Init(null, 'osd');\n base.SetPageSegMode(Module.PSM_OSD_ONLY);\n\n const ptr = setImage(req.image);\n const results = new Module.OSResults();\n\n if (!base.DetectOS(results)) {\n base.End();\n Module._free(ptr);\n res.reject('Failed to detect OS');\n } else {\n const best = results.get_best_result();\n const oid = best.get_orientation_id();\n const sid = best.get_script_id();\n\n base.End();\n Module._free(ptr);\n\n res.resolve({\n tesseract_script_id: sid,\n script: results.get_unicharset().get_script_from_script_id(sid),\n script_confidence: best.get_sconfidence(),\n orientation_degrees: [0, 270, 180, 90][oid],\n orientation_confidence: best.get_oconfidence(),\n });\n }\n })\n ))\n);\n\nexports.dispatchHandlers = (packet, send) => {\n const respond = (status, data) => {\n send({\n jobId: packet.jobId,\n status,\n action: packet.action,\n data,\n });\n };\n respond.resolve = respond.bind(this, 'resolve');\n respond.reject = respond.bind(this, 'reject');\n respond.progress = respond.bind(this, 'progress');\n\n latestJob = respond;\n\n try {\n if (packet.action === 'recognize') {\n handleRecognize(packet.payload, respond);\n } else if (packet.action === 'detect') {\n handleDetect(packet.payload, respond);\n }\n } catch (err) {\n // Prepare exception to travel through postMessage\n respond.reject(err.toString());\n }\n};\n\nexports.setAdapter = (impl) => {\n adapter = impl;\n};\n","const cache = require('./common/browser/cache');\n\nmodule.exports = {\n loadLang: require('./loadLang')({\n fetch: require('./common/browser/fetch'),\n gunzip: require('./common/browser/gunzip'),\n ...cache,\n }),\n readImage: require('./readImage'),\n cache,\n};\n","const { set, get, del } = require('idb-keyval');\n\nmodule.exports = {\n readCache: get,\n writeCache: set,\n deleteCache: del,\n checkCache: path => (\n get(path)\n .then(v => typeof v !== 'undefined')\n ),\n};\n","class Store {\r\n constructor(dbName = 'keyval-store', storeName = 'keyval') {\r\n this.storeName = storeName;\r\n this._dbp = new Promise((resolve, reject) => {\r\n const openreq = indexedDB.open(dbName, 1);\r\n openreq.onerror = () => reject(openreq.error);\r\n openreq.onsuccess = () => resolve(openreq.result);\r\n // First time setup: create an empty object store\r\n openreq.onupgradeneeded = () => {\r\n openreq.result.createObjectStore(storeName);\r\n };\r\n });\r\n }\r\n _withIDBStore(type, callback) {\r\n return this._dbp.then(db => new Promise((resolve, reject) => {\r\n const transaction = db.transaction(this.storeName, type);\r\n transaction.oncomplete = () => resolve();\r\n transaction.onabort = transaction.onerror = () => reject(transaction.error);\r\n callback(transaction.objectStore(this.storeName));\r\n }));\r\n }\r\n}\r\nlet store;\r\nfunction getDefaultStore() {\r\n if (!store)\r\n store = new Store();\r\n return store;\r\n}\r\nfunction get(key, store = getDefaultStore()) {\r\n let req;\r\n return store._withIDBStore('readonly', store => {\r\n req = store.get(key);\r\n }).then(() => req.result);\r\n}\r\nfunction set(key, value, store = getDefaultStore()) {\r\n return store._withIDBStore('readwrite', store => {\r\n store.put(value, key);\r\n });\r\n}\r\nfunction del(key, store = getDefaultStore()) {\r\n return store._withIDBStore('readwrite', store => {\r\n store.delete(key);\r\n });\r\n}\r\nfunction clear(store = getDefaultStore()) {\r\n return store._withIDBStore('readwrite', store => {\r\n store.clear();\r\n });\r\n}\r\nfunction keys(store = getDefaultStore()) {\r\n const keys = [];\r\n return store._withIDBStore('readonly', store => {\r\n // This would be store.getAllKeys(), but it isn't supported by Edge or Safari.\r\n // And openKeyCursor isn't supported by Safari.\r\n (store.openKeyCursor || store.openCursor).call(store).onsuccess = function () {\r\n if (!this.result)\r\n return;\r\n keys.push(this.result.key);\r\n this.result.continue();\r\n };\r\n }).then(() => keys);\r\n}\n\nexport { Store, get, set, del, clear, keys };\n","const handleLang = modules => ({\n tessModule,\n dataPath,\n cachePath,\n cacheMethod,\n lang,\n}) => (data) => {\n if (tessModule) {\n if (dataPath) {\n try {\n tessModule.FS.mkdir(dataPath);\n } catch (err) {\n // TODO: Do some error handling here.\n }\n }\n tessModule.FS.writeFile(`${dataPath || '.'}/${lang}.traineddata`, data);\n }\n if (['write', 'refresh', undefined].includes(cacheMethod)) {\n return modules.writeCache(`${cachePath || '.'}/${lang}.traineddata`, data)\n .then(() => data);\n }\n\n return data;\n};\n\nconst loadAndGunzipFile = modules => ({\n langURI,\n cachePath,\n cacheMethod,\n ...options\n}) => (lang) => {\n let { readCache } = modules;\n if (['refresh', 'none'].includes(cacheMethod)) {\n readCache = () => Promise.resolve();\n }\n\n return readCache(`${cachePath || '.'}/${lang}.traineddata`)\n .then((data) => {\n if (typeof data === 'undefined') {\n return Promise.reject();\n }\n return handleLang(modules)({\n cachePath, cacheMethod, lang, ...options,\n })(data);\n })\n .catch(() => (\n // console.log(`Download ${lang}.traineddata.gz from ${langURI}/${lang}.traineddata.gz...`);\n modules.fetch(`${langURI}/${lang}.traineddata.gz`)\n .then(resp => resp.arrayBuffer())\n .then(buf => modules.gunzip(new Uint8Array(buf)))\n .then(handleLang(modules)({\n cachePath, cacheMethod, lang, ...options,\n }))\n ));\n};\n\n/**\n * Load language(s) from local cache, download from remote if not in cache.\n *\n * All params below actually store in a object.\n *\n * ex:\n * loadLang({ langs, tesssModule, ... });\n *\n * @name loadLang\n * @function\n * @param {string} langs - langs to load, use '+' for multiple languages, ex: eng+chi_tra\n * @param {object} tessModule - TesseractModule\n * @param {string} langURI - prefix URI for downloading lang file\n * @param {string} cachePath - path to find cache\n * @param {string} dataPath - path to store data in mem\n * @param {string} cacheMethod - method of cache invaliation, should one of following options:\n * write: read cache and write back (default option)\n * readOnly: read cache and not to write back (if cache does not exist, it is the same as none)\n * refresh: not to read cache and write back\n * none: not to read cache and not to write back\n *\n */\nmodule.exports = modules => ({\n langs,\n ...options\n}) => (\n Promise\n .all(langs.split('+').map(loadAndGunzipFile(modules)(options)))\n);\n","const { fetch } = require('whatwg-fetch');\n\nmodule.exports = fetch;\n","var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob()\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n}\n\nfunction isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nif (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n}\n\nfunction normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n}\n\nfunction normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n}\n\n// Build a destructive iterator for the value list\nfunction iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n}\n\nexport function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n}\n\nHeaders.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue + ', ' + value : value\n}\n\nHeaders.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n}\n\nHeaders.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n}\n\nHeaders.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n}\n\nHeaders.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n}\n\nHeaders.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n}\n\nHeaders.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push(name)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.values = function() {\n var items = []\n this.forEach(function(value) {\n items.push(value)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push([name, value])\n })\n return iteratorFor(items)\n}\n\nif (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n}\n\nfunction consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n}\n\nfunction fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n}\n\nfunction readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nfunction readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nfunction readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n}\n\nfunction bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n}\n\nfunction Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n this._bodyText = body = Object.prototype.toString.call(body)\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n}\n\n// HTTP methods whose capitalization should be normalized\nvar methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\nfunction normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return methods.indexOf(upcased) > -1 ? upcased : method\n}\n\nexport function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n this.signal = input.signal\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.signal = options.signal || this.signal\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n}\n\nRequest.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n}\n\nfunction decode(body) {\n var form = new FormData()\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nfunction parseHeaders(rawHeaders) {\n var headers = new Headers()\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n}\n\nBody.call(Request.prototype)\n\nexport function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = options.status === undefined ? 200 : options.status\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n}\n\nBody.call(Response.prototype)\n\nResponse.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n}\n\nResponse.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n}\n\nvar redirectStatuses = [301, 302, 303, 307, 308]\n\nResponse.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n}\n\nexport var DOMException = self.DOMException\ntry {\n new DOMException()\n} catch (err) {\n DOMException = function(message, name) {\n this.message = message\n this.name = name\n var error = Error(message)\n this.stack = error.stack\n }\n DOMException.prototype = Object.create(Error.prototype)\n DOMException.prototype.constructor = DOMException\n}\n\nexport function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n\n if (request.signal && request.signal.aborted) {\n return reject(new DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest()\n\n function abortXhr() {\n xhr.abort()\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.onabort = function() {\n reject(new DOMException('Aborted', 'AbortError'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr)\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr)\n }\n }\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n}\n\nfetch.polyfill = true\n\nif (!self.fetch) {\n self.fetch = fetch\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n}\n","module.exports = require('zlibjs').gunzipSync;\n","/** @license zlib.js 2012 - imaya [ https://github.com/imaya/zlib.js ] The MIT License */(function() {'use strict';function q(b){throw b;}var t=void 0,v=!0;var B=\"undefined\"!==typeof Uint8Array&&\"undefined\"!==typeof Uint16Array&&\"undefined\"!==typeof Uint32Array&&\"undefined\"!==typeof DataView;function G(b,a){this.index=\"number\"===typeof a?a:0;this.m=0;this.buffer=b instanceof(B?Uint8Array:Array)?b:new (B?Uint8Array:Array)(32768);2*this.buffer.length<=this.index&&q(Error(\"invalid index\"));this.buffer.length<=this.index&&this.f()}G.prototype.f=function(){var b=this.buffer,a,c=b.length,d=new (B?Uint8Array:Array)(c<<1);if(B)d.set(b);else for(a=0;a<c;++a)d[a]=b[a];return this.buffer=d};\nG.prototype.d=function(b,a,c){var d=this.buffer,e=this.index,f=this.m,g=d[e],k;c&&1<a&&(b=8<a?(I[b&255]<<24|I[b>>>8&255]<<16|I[b>>>16&255]<<8|I[b>>>24&255])>>32-a:I[b]>>8-a);if(8>a+f)g=g<<a|b,f+=a;else for(k=0;k<a;++k)g=g<<1|b>>a-k-1&1,8===++f&&(f=0,d[e++]=I[g],g=0,e===d.length&&(d=this.f()));d[e]=g;this.buffer=d;this.m=f;this.index=e};G.prototype.finish=function(){var b=this.buffer,a=this.index,c;0<this.m&&(b[a]<<=8-this.m,b[a]=I[b[a]],a++);B?c=b.subarray(0,a):(b.length=a,c=b);return c};\nvar aa=new (B?Uint8Array:Array)(256),L;for(L=0;256>L;++L){for(var R=L,ba=R,ca=7,R=R>>>1;R;R>>>=1)ba<<=1,ba|=R&1,--ca;aa[L]=(ba<<ca&255)>>>0}var I=aa;function ha(b,a,c){var d,e=\"number\"===typeof a?a:a=0,f=\"number\"===typeof c?c:b.length;d=-1;for(e=f&7;e--;++a)d=d>>>8^S[(d^b[a])&255];for(e=f>>3;e--;a+=8)d=d>>>8^S[(d^b[a])&255],d=d>>>8^S[(d^b[a+1])&255],d=d>>>8^S[(d^b[a+2])&255],d=d>>>8^S[(d^b[a+3])&255],d=d>>>8^S[(d^b[a+4])&255],d=d>>>8^S[(d^b[a+5])&255],d=d>>>8^S[(d^b[a+6])&255],d=d>>>8^S[(d^b[a+7])&255];return(d^4294967295)>>>0}\nvar ia=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,\n2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,\n2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,\n2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,\n3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,\n936918E3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117],S=B?new Uint32Array(ia):ia;function ja(){};function ka(b){this.buffer=new (B?Uint16Array:Array)(2*b);this.length=0}ka.prototype.getParent=function(b){return 2*((b-2)/4|0)};ka.prototype.push=function(b,a){var c,d,e=this.buffer,f;c=this.length;e[this.length++]=a;for(e[this.length++]=b;0<c;)if(d=this.getParent(c),e[c]>e[d])f=e[c],e[c]=e[d],e[d]=f,f=e[c+1],e[c+1]=e[d+1],e[d+1]=f,c=d;else break;return this.length};\nka.prototype.pop=function(){var b,a,c=this.buffer,d,e,f;a=c[0];b=c[1];this.length-=2;c[0]=c[this.length];c[1]=c[this.length+1];for(f=0;;){e=2*f+2;if(e>=this.length)break;e+2<this.length&&c[e+2]>c[e]&&(e+=2);if(c[e]>c[f])d=c[f],c[f]=c[e],c[e]=d,d=c[f+1],c[f+1]=c[e+1],c[e+1]=d;else break;f=e}return{index:b,value:a,length:this.length}};function T(b){var a=b.length,c=0,d=Number.POSITIVE_INFINITY,e,f,g,k,h,m,r,p,l,n;for(p=0;p<a;++p)b[p]>c&&(c=b[p]),b[p]<d&&(d=b[p]);e=1<<c;f=new (B?Uint32Array:Array)(e);g=1;k=0;for(h=2;g<=c;){for(p=0;p<a;++p)if(b[p]===g){m=0;r=k;for(l=0;l<g;++l)m=m<<1|r&1,r>>=1;n=g<<16|p;for(l=m;l<e;l+=h)f[l]=n;++k}++g;k<<=1;h<<=1}return[f,c,d]};function na(b,a){this.k=oa;this.F=0;this.input=B&&b instanceof Array?new Uint8Array(b):b;this.b=0;a&&(a.lazy&&(this.F=a.lazy),\"number\"===typeof a.compressionType&&(this.k=a.compressionType),a.outputBuffer&&(this.a=B&&a.outputBuffer instanceof Array?new Uint8Array(a.outputBuffer):a.outputBuffer),\"number\"===typeof a.outputIndex&&(this.b=a.outputIndex));this.a||(this.a=new (B?Uint8Array:Array)(32768))}var oa=2,pa={NONE:0,L:1,t:oa,X:3},qa=[],U;\nfor(U=0;288>U;U++)switch(v){case 143>=U:qa.push([U+48,8]);break;case 255>=U:qa.push([U-144+400,9]);break;case 279>=U:qa.push([U-256+0,7]);break;case 287>=U:qa.push([U-280+192,8]);break;default:q(\"invalid literal: \"+U)}\nna.prototype.h=function(){var b,a,c,d,e=this.input;switch(this.k){case 0:c=0;for(d=e.length;c<d;){a=B?e.subarray(c,c+65535):e.slice(c,c+65535);c+=a.length;var f=a,g=c===d,k=t,h=t,m=t,r=t,p=t,l=this.a,n=this.b;if(B){for(l=new Uint8Array(this.a.buffer);l.length<=n+f.length+5;)l=new Uint8Array(l.length<<1);l.set(this.a)}k=g?1:0;l[n++]=k|0;h=f.length;m=~h+65536&65535;l[n++]=h&255;l[n++]=h>>>8&255;l[n++]=m&255;l[n++]=m>>>8&255;if(B)l.set(f,n),n+=f.length,l=l.subarray(0,n);else{r=0;for(p=f.length;r<p;++r)l[n++]=\nf[r];l.length=n}this.b=n;this.a=l}break;case 1:var s=new G(B?new Uint8Array(this.a.buffer):this.a,this.b);s.d(1,1,v);s.d(1,2,v);var u=ra(this,e),w,C,x;w=0;for(C=u.length;w<C;w++)if(x=u[w],G.prototype.d.apply(s,qa[x]),256<x)s.d(u[++w],u[++w],v),s.d(u[++w],5),s.d(u[++w],u[++w],v);else if(256===x)break;this.a=s.finish();this.b=this.a.length;break;case oa:var D=new G(B?new Uint8Array(this.a.buffer):this.a,this.b),M,z,N,X,Y,qb=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],da,Fa,ea,Ga,la,ta=Array(19),\nHa,Z,ma,E,Ia;M=oa;D.d(1,1,v);D.d(M,2,v);z=ra(this,e);da=sa(this.U,15);Fa=ua(da);ea=sa(this.T,7);Ga=ua(ea);for(N=286;257<N&&0===da[N-1];N--);for(X=30;1<X&&0===ea[X-1];X--);var Ja=N,Ka=X,K=new (B?Uint32Array:Array)(Ja+Ka),y,O,A,fa,J=new (B?Uint32Array:Array)(316),H,F,P=new (B?Uint8Array:Array)(19);for(y=O=0;y<Ja;y++)K[O++]=da[y];for(y=0;y<Ka;y++)K[O++]=ea[y];if(!B){y=0;for(fa=P.length;y<fa;++y)P[y]=0}y=H=0;for(fa=K.length;y<fa;y+=O){for(O=1;y+O<fa&&K[y+O]===K[y];++O);A=O;if(0===K[y])if(3>A)for(;0<A--;)J[H++]=\n0,P[0]++;else for(;0<A;)F=138>A?A:138,F>A-3&&F<A&&(F=A-3),10>=F?(J[H++]=17,J[H++]=F-3,P[17]++):(J[H++]=18,J[H++]=F-11,P[18]++),A-=F;else if(J[H++]=K[y],P[K[y]]++,A--,3>A)for(;0<A--;)J[H++]=K[y],P[K[y]]++;else for(;0<A;)F=6>A?A:6,F>A-3&&F<A&&(F=A-3),J[H++]=16,J[H++]=F-3,P[16]++,A-=F}b=B?J.subarray(0,H):J.slice(0,H);la=sa(P,7);for(E=0;19>E;E++)ta[E]=la[qb[E]];for(Y=19;4<Y&&0===ta[Y-1];Y--);Ha=ua(la);D.d(N-257,5,v);D.d(X-1,5,v);D.d(Y-4,4,v);for(E=0;E<Y;E++)D.d(ta[E],3,v);E=0;for(Ia=b.length;E<Ia;E++)if(Z=\nb[E],D.d(Ha[Z],la[Z],v),16<=Z){E++;switch(Z){case 16:ma=2;break;case 17:ma=3;break;case 18:ma=7;break;default:q(\"invalid code: \"+Z)}D.d(b[E],ma,v)}var La=[Fa,da],Ma=[Ga,ea],Q,Na,ga,wa,Oa,Pa,Qa,Ra;Oa=La[0];Pa=La[1];Qa=Ma[0];Ra=Ma[1];Q=0;for(Na=z.length;Q<Na;++Q)if(ga=z[Q],D.d(Oa[ga],Pa[ga],v),256<ga)D.d(z[++Q],z[++Q],v),wa=z[++Q],D.d(Qa[wa],Ra[wa],v),D.d(z[++Q],z[++Q],v);else if(256===ga)break;this.a=D.finish();this.b=this.a.length;break;default:q(\"invalid compression type\")}return this.a};\nfunction va(b,a){this.length=b;this.N=a}\nvar xa=function(){function b(a){switch(v){case 3===a:return[257,a-3,0];case 4===a:return[258,a-4,0];case 5===a:return[259,a-5,0];case 6===a:return[260,a-6,0];case 7===a:return[261,a-7,0];case 8===a:return[262,a-8,0];case 9===a:return[263,a-9,0];case 10===a:return[264,a-10,0];case 12>=a:return[265,a-11,1];case 14>=a:return[266,a-13,1];case 16>=a:return[267,a-15,1];case 18>=a:return[268,a-17,1];case 22>=a:return[269,a-19,2];case 26>=a:return[270,a-23,2];case 30>=a:return[271,a-27,2];case 34>=a:return[272,\na-31,2];case 42>=a:return[273,a-35,3];case 50>=a:return[274,a-43,3];case 58>=a:return[275,a-51,3];case 66>=a:return[276,a-59,3];case 82>=a:return[277,a-67,4];case 98>=a:return[278,a-83,4];case 114>=a:return[279,a-99,4];case 130>=a:return[280,a-115,4];case 162>=a:return[281,a-131,5];case 194>=a:return[282,a-163,5];case 226>=a:return[283,a-195,5];case 257>=a:return[284,a-227,5];case 258===a:return[285,a-258,0];default:q(\"invalid length: \"+a)}}var a=[],c,d;for(c=3;258>=c;c++)d=b(c),a[c]=d[2]<<24|d[1]<<\n16|d[0];return a}(),ya=B?new Uint32Array(xa):xa;\nfunction ra(b,a){function c(a,c){var b=a.N,d=[],f=0,e;e=ya[a.length];d[f++]=e&65535;d[f++]=e>>16&255;d[f++]=e>>24;var g;switch(v){case 1===b:g=[0,b-1,0];break;case 2===b:g=[1,b-2,0];break;case 3===b:g=[2,b-3,0];break;case 4===b:g=[3,b-4,0];break;case 6>=b:g=[4,b-5,1];break;case 8>=b:g=[5,b-7,1];break;case 12>=b:g=[6,b-9,2];break;case 16>=b:g=[7,b-13,2];break;case 24>=b:g=[8,b-17,3];break;case 32>=b:g=[9,b-25,3];break;case 48>=b:g=[10,b-33,4];break;case 64>=b:g=[11,b-49,4];break;case 96>=b:g=[12,b-\n65,5];break;case 128>=b:g=[13,b-97,5];break;case 192>=b:g=[14,b-129,6];break;case 256>=b:g=[15,b-193,6];break;case 384>=b:g=[16,b-257,7];break;case 512>=b:g=[17,b-385,7];break;case 768>=b:g=[18,b-513,8];break;case 1024>=b:g=[19,b-769,8];break;case 1536>=b:g=[20,b-1025,9];break;case 2048>=b:g=[21,b-1537,9];break;case 3072>=b:g=[22,b-2049,10];break;case 4096>=b:g=[23,b-3073,10];break;case 6144>=b:g=[24,b-4097,11];break;case 8192>=b:g=[25,b-6145,11];break;case 12288>=b:g=[26,b-8193,12];break;case 16384>=\nb:g=[27,b-12289,12];break;case 24576>=b:g=[28,b-16385,13];break;case 32768>=b:g=[29,b-24577,13];break;default:q(\"invalid distance\")}e=g;d[f++]=e[0];d[f++]=e[1];d[f++]=e[2];var h,k;h=0;for(k=d.length;h<k;++h)l[n++]=d[h];u[d[0]]++;w[d[3]]++;s=a.length+c-1;p=null}var d,e,f,g,k,h={},m,r,p,l=B?new Uint16Array(2*a.length):[],n=0,s=0,u=new (B?Uint32Array:Array)(286),w=new (B?Uint32Array:Array)(30),C=b.F,x;if(!B){for(f=0;285>=f;)u[f++]=0;for(f=0;29>=f;)w[f++]=0}u[256]=1;d=0;for(e=a.length;d<e;++d){f=k=0;\nfor(g=3;f<g&&d+f!==e;++f)k=k<<8|a[d+f];h[k]===t&&(h[k]=[]);m=h[k];if(!(0<s--)){for(;0<m.length&&32768<d-m[0];)m.shift();if(d+3>=e){p&&c(p,-1);f=0;for(g=e-d;f<g;++f)x=a[d+f],l[n++]=x,++u[x];break}0<m.length?(r=za(a,d,m),p?p.length<r.length?(x=a[d-1],l[n++]=x,++u[x],c(r,0)):c(p,-1):r.length<C?p=r:c(r,0)):p?c(p,-1):(x=a[d],l[n++]=x,++u[x])}m.push(d)}l[n++]=256;u[256]++;b.U=u;b.T=w;return B?l.subarray(0,n):l}\nfunction za(b,a,c){var d,e,f=0,g,k,h,m,r=b.length;k=0;m=c.length;a:for(;k<m;k++){d=c[m-k-1];g=3;if(3<f){for(h=f;3<h;h--)if(b[d+h-1]!==b[a+h-1])continue a;g=f}for(;258>g&&a+g<r&&b[d+g]===b[a+g];)++g;g>f&&(e=d,f=g);if(258===g)break}return new va(f,a-e)}\nfunction sa(b,a){var c=b.length,d=new ka(572),e=new (B?Uint8Array:Array)(c),f,g,k,h,m;if(!B)for(h=0;h<c;h++)e[h]=0;for(h=0;h<c;++h)0<b[h]&&d.push(h,b[h]);f=Array(d.length/2);g=new (B?Uint32Array:Array)(d.length/2);if(1===f.length)return e[d.pop().index]=1,e;h=0;for(m=d.length/2;h<m;++h)f[h]=d.pop(),g[h]=f[h].value;k=Aa(g,g.length,a);h=0;for(m=f.length;h<m;++h)e[f[h].index]=k[h];return e}\nfunction Aa(b,a,c){function d(b){var c=h[b][m[b]];c===a?(d(b+1),d(b+1)):--g[c];++m[b]}var e=new (B?Uint16Array:Array)(c),f=new (B?Uint8Array:Array)(c),g=new (B?Uint8Array:Array)(a),k=Array(c),h=Array(c),m=Array(c),r=(1<<c)-a,p=1<<c-1,l,n,s,u,w;e[c-1]=a;for(n=0;n<c;++n)r<p?f[n]=0:(f[n]=1,r-=p),r<<=1,e[c-2-n]=(e[c-1-n]/2|0)+a;e[0]=f[0];k[0]=Array(e[0]);h[0]=Array(e[0]);for(n=1;n<c;++n)e[n]>2*e[n-1]+f[n]&&(e[n]=2*e[n-1]+f[n]),k[n]=Array(e[n]),h[n]=Array(e[n]);for(l=0;l<a;++l)g[l]=c;for(s=0;s<e[c-1];++s)k[c-\n1][s]=b[s],h[c-1][s]=s;for(l=0;l<c;++l)m[l]=0;1===f[c-1]&&(--g[0],++m[c-1]);for(n=c-2;0<=n;--n){u=l=0;w=m[n+1];for(s=0;s<e[n];s++)u=k[n+1][w]+k[n+1][w+1],u>b[l]?(k[n][s]=u,h[n][s]=a,w+=2):(k[n][s]=b[l],h[n][s]=l,++l);m[n]=0;1===f[n]&&d(n)}return g}\nfunction ua(b){var a=new (B?Uint16Array:Array)(b.length),c=[],d=[],e=0,f,g,k,h;f=0;for(g=b.length;f<g;f++)c[b[f]]=(c[b[f]]|0)+1;f=1;for(g=16;f<=g;f++)d[f]=e,e+=c[f]|0,e<<=1;f=0;for(g=b.length;f<g;f++){e=d[b[f]];d[b[f]]+=1;k=a[f]=0;for(h=b[f];k<h;k++)a[f]=a[f]<<1|e&1,e>>>=1}return a};function Ba(b,a){this.input=b;this.b=this.c=0;this.g={};a&&(a.flags&&(this.g=a.flags),\"string\"===typeof a.filename&&(this.filename=a.filename),\"string\"===typeof a.comment&&(this.w=a.comment),a.deflateOptions&&(this.l=a.deflateOptions));this.l||(this.l={})}\nBa.prototype.h=function(){var b,a,c,d,e,f,g,k,h=new (B?Uint8Array:Array)(32768),m=0,r=this.input,p=this.c,l=this.filename,n=this.w;h[m++]=31;h[m++]=139;h[m++]=8;b=0;this.g.fname&&(b|=Ca);this.g.fcomment&&(b|=Da);this.g.fhcrc&&(b|=Ea);h[m++]=b;a=(Date.now?Date.now():+new Date)/1E3|0;h[m++]=a&255;h[m++]=a>>>8&255;h[m++]=a>>>16&255;h[m++]=a>>>24&255;h[m++]=0;h[m++]=Sa;if(this.g.fname!==t){g=0;for(k=l.length;g<k;++g)f=l.charCodeAt(g),255<f&&(h[m++]=f>>>8&255),h[m++]=f&255;h[m++]=0}if(this.g.comment){g=\n0;for(k=n.length;g<k;++g)f=n.charCodeAt(g),255<f&&(h[m++]=f>>>8&255),h[m++]=f&255;h[m++]=0}this.g.fhcrc&&(c=ha(h,0,m)&65535,h[m++]=c&255,h[m++]=c>>>8&255);this.l.outputBuffer=h;this.l.outputIndex=m;e=new na(r,this.l);h=e.h();m=e.b;B&&(m+8>h.buffer.byteLength?(this.a=new Uint8Array(m+8),this.a.set(new Uint8Array(h.buffer)),h=this.a):h=new Uint8Array(h.buffer));d=ha(r,t,t);h[m++]=d&255;h[m++]=d>>>8&255;h[m++]=d>>>16&255;h[m++]=d>>>24&255;k=r.length;h[m++]=k&255;h[m++]=k>>>8&255;h[m++]=k>>>16&255;h[m++]=\nk>>>24&255;this.c=p;B&&m<h.length&&(this.a=h=h.subarray(0,m));return h};var Sa=255,Ea=2,Ca=8,Da=16;function V(b,a){this.o=[];this.p=32768;this.e=this.j=this.c=this.s=0;this.input=B?new Uint8Array(b):b;this.u=!1;this.q=Ta;this.K=!1;if(a||!(a={}))a.index&&(this.c=a.index),a.bufferSize&&(this.p=a.bufferSize),a.bufferType&&(this.q=a.bufferType),a.resize&&(this.K=a.resize);switch(this.q){case Ua:this.b=32768;this.a=new (B?Uint8Array:Array)(32768+this.p+258);break;case Ta:this.b=0;this.a=new (B?Uint8Array:Array)(this.p);this.f=this.S;this.z=this.O;this.r=this.Q;break;default:q(Error(\"invalid inflate mode\"))}}\nvar Ua=0,Ta=1;\nV.prototype.i=function(){for(;!this.u;){var b=W(this,3);b&1&&(this.u=v);b>>>=1;switch(b){case 0:var a=this.input,c=this.c,d=this.a,e=this.b,f=a.length,g=t,k=t,h=d.length,m=t;this.e=this.j=0;c+1>=f&&q(Error(\"invalid uncompressed block header: LEN\"));g=a[c++]|a[c++]<<8;c+1>=f&&q(Error(\"invalid uncompressed block header: NLEN\"));k=a[c++]|a[c++]<<8;g===~k&&q(Error(\"invalid uncompressed block header: length verify\"));c+g>a.length&&q(Error(\"input buffer is broken\"));switch(this.q){case Ua:for(;e+g>d.length;){m=\nh-e;g-=m;if(B)d.set(a.subarray(c,c+m),e),e+=m,c+=m;else for(;m--;)d[e++]=a[c++];this.b=e;d=this.f();e=this.b}break;case Ta:for(;e+g>d.length;)d=this.f({B:2});break;default:q(Error(\"invalid inflate mode\"))}if(B)d.set(a.subarray(c,c+g),e),e+=g,c+=g;else for(;g--;)d[e++]=a[c++];this.c=c;this.b=e;this.a=d;break;case 1:this.r(Va,Wa);break;case 2:for(var r=W(this,5)+257,p=W(this,5)+1,l=W(this,4)+4,n=new (B?Uint8Array:Array)(Xa.length),s=t,u=t,w=t,C=t,x=t,D=t,M=t,z=t,N=t,z=0;z<l;++z)n[Xa[z]]=W(this,3);if(!B){z=\nl;for(l=n.length;z<l;++z)n[Xa[z]]=0}s=T(n);C=new (B?Uint8Array:Array)(r+p);z=0;for(N=r+p;z<N;)switch(x=Ya(this,s),x){case 16:for(M=3+W(this,2);M--;)C[z++]=D;break;case 17:for(M=3+W(this,3);M--;)C[z++]=0;D=0;break;case 18:for(M=11+W(this,7);M--;)C[z++]=0;D=0;break;default:D=C[z++]=x}u=B?T(C.subarray(0,r)):T(C.slice(0,r));w=B?T(C.subarray(r)):T(C.slice(r));this.r(u,w);break;default:q(Error(\"unknown BTYPE: \"+b))}}return this.z()};\nvar Za=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Xa=B?new Uint16Array(Za):Za,$a=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,258,258],ab=B?new Uint16Array($a):$a,bb=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0],cb=B?new Uint8Array(bb):bb,db=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],eb=B?new Uint16Array(db):db,fb=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,\n10,11,11,12,12,13,13],gb=B?new Uint8Array(fb):fb,hb=new (B?Uint8Array:Array)(288),$,ib;$=0;for(ib=hb.length;$<ib;++$)hb[$]=143>=$?8:255>=$?9:279>=$?7:8;var Va=T(hb),jb=new (B?Uint8Array:Array)(30),kb,lb;kb=0;for(lb=jb.length;kb<lb;++kb)jb[kb]=5;var Wa=T(jb);function W(b,a){for(var c=b.j,d=b.e,e=b.input,f=b.c,g=e.length,k;d<a;)f>=g&&q(Error(\"input buffer is broken\")),c|=e[f++]<<d,d+=8;k=c&(1<<a)-1;b.j=c>>>a;b.e=d-a;b.c=f;return k}\nfunction Ya(b,a){for(var c=b.j,d=b.e,e=b.input,f=b.c,g=e.length,k=a[0],h=a[1],m,r;d<h&&!(f>=g);)c|=e[f++]<<d,d+=8;m=k[c&(1<<h)-1];r=m>>>16;r>d&&q(Error(\"invalid code length: \"+r));b.j=c>>r;b.e=d-r;b.c=f;return m&65535}\nV.prototype.r=function(b,a){var c=this.a,d=this.b;this.A=b;for(var e=c.length-258,f,g,k,h;256!==(f=Ya(this,b));)if(256>f)d>=e&&(this.b=d,c=this.f(),d=this.b),c[d++]=f;else{g=f-257;h=ab[g];0<cb[g]&&(h+=W(this,cb[g]));f=Ya(this,a);k=eb[f];0<gb[f]&&(k+=W(this,gb[f]));d>=e&&(this.b=d,c=this.f(),d=this.b);for(;h--;)c[d]=c[d++-k]}for(;8<=this.e;)this.e-=8,this.c--;this.b=d};\nV.prototype.Q=function(b,a){var c=this.a,d=this.b;this.A=b;for(var e=c.length,f,g,k,h;256!==(f=Ya(this,b));)if(256>f)d>=e&&(c=this.f(),e=c.length),c[d++]=f;else{g=f-257;h=ab[g];0<cb[g]&&(h+=W(this,cb[g]));f=Ya(this,a);k=eb[f];0<gb[f]&&(k+=W(this,gb[f]));d+h>e&&(c=this.f(),e=c.length);for(;h--;)c[d]=c[d++-k]}for(;8<=this.e;)this.e-=8,this.c--;this.b=d};\nV.prototype.f=function(){var b=new (B?Uint8Array:Array)(this.b-32768),a=this.b-32768,c,d,e=this.a;if(B)b.set(e.subarray(32768,b.length));else{c=0;for(d=b.length;c<d;++c)b[c]=e[c+32768]}this.o.push(b);this.s+=b.length;if(B)e.set(e.subarray(a,a+32768));else for(c=0;32768>c;++c)e[c]=e[a+c];this.b=32768;return e};\nV.prototype.S=function(b){var a,c=this.input.length/this.c+1|0,d,e,f,g=this.input,k=this.a;b&&(\"number\"===typeof b.B&&(c=b.B),\"number\"===typeof b.M&&(c+=b.M));2>c?(d=(g.length-this.c)/this.A[2],f=258*(d/2)|0,e=f<k.length?k.length+f:k.length<<1):e=k.length*c;B?(a=new Uint8Array(e),a.set(k)):a=k;return this.a=a};\nV.prototype.z=function(){var b=0,a=this.a,c=this.o,d,e=new (B?Uint8Array:Array)(this.s+(this.b-32768)),f,g,k,h;if(0===c.length)return B?this.a.subarray(32768,this.b):this.a.slice(32768,this.b);f=0;for(g=c.length;f<g;++f){d=c[f];k=0;for(h=d.length;k<h;++k)e[b++]=d[k]}f=32768;for(g=this.b;f<g;++f)e[b++]=a[f];this.o=[];return this.buffer=e};\nV.prototype.O=function(){var b,a=this.b;B?this.K?(b=new Uint8Array(a),b.set(this.a.subarray(0,a))):b=this.a.subarray(0,a):(this.a.length>a&&(this.a.length=a),b=this.a);return this.buffer=b};function mb(b){this.input=b;this.c=0;this.G=[];this.R=!1}\nmb.prototype.i=function(){for(var b=this.input.length;this.c<b;){var a=new ja,c=t,d=t,e=t,f=t,g=t,k=t,h=t,m=t,r=t,p=this.input,l=this.c;a.C=p[l++];a.D=p[l++];(31!==a.C||139!==a.D)&&q(Error(\"invalid file signature:\"+a.C+\",\"+a.D));a.v=p[l++];switch(a.v){case 8:break;default:q(Error(\"unknown compression method: \"+a.v))}a.n=p[l++];m=p[l++]|p[l++]<<8|p[l++]<<16|p[l++]<<24;a.$=new Date(1E3*m);a.ba=p[l++];a.aa=p[l++];0<(a.n&4)&&(a.W=p[l++]|p[l++]<<8,l+=a.W);if(0<(a.n&Ca)){h=[];for(k=0;0<(g=p[l++]);)h[k++]=\nString.fromCharCode(g);a.name=h.join(\"\")}if(0<(a.n&Da)){h=[];for(k=0;0<(g=p[l++]);)h[k++]=String.fromCharCode(g);a.w=h.join(\"\")}0<(a.n&Ea)&&(a.P=ha(p,0,l)&65535,a.P!==(p[l++]|p[l++]<<8)&&q(Error(\"invalid header crc16\")));c=p[p.length-4]|p[p.length-3]<<8|p[p.length-2]<<16|p[p.length-1]<<24;p.length-l-4-4<512*c&&(f=c);d=new V(p,{index:l,bufferSize:f});a.data=e=d.i();l=d.c;a.Y=r=(p[l++]|p[l++]<<8|p[l++]<<16|p[l++]<<24)>>>0;ha(e,t,t)!==r&&q(Error(\"invalid CRC-32 checksum: 0x\"+ha(e,t,t).toString(16)+\" / 0x\"+\nr.toString(16)));a.Z=c=(p[l++]|p[l++]<<8|p[l++]<<16|p[l++]<<24)>>>0;(e.length&4294967295)!==c&&q(Error(\"invalid input size: \"+(e.length&4294967295)+\" / \"+c));this.G.push(a);this.c=l}this.R=v;var n=this.G,s,u,w=0,C=0,x;s=0;for(u=n.length;s<u;++s)C+=n[s].data.length;if(B){x=new Uint8Array(C);for(s=0;s<u;++s)x.set(n[s].data,w),w+=n[s].data.length}else{x=[];for(s=0;s<u;++s)x[s]=n[s].data;x=Array.prototype.concat.apply([],x)}return x};function nb(b){if(\"string\"===typeof b){var a=b.split(\"\"),c,d;c=0;for(d=a.length;c<d;c++)a[c]=(a[c].charCodeAt(0)&255)>>>0;b=a}for(var e=1,f=0,g=b.length,k,h=0;0<g;){k=1024<g?1024:g;g-=k;do e+=b[h++],f+=e;while(--k);e%=65521;f%=65521}return(f<<16|e)>>>0};function ob(b,a){var c,d;this.input=b;this.c=0;if(a||!(a={}))a.index&&(this.c=a.index),a.verify&&(this.V=a.verify);c=b[this.c++];d=b[this.c++];switch(c&15){case pb:this.method=pb;break;default:q(Error(\"unsupported compression method\"))}0!==((c<<8)+d)%31&&q(Error(\"invalid fcheck flag:\"+((c<<8)+d)%31));d&32&&q(Error(\"fdict flag is not supported\"));this.J=new V(b,{index:this.c,bufferSize:a.bufferSize,bufferType:a.bufferType,resize:a.resize})}\nob.prototype.i=function(){var b=this.input,a,c;a=this.J.i();this.c=this.J.c;this.V&&(c=(b[this.c++]<<24|b[this.c++]<<16|b[this.c++]<<8|b[this.c++])>>>0,c!==nb(a)&&q(Error(\"invalid adler-32 checksum\")));return a};var pb=8;function rb(b,a){this.input=b;this.a=new (B?Uint8Array:Array)(32768);this.k=sb.t;var c={},d;if((a||!(a={}))&&\"number\"===typeof a.compressionType)this.k=a.compressionType;for(d in a)c[d]=a[d];c.outputBuffer=this.a;this.I=new na(this.input,c)}var sb=pa;\nrb.prototype.h=function(){var b,a,c,d,e,f,g,k=0;g=this.a;b=pb;switch(b){case pb:a=Math.LOG2E*Math.log(32768)-8;break;default:q(Error(\"invalid compression method\"))}c=a<<4|b;g[k++]=c;switch(b){case pb:switch(this.k){case sb.NONE:e=0;break;case sb.L:e=1;break;case sb.t:e=2;break;default:q(Error(\"unsupported compression type\"))}break;default:q(Error(\"invalid compression method\"))}d=e<<6|0;g[k++]=d|31-(256*c+d)%31;f=nb(this.input);this.I.b=k;g=this.I.h();k=g.length;B&&(g=new Uint8Array(g.buffer),g.length<=\nk+4&&(this.a=new Uint8Array(g.length+4),this.a.set(g),g=this.a),g=g.subarray(0,k+4));g[k++]=f>>24&255;g[k++]=f>>16&255;g[k++]=f>>8&255;g[k++]=f&255;return g};exports.deflate=tb;exports.deflateSync=ub;exports.inflate=vb;exports.inflateSync=wb;exports.gzip=xb;exports.gzipSync=yb;exports.gunzip=zb;exports.gunzipSync=Ab;function tb(b,a,c){process.nextTick(function(){var d,e;try{e=ub(b,c)}catch(f){d=f}a(d,e)})}function ub(b,a){var c;c=(new rb(b)).h();a||(a={});return a.H?c:Bb(c)}function vb(b,a,c){process.nextTick(function(){var d,e;try{e=wb(b,c)}catch(f){d=f}a(d,e)})}\nfunction wb(b,a){var c;b.subarray=b.slice;c=(new ob(b)).i();a||(a={});return a.noBuffer?c:Bb(c)}function xb(b,a,c){process.nextTick(function(){var d,e;try{e=yb(b,c)}catch(f){d=f}a(d,e)})}function yb(b,a){var c;b.subarray=b.slice;c=(new Ba(b)).h();a||(a={});return a.H?c:Bb(c)}function zb(b,a,c){process.nextTick(function(){var d,e;try{e=Ab(b,c)}catch(f){d=f}a(d,e)})}function Ab(b,a){var c;b.subarray=b.slice;c=(new mb(b)).i();a||(a={});return a.H?c:Bb(c)}\nfunction Bb(b){var a=new Buffer(b.length),c,d;c=0;for(d=b.length;c<d;++c)a[c]=b[c];return a};}).call(this);\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction placeHoldersCount (b64) {\n var len = b64.length\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // the number of equal signs (place holders)\n // if there are two placeholders, than the two characters before it\n // represent one byte\n // if there is only one, then the three characters before it represent 2 bytes\n // this is just a cheap hack to not do indexOf twice\n return b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0\n}\n\nfunction byteLength (b64) {\n // base64 is 4/3 + up to two characters of the original data\n return (b64.length * 3 / 4) - placeHoldersCount(b64)\n}\n\nfunction toByteArray (b64) {\n var i, l, tmp, placeHolders, arr\n var len = b64.length\n placeHolders = placeHoldersCount(b64)\n\n arr = new Arr((len * 3 / 4) - placeHolders)\n\n // if there are placeholders, only get up to the last complete 4 chars\n l = placeHolders > 0 ? len - 4 : len\n\n var L = 0\n\n for (i = 0; i < l; i += 4) {\n tmp = (revLookup[b64.charCodeAt(i)] << 18) | (revLookup[b64.charCodeAt(i + 1)] << 12) | (revLookup[b64.charCodeAt(i + 2)] << 6) | revLookup[b64.charCodeAt(i + 3)]\n arr[L++] = (tmp >> 16) & 0xFF\n arr[L++] = (tmp >> 8) & 0xFF\n arr[L++] = tmp & 0xFF\n }\n\n if (placeHolders === 2) {\n tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[L++] = tmp & 0xFF\n } else if (placeHolders === 1) {\n tmp = (revLookup[b64.charCodeAt(i)] << 10) | (revLookup[b64.charCodeAt(i + 1)] << 4) | (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[L++] = (tmp >> 8) & 0xFF\n arr[L++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var output = ''\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n output += lookup[tmp >> 2]\n output += lookup[(tmp << 4) & 0x3F]\n output += '=='\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + (uint8[len - 1])\n output += lookup[tmp >> 10]\n output += lookup[(tmp >> 4) & 0x3F]\n output += lookup[(tmp << 2) & 0x3F]\n output += '='\n }\n\n parts.push(output)\n\n return parts.join('')\n}\n","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = nBytes * 8 - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","const bmp = require('bmp-js');\nconst fileType = require('file-type');\n\nmodule.exports = (TessModule, iBuf) => {\n const buf = Buffer.from(iBuf);\n const type = fileType(buf);\n let bytesPerPixel = 0;\n let data = null;\n let pix = null;\n let w = 0;\n let h = 0;\n\n /*\n * Although leptonica should support reading bmp, there is a bug of \"compressed BMP files\".\n * As there is no solution, we need to use bmp-js for now.\n * @see https://groups.google.com/forum/#!topic/tesseract-ocr/4mPD9zTxdxE\n */\n if (type && type.mime === 'image/bmp') {\n const bmpBuf = bmp.decode(buf);\n data = TessModule._malloc(bmpBuf.data.length * Uint8Array.BYTES_PER_ELEMENT);\n TessModule.HEAPU8.set(bmpBuf.data, data);\n w = bmpBuf.width;\n h = bmpBuf.height;\n bytesPerPixel = 4;\n } else {\n const ptr = TessModule._malloc(buf.length * Uint8Array.BYTES_PER_ELEMENT);\n TessModule.HEAPU8.set(buf, ptr);\n pix = TessModule._pixReadMem(ptr, buf.length);\n if (TessModule.getValue(pix + (7 * 4), 'i32') === 0) {\n /*\n * Set a yres default value to prevent warning from tesseract\n * See kMinCredibleResolution in tesseract/src/ccstruct/publictypes.h\n */\n TessModule.setValue(pix + (7 * 4), 70, 'i32');\n }\n [w, h] = Array(2).fill(0)\n .map((v, idx) => (\n TessModule.getValue(pix + (idx * 4), 'i32')\n ));\n }\n\n return {\n w,\n h,\n bytesPerPixel,\n data,\n pix,\n };\n};\n","/**\n * @author shaozilee\n *\n * support 1bit 4bit 8bit 24bit decode\n * encode with 24bit\n * \n */\n\nvar encode = require('./lib/encoder'),\n decode = require('./lib/decoder');\n\nmodule.exports = {\n encode: encode,\n decode: decode\n};\n","/**\n * @author shaozilee\n *\n * BMP format encoder,encode 24bit BMP\n * Not support quality compression\n *\n */\n\nfunction BmpEncoder(imgData){\n\tthis.buffer = imgData.data;\n\tthis.width = imgData.width;\n\tthis.height = imgData.height;\n\tthis.extraBytes = this.width%4;\n\tthis.rgbSize = this.height*(3*this.width+this.extraBytes);\n\tthis.headerInfoSize = 40;\n\n\tthis.data = [];\n\t/******************header***********************/\n\tthis.flag = \"BM\";\n\tthis.reserved = 0;\n\tthis.offset = 54;\n\tthis.fileSize = this.rgbSize+this.offset;\n\tthis.planes = 1;\n\tthis.bitPP = 24;\n\tthis.compress = 0;\n\tthis.hr = 0;\n\tthis.vr = 0;\n\tthis.colors = 0;\n\tthis.importantColors = 0;\n}\n\nBmpEncoder.prototype.encode = function() {\n\tvar tempBuffer = new Buffer(this.offset+this.rgbSize);\n\tthis.pos = 0;\n\ttempBuffer.write(this.flag,this.pos,2);this.pos+=2;\n\ttempBuffer.writeUInt32LE(this.fileSize,this.pos);this.pos+=4;\n\ttempBuffer.writeUInt32LE(this.reserved,this.pos);this.pos+=4;\n\ttempBuffer.writeUInt32LE(this.offset,this.pos);this.pos+=4;\n\n\ttempBuffer.writeUInt32LE(this.headerInfoSize,this.pos);this.pos+=4;\n\ttempBuffer.writeUInt32LE(this.width,this.pos);this.pos+=4;\n\ttempBuffer.writeInt32LE(-this.height,this.pos);this.pos+=4;\n\ttempBuffer.writeUInt16LE(this.planes,this.pos);this.pos+=2;\n\ttempBuffer.writeUInt16LE(this.bitPP,this.pos);this.pos+=2;\n\ttempBuffer.writeUInt32LE(this.compress,this.pos);this.pos+=4;\n\ttempBuffer.writeUInt32LE(this.rgbSize,this.pos);this.pos+=4;\n\ttempBuffer.writeUInt32LE(this.hr,this.pos);this.pos+=4;\n\ttempBuffer.writeUInt32LE(this.vr,this.pos);this.pos+=4;\n\ttempBuffer.writeUInt32LE(this.colors,this.pos);this.pos+=4;\n\ttempBuffer.writeUInt32LE(this.importantColors,this.pos);this.pos+=4;\n\n\tvar i=0;\n\tvar rowBytes = 3*this.width+this.extraBytes;\n\n\tfor (var y = 0; y <this.height; y++){\n\t\tfor (var x = 0; x < this.width; x++){\n\t\t\tvar p = this.pos+y*rowBytes+x*3;\n\t\t\ti++;//a\n\t\t\ttempBuffer[p]= this.buffer[i++];//b\n\t\t\ttempBuffer[p+1] = this.buffer[i++];//g\n\t\t\ttempBuffer[p+2] = this.buffer[i++];//r\n\t\t}\n\t\tif(this.extraBytes>0){\n\t\t\tvar fillOffset = this.pos+y*rowBytes+this.width*3;\n\t\t\ttempBuffer.fill(0,fillOffset,fillOffset+this.extraBytes);\n\t\t}\n\t}\n\n\treturn tempBuffer;\n};\n\nmodule.exports = function(imgData, quality) {\n if (typeof quality === 'undefined') quality = 100;\n \tvar encoder = new BmpEncoder(imgData);\n\tvar data = encoder.encode();\n return {\n data: data,\n width: imgData.width,\n height: imgData.height\n };\n};\n","/**\n * @author shaozilee\n *\n * Bmp format decoder,support 1bit 4bit 8bit 24bit bmp\n *\n */\n\nfunction BmpDecoder(buffer,is_with_alpha) {\n this.pos = 0;\n this.buffer = buffer;\n this.is_with_alpha = !!is_with_alpha;\n this.bottom_up = true;\n this.flag = this.buffer.toString(\"utf-8\", 0, this.pos += 2);\n if (this.flag != \"BM\") throw new Error(\"Invalid BMP File\");\n this.parseHeader();\n this.parseRGBA();\n}\n\nBmpDecoder.prototype.parseHeader = function() {\n this.fileSize = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.reserved = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.offset = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.headerSize = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.width = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.height = this.buffer.readInt32LE(this.pos);\n this.pos += 4;\n this.planes = this.buffer.readUInt16LE(this.pos);\n this.pos += 2;\n this.bitPP = this.buffer.readUInt16LE(this.pos);\n this.pos += 2;\n this.compress = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.rawSize = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.hr = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.vr = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.colors = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n this.importantColors = this.buffer.readUInt32LE(this.pos);\n this.pos += 4;\n\n if(this.bitPP === 16 && this.is_with_alpha){\n this.bitPP = 15\n }\n if (this.bitPP < 15) {\n var len = this.colors === 0 ? 1 << this.bitPP : this.colors;\n this.palette = new Array(len);\n for (var i = 0; i < len; i++) {\n var blue = this.buffer.readUInt8(this.pos++);\n var green = this.buffer.readUInt8(this.pos++);\n var red = this.buffer.readUInt8(this.pos++);\n var quad = this.buffer.readUInt8(this.pos++);\n this.palette[i] = {\n red: red,\n green: green,\n blue: blue,\n quad: quad\n };\n }\n }\n if(this.height < 0) {\n this.height *= -1;\n this.bottom_up = false;\n }\n\n}\n\nBmpDecoder.prototype.parseRGBA = function() {\n var bitn = \"bit\" + this.bitPP;\n var len = this.width * this.height * 4;\n this.data = new Buffer(len);\n this[bitn]();\n};\n\nBmpDecoder.prototype.bit1 = function() {\n var xlen = Math.ceil(this.width / 8);\n var mode = xlen%4;\n var y = this.height >= 0 ? this.height - 1 : -this.height\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y\n for (var x = 0; x < xlen; x++) {\n var b = this.buffer.readUInt8(this.pos++);\n var location = line * this.width * 4 + x*8*4;\n for (var i = 0; i < 8; i++) {\n if(x*8+i<this.width){\n var rgb = this.palette[((b>>(7-i))&0x1)];\n\n this.data[location+i*4] = 0;\n this.data[location+i*4 + 1] = rgb.blue;\n this.data[location+i*4 + 2] = rgb.green;\n this.data[location+i*4 + 3] = rgb.red;\n\n }else{\n break;\n }\n }\n }\n\n if (mode != 0){\n this.pos+=(4 - mode);\n }\n }\n};\n\nBmpDecoder.prototype.bit4 = function() {\n //RLE-4\n if(this.compress == 2){\n this.data.fill(0xff);\n\n var location = 0;\n var lines = this.bottom_up?this.height-1:0;\n var low_nibble = false;//for all count of pixel\n\n while(location<this.data.length){\n var a = this.buffer.readUInt8(this.pos++);\n var b = this.buffer.readUInt8(this.pos++);\n //absolute mode\n if(a == 0){\n if(b == 0){//line end\n if(this.bottom_up){\n lines--;\n }else{\n lines++;\n }\n location = lines*this.width*4;\n low_nibble = false;\n continue;\n }else if(b == 1){//image end\n break;\n }else if(b ==2){\n //offset x,y\n var x = this.buffer.readUInt8(this.pos++);\n var y = this.buffer.readUInt8(this.pos++);\n if(this.bottom_up){\n lines-=y;\n }else{\n lines+=y;\n }\n\n location +=(y*this.width*4+x*4);\n }else{\n var c = this.buffer.readUInt8(this.pos++);\n for(var i=0;i<b;i++){\n if (low_nibble) {\n setPixelData.call(this, (c & 0x0f));\n } else {\n setPixelData.call(this, (c & 0xf0)>>4);\n }\n\n if ((i & 1) && (i+1 < b)){\n c = this.buffer.readUInt8(this.pos++);\n }\n\n low_nibble = !low_nibble;\n }\n\n if ((((b+1) >> 1) & 1 ) == 1){\n this.pos++\n }\n }\n\n }else{//encoded mode\n for (var i = 0; i < a; i++) {\n if (low_nibble) {\n setPixelData.call(this, (b & 0x0f));\n } else {\n setPixelData.call(this, (b & 0xf0)>>4);\n }\n low_nibble = !low_nibble;\n }\n }\n\n }\n\n\n\n\n function setPixelData(rgbIndex){\n var rgb = this.palette[rgbIndex];\n this.data[location] = 0;\n this.data[location + 1] = rgb.blue;\n this.data[location + 2] = rgb.green;\n this.data[location + 3] = rgb.red;\n location+=4;\n }\n }else{\n\n var xlen = Math.ceil(this.width/2);\n var mode = xlen%4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y\n for (var x = 0; x < xlen; x++) {\n var b = this.buffer.readUInt8(this.pos++);\n var location = line * this.width * 4 + x*2*4;\n\n var before = b>>4;\n var after = b&0x0F;\n\n var rgb = this.palette[before];\n this.data[location] = 0;\n this.data[location + 1] = rgb.blue;\n this.data[location + 2] = rgb.green;\n this.data[location + 3] = rgb.red;\n\n\n if(x*2+1>=this.width)break;\n\n rgb = this.palette[after];\n\n this.data[location+4] = 0;\n this.data[location+4 + 1] = rgb.blue;\n this.data[location+4 + 2] = rgb.green;\n this.data[location+4 + 3] = rgb.red;\n\n }\n\n if (mode != 0){\n this.pos+=(4 - mode);\n }\n }\n\n }\n\n};\n\nBmpDecoder.prototype.bit8 = function() {\n //RLE-8\n if(this.compress == 1){\n this.data.fill(0xff);\n\n var location = 0;\n var lines = this.bottom_up?this.height-1:0;\n\n while(location<this.data.length){\n var a = this.buffer.readUInt8(this.pos++);\n var b = this.buffer.readUInt8(this.pos++);\n //absolute mode\n if(a == 0){\n if(b == 0){//line end\n if(this.bottom_up){\n lines--;\n }else{\n lines++;\n }\n location = lines*this.width*4;\n continue;\n }else if(b == 1){//image end\n break;\n }else if(b ==2){\n //offset x,y\n var x = this.buffer.readUInt8(this.pos++);\n var y = this.buffer.readUInt8(this.pos++);\n if(this.bottom_up){\n lines-=y;\n }else{\n lines+=y;\n }\n\n location +=(y*this.width*4+x*4);\n }else{\n for(var i=0;i<b;i++){\n var c = this.buffer.readUInt8(this.pos++);\n setPixelData.call(this, c);\n }\n if(b&1 == 1){\n this.pos++;\n }\n\n }\n\n }else{//encoded mode\n for (var i = 0; i < a; i++) {\n setPixelData.call(this, b);\n }\n }\n\n }\n\n\n\n\n function setPixelData(rgbIndex){\n var rgb = this.palette[rgbIndex];\n this.data[location] = 0;\n this.data[location + 1] = rgb.blue;\n this.data[location + 2] = rgb.green;\n this.data[location + 3] = rgb.red;\n location+=4;\n }\n }else {\n var mode = this.width % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y\n for (var x = 0; x < this.width; x++) {\n var b = this.buffer.readUInt8(this.pos++);\n var location = line * this.width * 4 + x * 4;\n if (b < this.palette.length) {\n var rgb = this.palette[b];\n\n this.data[location] = 0;\n this.data[location + 1] = rgb.blue;\n this.data[location + 2] = rgb.green;\n this.data[location + 3] = rgb.red;\n\n } else {\n this.data[location] = 0;\n this.data[location + 1] = 0xFF;\n this.data[location + 2] = 0xFF;\n this.data[location + 3] = 0xFF;\n }\n }\n if (mode != 0) {\n this.pos += (4 - mode);\n }\n }\n }\n};\n\nBmpDecoder.prototype.bit15 = function() {\n var dif_w =this.width % 3;\n var _11111 = parseInt(\"11111\", 2),_1_5 = _11111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y\n for (var x = 0; x < this.width; x++) {\n\n var B = this.buffer.readUInt16LE(this.pos);\n this.pos+=2;\n var blue = (B & _1_5) / _1_5 * 255 | 0;\n var green = (B >> 5 & _1_5 ) / _1_5 * 255 | 0;\n var red = (B >> 10 & _1_5) / _1_5 * 255 | 0;\n var alpha = (B>>15)?0xFF:0x00;\n\n var location = line * this.width * 4 + x * 4;\n\n this.data[location] = alpha;\n this.data[location + 1] = blue;\n this.data[location + 2] = green;\n this.data[location + 3] = red;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit16 = function() {\n var dif_w =(this.width % 2)*2;\n //default xrgb555\n this.maskRed = 0x7C00;\n this.maskGreen = 0x3E0;\n this.maskBlue =0x1F;\n this.mask0 = 0;\n\n if(this.compress == 3){\n this.maskRed = this.buffer.readUInt32LE(this.pos);\n this.pos+=4;\n this.maskGreen = this.buffer.readUInt32LE(this.pos);\n this.pos+=4;\n this.maskBlue = this.buffer.readUInt32LE(this.pos);\n this.pos+=4;\n this.mask0 = this.buffer.readUInt32LE(this.pos);\n this.pos+=4;\n }\n\n\n var ns=[0,0,0];\n for (var i=0;i<16;i++){\n if ((this.maskRed>>i)&0x01) ns[0]++;\n if ((this.maskGreen>>i)&0x01) ns[1]++;\n if ((this.maskBlue>>i)&0x01) ns[2]++;\n }\n ns[1]+=ns[0]; ns[2]+=ns[1];\tns[0]=8-ns[0]; ns[1]-=8; ns[2]-=8;\n\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n\n var B = this.buffer.readUInt16LE(this.pos);\n this.pos+=2;\n\n var blue = (B&this.maskBlue)<<ns[0];\n var green = (B&this.maskGreen)>>ns[1];\n var red = (B&this.maskRed)>>ns[2];\n\n var location = line * this.width * 4 + x * 4;\n\n this.data[location] = 0;\n this.data[location + 1] = blue;\n this.data[location + 2] = green;\n this.data[location + 3] = red;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit24 = function() {\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y\n for (var x = 0; x < this.width; x++) {\n //Little Endian rgb\n var blue = this.buffer.readUInt8(this.pos++);\n var green = this.buffer.readUInt8(this.pos++);\n var red = this.buffer.readUInt8(this.pos++);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = 0;\n this.data[location + 1] = blue;\n this.data[location + 2] = green;\n this.data[location + 3] = red;\n }\n //skip extra bytes\n this.pos += (this.width % 4);\n }\n\n};\n\n/**\n * add 32bit decode func\n * @author soubok\n */\nBmpDecoder.prototype.bit32 = function() {\n //BI_BITFIELDS\n if(this.compress == 3){\n this.maskRed = this.buffer.readUInt32LE(this.pos);\n this.pos+=4;\n this.maskGreen = this.buffer.readUInt32LE(this.pos);\n this.pos+=4;\n this.maskBlue = this.buffer.readUInt32LE(this.pos);\n this.pos+=4;\n this.mask0 = this.buffer.readUInt32LE(this.pos);\n this.pos+=4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n //Little Endian rgba\n var alpha = this.buffer.readUInt8(this.pos++);\n var blue = this.buffer.readUInt8(this.pos++);\n var green = this.buffer.readUInt8(this.pos++);\n var red = this.buffer.readUInt8(this.pos++);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = alpha;\n this.data[location + 1] = blue;\n this.data[location + 2] = green;\n this.data[location + 3] = red;\n }\n }\n\n }else{\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n //Little Endian argb\n var blue = this.buffer.readUInt8(this.pos++);\n var green = this.buffer.readUInt8(this.pos++);\n var red = this.buffer.readUInt8(this.pos++);\n var alpha = this.buffer.readUInt8(this.pos++);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = alpha;\n this.data[location + 1] = blue;\n this.data[location + 2] = green;\n this.data[location + 3] = red;\n }\n }\n\n }\n\n\n\n\n};\n\nBmpDecoder.prototype.getData = function() {\n return this.data;\n};\n\nmodule.exports = function(bmpData) {\n var decoder = new BmpDecoder(bmpData);\n return decoder;\n};\n","'use strict';\nconst toBytes = s => [...s].map(c => c.charCodeAt(0));\nconst xpiZipFilename = toBytes('META-INF/mozilla.rsa');\nconst oxmlContentTypes = toBytes('[Content_Types].xml');\nconst oxmlRels = toBytes('_rels/.rels');\n\nfunction readUInt64LE(buf, offset = 0) {\n\tlet n = buf[offset];\n\tlet mul = 1;\n\tlet i = 0;\n\twhile (++i < 8) {\n\t\tmul *= 0x100;\n\t\tn += buf[offset + i] * mul;\n\t}\n\treturn n;\n}\n\nmodule.exports = input => {\n\tif (!(input instanceof Uint8Array || Buffer.isBuffer(input))) {\n\t\tthrow new TypeError(`Expected the \\`input\\` argument to be of type \\`Uint8Array\\` or \\`Buffer\\`, got \\`${typeof input}\\``);\n\t}\n\n\tconst buf = input instanceof Uint8Array ? input : new Uint8Array(input);\n\n\tif (!(buf && buf.length > 1)) {\n\t\treturn null;\n\t}\n\n\tconst check = (header, options) => {\n\t\toptions = Object.assign({\n\t\t\toffset: 0\n\t\t}, options);\n\n\t\tfor (let i = 0; i < header.length; i++) {\n\t\t\t// If a bitmask is set\n\t\t\tif (options.mask) {\n\t\t\t\t// If header doesn't equal `buf` with bits masked off\n\t\t\t\tif (header[i] !== (options.mask[i] & buf[i + options.offset])) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t} else if (header[i] !== buf[i + options.offset]) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t};\n\n\tconst checkString = (header, options) => check(toBytes(header), options);\n\n\tif (check([0xFF, 0xD8, 0xFF])) {\n\t\treturn {\n\t\t\text: 'jpg',\n\t\t\tmime: 'image/jpeg'\n\t\t};\n\t}\n\n\tif (check([0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A])) {\n\t\treturn {\n\t\t\text: 'png',\n\t\t\tmime: 'image/png'\n\t\t};\n\t}\n\n\tif (check([0x47, 0x49, 0x46])) {\n\t\treturn {\n\t\t\text: 'gif',\n\t\t\tmime: 'image/gif'\n\t\t};\n\t}\n\n\tif (check([0x57, 0x45, 0x42, 0x50], {offset: 8})) {\n\t\treturn {\n\t\t\text: 'webp',\n\t\t\tmime: 'image/webp'\n\t\t};\n\t}\n\n\tif (check([0x46, 0x4C, 0x49, 0x46])) {\n\t\treturn {\n\t\t\text: 'flif',\n\t\t\tmime: 'image/flif'\n\t\t};\n\t}\n\n\t// Needs to be before `tif` check\n\tif (\n\t\t(check([0x49, 0x49, 0x2A, 0x0]) || check([0x4D, 0x4D, 0x0, 0x2A])) &&\n\t\tcheck([0x43, 0x52], {offset: 8})\n\t) {\n\t\treturn {\n\t\t\text: 'cr2',\n\t\t\tmime: 'image/x-canon-cr2'\n\t\t};\n\t}\n\n\tif (\n\t\tcheck([0x49, 0x49, 0x2A, 0x0]) ||\n\t\tcheck([0x4D, 0x4D, 0x0, 0x2A])\n\t) {\n\t\treturn {\n\t\t\text: 'tif',\n\t\t\tmime: 'image/tiff'\n\t\t};\n\t}\n\n\tif (check([0x42, 0x4D])) {\n\t\treturn {\n\t\t\text: 'bmp',\n\t\t\tmime: 'image/bmp'\n\t\t};\n\t}\n\n\tif (check([0x49, 0x49, 0xBC])) {\n\t\treturn {\n\t\t\text: 'jxr',\n\t\t\tmime: 'image/vnd.ms-photo'\n\t\t};\n\t}\n\n\tif (check([0x38, 0x42, 0x50, 0x53])) {\n\t\treturn {\n\t\t\text: 'psd',\n\t\t\tmime: 'image/vnd.adobe.photoshop'\n\t\t};\n\t}\n\n\t// Zip-based file formats\n\t// Need to be before the `zip` check\n\tif (check([0x50, 0x4B, 0x3, 0x4])) {\n\t\tif (\n\t\t\tcheck([0x6D, 0x69, 0x6D, 0x65, 0x74, 0x79, 0x70, 0x65, 0x61, 0x70, 0x70, 0x6C, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x2F, 0x65, 0x70, 0x75, 0x62, 0x2B, 0x7A, 0x69, 0x70], {offset: 30})\n\t\t) {\n\t\t\treturn {\n\t\t\t\text: 'epub',\n\t\t\t\tmime: 'application/epub+zip'\n\t\t\t};\n\t\t}\n\n\t\t// Assumes signed `.xpi` from addons.mozilla.org\n\t\tif (check(xpiZipFilename, {offset: 30})) {\n\t\t\treturn {\n\t\t\t\text: 'xpi',\n\t\t\t\tmime: 'application/x-xpinstall'\n\t\t\t};\n\t\t}\n\n\t\tif (checkString('mimetypeapplication/vnd.oasis.opendocument.text', {offset: 30})) {\n\t\t\treturn {\n\t\t\t\text: 'odt',\n\t\t\t\tmime: 'application/vnd.oasis.opendocument.text'\n\t\t\t};\n\t\t}\n\n\t\tif (checkString('mimetypeapplication/vnd.oasis.opendocument.spreadsheet', {offset: 30})) {\n\t\t\treturn {\n\t\t\t\text: 'ods',\n\t\t\t\tmime: 'application/vnd.oasis.opendocument.spreadsheet'\n\t\t\t};\n\t\t}\n\n\t\tif (checkString('mimetypeapplication/vnd.oasis.opendocument.presentation', {offset: 30})) {\n\t\t\treturn {\n\t\t\t\text: 'odp',\n\t\t\t\tmime: 'application/vnd.oasis.opendocument.presentation'\n\t\t\t};\n\t\t}\n\n\t\t// The docx, xlsx and pptx file types extend the Office Open XML file format:\n\t\t// https://en.wikipedia.org/wiki/Office_Open_XML_file_formats\n\t\t// We look for:\n\t\t// - one entry named '[Content_Types].xml' or '_rels/.rels',\n\t\t// - one entry indicating specific type of file.\n\t\t// MS Office, OpenOffice and LibreOffice may put the parts in different order, so the check should not rely on it.\n\t\tconst findNextZipHeaderIndex = (arr, startAt = 0) => arr.findIndex((el, i, arr) => i >= startAt && arr[i] === 0x50 && arr[i + 1] === 0x4B && arr[i + 2] === 0x3 && arr[i + 3] === 0x4);\n\n\t\tlet zipHeaderIndex = 0; // The first zip header was already found at index 0\n\t\tlet oxmlFound = false;\n\t\tlet type = null;\n\n\t\tdo {\n\t\t\tconst offset = zipHeaderIndex + 30;\n\n\t\t\tif (!oxmlFound) {\n\t\t\t\toxmlFound = (check(oxmlContentTypes, {offset}) || check(oxmlRels, {offset}));\n\t\t\t}\n\n\t\t\tif (!type) {\n\t\t\t\tif (checkString('word/', {offset})) {\n\t\t\t\t\ttype = {\n\t\t\t\t\t\text: 'docx',\n\t\t\t\t\t\tmime: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'\n\t\t\t\t\t};\n\t\t\t\t} else if (checkString('ppt/', {offset})) {\n\t\t\t\t\ttype = {\n\t\t\t\t\t\text: 'pptx',\n\t\t\t\t\t\tmime: 'application/vnd.openxmlformats-officedocument.presentationml.presentation'\n\t\t\t\t\t};\n\t\t\t\t} else if (checkString('xl/', {offset})) {\n\t\t\t\t\ttype = {\n\t\t\t\t\t\text: 'xlsx',\n\t\t\t\t\t\tmime: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (oxmlFound && type) {\n\t\t\t\treturn type;\n\t\t\t}\n\n\t\t\tzipHeaderIndex = findNextZipHeaderIndex(buf, offset);\n\t\t} while (zipHeaderIndex >= 0);\n\n\t\t// No more zip parts available in the buffer, but maybe we are almost certain about the type?\n\t\tif (type) {\n\t\t\treturn type;\n\t\t}\n\t}\n\n\tif (\n\t\tcheck([0x50, 0x4B]) &&\n\t\t(buf[2] === 0x3 || buf[2] === 0x5 || buf[2] === 0x7) &&\n\t\t(buf[3] === 0x4 || buf[3] === 0x6 || buf[3] === 0x8)\n\t) {\n\t\treturn {\n\t\t\text: 'zip',\n\t\t\tmime: 'application/zip'\n\t\t};\n\t}\n\n\tif (check([0x75, 0x73, 0x74, 0x61, 0x72], {offset: 257})) {\n\t\treturn {\n\t\t\text: 'tar',\n\t\t\tmime: 'application/x-tar'\n\t\t};\n\t}\n\n\tif (\n\t\tcheck([0x52, 0x61, 0x72, 0x21, 0x1A, 0x7]) &&\n\t\t(buf[6] === 0x0 || buf[6] === 0x1)\n\t) {\n\t\treturn {\n\t\t\text: 'rar',\n\t\t\tmime: 'application/x-rar-compressed'\n\t\t};\n\t}\n\n\tif (check([0x1F, 0x8B, 0x8])) {\n\t\treturn {\n\t\t\text: 'gz',\n\t\t\tmime: 'application/gzip'\n\t\t};\n\t}\n\n\tif (check([0x42, 0x5A, 0x68])) {\n\t\treturn {\n\t\t\text: 'bz2',\n\t\t\tmime: 'application/x-bzip2'\n\t\t};\n\t}\n\n\tif (check([0x37, 0x7A, 0xBC, 0xAF, 0x27, 0x1C])) {\n\t\treturn {\n\t\t\text: '7z',\n\t\t\tmime: 'application/x-7z-compressed'\n\t\t};\n\t}\n\n\tif (check([0x78, 0x01])) {\n\t\treturn {\n\t\t\text: 'dmg',\n\t\t\tmime: 'application/x-apple-diskimage'\n\t\t};\n\t}\n\n\tif (check([0x33, 0x67, 0x70, 0x35]) || // 3gp5\n\t\t(\n\t\t\tcheck([0x0, 0x0, 0x0]) && check([0x66, 0x74, 0x79, 0x70], {offset: 4}) &&\n\t\t\t\t(\n\t\t\t\t\tcheck([0x6D, 0x70, 0x34, 0x31], {offset: 8}) || // MP41\n\t\t\t\t\tcheck([0x6D, 0x70, 0x34, 0x32], {offset: 8}) || // MP42\n\t\t\t\t\tcheck([0x69, 0x73, 0x6F, 0x6D], {offset: 8}) || // ISOM\n\t\t\t\t\tcheck([0x69, 0x73, 0x6F, 0x32], {offset: 8}) || // ISO2\n\t\t\t\t\tcheck([0x6D, 0x6D, 0x70, 0x34], {offset: 8}) || // MMP4\n\t\t\t\t\tcheck([0x4D, 0x34, 0x56], {offset: 8}) || // M4V\n\t\t\t\t\tcheck([0x64, 0x61, 0x73, 0x68], {offset: 8}) // DASH\n\t\t\t\t)\n\t\t)) {\n\t\treturn {\n\t\t\text: 'mp4',\n\t\t\tmime: 'video/mp4'\n\t\t};\n\t}\n\n\tif (check([0x4D, 0x54, 0x68, 0x64])) {\n\t\treturn {\n\t\t\text: 'mid',\n\t\t\tmime: 'audio/midi'\n\t\t};\n\t}\n\n\t// https://github.com/threatstack/libmagic/blob/master/magic/Magdir/matroska\n\tif (check([0x1A, 0x45, 0xDF, 0xA3])) {\n\t\tconst sliced = buf.subarray(4, 4 + 4096);\n\t\tconst idPos = sliced.findIndex((el, i, arr) => arr[i] === 0x42 && arr[i + 1] === 0x82);\n\n\t\tif (idPos !== -1) {\n\t\t\tconst docTypePos = idPos + 3;\n\t\t\tconst findDocType = type => [...type].every((c, i) => sliced[docTypePos + i] === c.charCodeAt(0));\n\n\t\t\tif (findDocType('matroska')) {\n\t\t\t\treturn {\n\t\t\t\t\text: 'mkv',\n\t\t\t\t\tmime: 'video/x-matroska'\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif (findDocType('webm')) {\n\t\t\t\treturn {\n\t\t\t\t\text: 'webm',\n\t\t\t\t\tmime: 'video/webm'\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\t}\n\n\tif (check([0x0, 0x0, 0x0, 0x14, 0x66, 0x74, 0x79, 0x70, 0x71, 0x74, 0x20, 0x20]) ||\n\t\tcheck([0x66, 0x72, 0x65, 0x65], {offset: 4}) || // Type: `free`\n\t\tcheck([0x66, 0x74, 0x79, 0x70, 0x71, 0x74, 0x20, 0x20], {offset: 4}) ||\n\t\tcheck([0x6D, 0x64, 0x61, 0x74], {offset: 4}) || // MJPEG\n\t\tcheck([0x6D, 0x6F, 0x6F, 0x76], {offset: 4}) || // Type: `moov`\n\t\tcheck([0x77, 0x69, 0x64, 0x65], {offset: 4})) {\n\t\treturn {\n\t\t\text: 'mov',\n\t\t\tmime: 'video/quicktime'\n\t\t};\n\t}\n\n\t// RIFF file format which might be AVI, WAV, QCP, etc\n\tif (check([0x52, 0x49, 0x46, 0x46])) {\n\t\tif (check([0x41, 0x56, 0x49], {offset: 8})) {\n\t\t\treturn {\n\t\t\t\text: 'avi',\n\t\t\t\tmime: 'video/vnd.avi'\n\t\t\t};\n\t\t}\n\t\tif (check([0x57, 0x41, 0x56, 0x45], {offset: 8})) {\n\t\t\treturn {\n\t\t\t\text: 'wav',\n\t\t\t\tmime: 'audio/vnd.wave'\n\t\t\t};\n\t\t}\n\t\t// QLCM, QCP file\n\t\tif (check([0x51, 0x4C, 0x43, 0x4D], {offset: 8})) {\n\t\t\treturn {\n\t\t\t\text: 'qcp',\n\t\t\t\tmime: 'audio/qcelp'\n\t\t\t};\n\t\t}\n\t}\n\n\t// ASF_Header_Object first 80 bytes\n\tif (check([0x30, 0x26, 0xB2, 0x75, 0x8E, 0x66, 0xCF, 0x11, 0xA6, 0xD9])) {\n\t\t// Search for header should be in first 1KB of file.\n\n\t\tlet offset = 30;\n\t\tdo {\n\t\t\tconst objectSize = readUInt64LE(buf, offset + 16);\n\t\t\tif (check([0x91, 0x07, 0xDC, 0xB7, 0xB7, 0xA9, 0xCF, 0x11, 0x8E, 0xE6, 0x00, 0xC0, 0x0C, 0x20, 0x53, 0x65], {offset})) {\n\t\t\t\t// Sync on Stream-Properties-Object (B7DC0791-A9B7-11CF-8EE6-00C00C205365)\n\t\t\t\tif (check([0x40, 0x9E, 0x69, 0xF8, 0x4D, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B], {offset: offset + 24})) {\n\t\t\t\t\t// Found audio:\n\t\t\t\t\treturn {\n\t\t\t\t\t\text: 'wma',\n\t\t\t\t\t\tmime: 'audio/x-ms-wma'\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tif (check([0xC0, 0xEF, 0x19, 0xBC, 0x4D, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B], {offset: offset + 24})) {\n\t\t\t\t\t// Found video:\n\t\t\t\t\treturn {\n\t\t\t\t\t\text: 'wmv',\n\t\t\t\t\t\tmime: 'video/x-ms-asf'\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\toffset += objectSize;\n\t\t} while (offset + 24 <= buf.length);\n\n\t\t// Default to ASF generic extension\n\t\treturn {\n\t\t\text: 'asf',\n\t\t\tmime: 'application/vnd.ms-asf'\n\t\t};\n\t}\n\n\tif (\n\t\tcheck([0x0, 0x0, 0x1, 0xBA]) ||\n\t\tcheck([0x0, 0x0, 0x1, 0xB3])\n\t) {\n\t\treturn {\n\t\t\text: 'mpg',\n\t\t\tmime: 'video/mpeg'\n\t\t};\n\t}\n\n\tif (check([0x66, 0x74, 0x79, 0x70, 0x33, 0x67], {offset: 4})) {\n\t\treturn {\n\t\t\text: '3gp',\n\t\t\tmime: 'video/3gpp'\n\t\t};\n\t}\n\n\t// Check for MPEG header at different starting offsets\n\tfor (let start = 0; start < 2 && start < (buf.length - 16); start++) {\n\t\tif (\n\t\t\tcheck([0x49, 0x44, 0x33], {offset: start}) || // ID3 header\n\t\t\tcheck([0xFF, 0xE2], {offset: start, mask: [0xFF, 0xE2]}) // MPEG 1 or 2 Layer 3 header\n\t\t) {\n\t\t\treturn {\n\t\t\t\text: 'mp3',\n\t\t\t\tmime: 'audio/mpeg'\n\t\t\t};\n\t\t}\n\n\t\tif (\n\t\t\tcheck([0xFF, 0xE4], {offset: start, mask: [0xFF, 0xE4]}) // MPEG 1 or 2 Layer 2 header\n\t\t) {\n\t\t\treturn {\n\t\t\t\text: 'mp2',\n\t\t\t\tmime: 'audio/mpeg'\n\t\t\t};\n\t\t}\n\n\t\tif (\n\t\t\tcheck([0xFF, 0xF8], {offset: start, mask: [0xFF, 0xFC]}) // MPEG 2 layer 0 using ADTS\n\t\t) {\n\t\t\treturn {\n\t\t\t\text: 'mp2',\n\t\t\t\tmime: 'audio/mpeg'\n\t\t\t};\n\t\t}\n\n\t\tif (\n\t\t\tcheck([0xFF, 0xF0], {offset: start, mask: [0xFF, 0xFC]}) // MPEG 4 layer 0 using ADTS\n\t\t) {\n\t\t\treturn {\n\t\t\t\text: 'mp4',\n\t\t\t\tmime: 'audio/mpeg'\n\t\t\t};\n\t\t}\n\t}\n\n\tif (\n\t\tcheck([0x66, 0x74, 0x79, 0x70, 0x4D, 0x34, 0x41], {offset: 4}) ||\n\t\tcheck([0x4D, 0x34, 0x41, 0x20])\n\t) {\n\t\treturn { // MPEG-4 layer 3 (audio)\n\t\t\text: 'm4a',\n\t\t\tmime: 'audio/mp4' // RFC 4337\n\t\t};\n\t}\n\n\t// Needs to be before `ogg` check\n\tif (check([0x4F, 0x70, 0x75, 0x73, 0x48, 0x65, 0x61, 0x64], {offset: 28})) {\n\t\treturn {\n\t\t\text: 'opus',\n\t\t\tmime: 'audio/opus'\n\t\t};\n\t}\n\n\t// If 'OggS' in first bytes, then OGG container\n\tif (check([0x4F, 0x67, 0x67, 0x53])) {\n\t\t// This is a OGG container\n\n\t\t// If ' theora' in header.\n\t\tif (check([0x80, 0x74, 0x68, 0x65, 0x6F, 0x72, 0x61], {offset: 28})) {\n\t\t\treturn {\n\t\t\t\text: 'ogv',\n\t\t\t\tmime: 'video/ogg'\n\t\t\t};\n\t\t}\n\t\t// If '\\x01video' in header.\n\t\tif (check([0x01, 0x76, 0x69, 0x64, 0x65, 0x6F, 0x00], {offset: 28})) {\n\t\t\treturn {\n\t\t\t\text: 'ogm',\n\t\t\t\tmime: 'video/ogg'\n\t\t\t};\n\t\t}\n\t\t// If ' FLAC' in header https://xiph.org/flac/faq.html\n\t\tif (check([0x7F, 0x46, 0x4C, 0x41, 0x43], {offset: 28})) {\n\t\t\treturn {\n\t\t\t\text: 'oga',\n\t\t\t\tmime: 'audio/ogg'\n\t\t\t};\n\t\t}\n\n\t\t// 'Speex ' in header https://en.wikipedia.org/wiki/Speex\n\t\tif (check([0x53, 0x70, 0x65, 0x65, 0x78, 0x20, 0x20], {offset: 28})) {\n\t\t\treturn {\n\t\t\t\text: 'spx',\n\t\t\t\tmime: 'audio/ogg'\n\t\t\t};\n\t\t}\n\n\t\t// If '\\x01vorbis' in header\n\t\tif (check([0x01, 0x76, 0x6F, 0x72, 0x62, 0x69, 0x73], {offset: 28})) {\n\t\t\treturn {\n\t\t\t\text: 'ogg',\n\t\t\t\tmime: 'audio/ogg'\n\t\t\t};\n\t\t}\n\n\t\t// Default OGG container https://www.iana.org/assignments/media-types/application/ogg\n\t\treturn {\n\t\t\text: 'ogx',\n\t\t\tmime: 'application/ogg'\n\t\t};\n\t}\n\n\tif (check([0x66, 0x4C, 0x61, 0x43])) {\n\t\treturn {\n\t\t\text: 'flac',\n\t\t\tmime: 'audio/x-flac'\n\t\t};\n\t}\n\n\tif (check([0x4D, 0x41, 0x43, 0x20])) { // 'MAC '\n\t\treturn {\n\t\t\text: 'ape',\n\t\t\tmime: 'audio/ape'\n\t\t};\n\t}\n\n\tif (check([0x77, 0x76, 0x70, 0x6B])) { // 'wvpk'\n\t\treturn {\n\t\t\text: 'wv',\n\t\t\tmime: 'audio/wavpack'\n\t\t};\n\t}\n\n\tif (check([0x23, 0x21, 0x41, 0x4D, 0x52, 0x0A])) {\n\t\treturn {\n\t\t\text: 'amr',\n\t\t\tmime: 'audio/amr'\n\t\t};\n\t}\n\n\tif (check([0x25, 0x50, 0x44, 0x46])) {\n\t\treturn {\n\t\t\text: 'pdf',\n\t\t\tmime: 'application/pdf'\n\t\t};\n\t}\n\n\tif (check([0x4D, 0x5A])) {\n\t\treturn {\n\t\t\text: 'exe',\n\t\t\tmime: 'application/x-msdownload'\n\t\t};\n\t}\n\n\tif (\n\t\t(buf[0] === 0x43 || buf[0] === 0x46) &&\n\t\tcheck([0x57, 0x53], {offset: 1})\n\t) {\n\t\treturn {\n\t\t\text: 'swf',\n\t\t\tmime: 'application/x-shockwave-flash'\n\t\t};\n\t}\n\n\tif (check([0x7B, 0x5C, 0x72, 0x74, 0x66])) {\n\t\treturn {\n\t\t\text: 'rtf',\n\t\t\tmime: 'application/rtf'\n\t\t};\n\t}\n\n\tif (check([0x00, 0x61, 0x73, 0x6D])) {\n\t\treturn {\n\t\t\text: 'wasm',\n\t\t\tmime: 'application/wasm'\n\t\t};\n\t}\n\n\tif (\n\t\tcheck([0x77, 0x4F, 0x46, 0x46]) &&\n\t\t(\n\t\t\tcheck([0x00, 0x01, 0x00, 0x00], {offset: 4}) ||\n\t\t\tcheck([0x4F, 0x54, 0x54, 0x4F], {offset: 4})\n\t\t)\n\t) {\n\t\treturn {\n\t\t\text: 'woff',\n\t\t\tmime: 'font/woff'\n\t\t};\n\t}\n\n\tif (\n\t\tcheck([0x77, 0x4F, 0x46, 0x32]) &&\n\t\t(\n\t\t\tcheck([0x00, 0x01, 0x00, 0x00], {offset: 4}) ||\n\t\t\tcheck([0x4F, 0x54, 0x54, 0x4F], {offset: 4})\n\t\t)\n\t) {\n\t\treturn {\n\t\t\text: 'woff2',\n\t\t\tmime: 'font/woff2'\n\t\t};\n\t}\n\n\tif (\n\t\tcheck([0x4C, 0x50], {offset: 34}) &&\n\t\t(\n\t\t\tcheck([0x00, 0x00, 0x01], {offset: 8}) ||\n\t\t\tcheck([0x01, 0x00, 0x02], {offset: 8}) ||\n\t\t\tcheck([0x02, 0x00, 0x02], {offset: 8})\n\t\t)\n\t) {\n\t\treturn {\n\t\t\text: 'eot',\n\t\t\tmime: 'application/vnd.ms-fontobject'\n\t\t};\n\t}\n\n\tif (check([0x00, 0x01, 0x00, 0x00, 0x00])) {\n\t\treturn {\n\t\t\text: 'ttf',\n\t\t\tmime: 'font/ttf'\n\t\t};\n\t}\n\n\tif (check([0x4F, 0x54, 0x54, 0x4F, 0x00])) {\n\t\treturn {\n\t\t\text: 'otf',\n\t\t\tmime: 'font/otf'\n\t\t};\n\t}\n\n\tif (check([0x00, 0x00, 0x01, 0x00])) {\n\t\treturn {\n\t\t\text: 'ico',\n\t\t\tmime: 'image/x-icon'\n\t\t};\n\t}\n\n\tif (check([0x00, 0x00, 0x02, 0x00])) {\n\t\treturn {\n\t\t\text: 'cur',\n\t\t\tmime: 'image/x-icon'\n\t\t};\n\t}\n\n\tif (check([0x46, 0x4C, 0x56, 0x01])) {\n\t\treturn {\n\t\t\text: 'flv',\n\t\t\tmime: 'video/x-flv'\n\t\t};\n\t}\n\n\tif (check([0x25, 0x21])) {\n\t\treturn {\n\t\t\text: 'ps',\n\t\t\tmime: 'application/postscript'\n\t\t};\n\t}\n\n\tif (check([0xFD, 0x37, 0x7A, 0x58, 0x5A, 0x00])) {\n\t\treturn {\n\t\t\text: 'xz',\n\t\t\tmime: 'application/x-xz'\n\t\t};\n\t}\n\n\tif (check([0x53, 0x51, 0x4C, 0x69])) {\n\t\treturn {\n\t\t\text: 'sqlite',\n\t\t\tmime: 'application/x-sqlite3'\n\t\t};\n\t}\n\n\tif (check([0x4E, 0x45, 0x53, 0x1A])) {\n\t\treturn {\n\t\t\text: 'nes',\n\t\t\tmime: 'application/x-nintendo-nes-rom'\n\t\t};\n\t}\n\n\tif (check([0x43, 0x72, 0x32, 0x34])) {\n\t\treturn {\n\t\t\text: 'crx',\n\t\t\tmime: 'application/x-google-chrome-extension'\n\t\t};\n\t}\n\n\tif (\n\t\tcheck([0x4D, 0x53, 0x43, 0x46]) ||\n\t\tcheck([0x49, 0x53, 0x63, 0x28])\n\t) {\n\t\treturn {\n\t\t\text: 'cab',\n\t\t\tmime: 'application/vnd.ms-cab-compressed'\n\t\t};\n\t}\n\n\t// Needs to be before `ar` check\n\tif (check([0x21, 0x3C, 0x61, 0x72, 0x63, 0x68, 0x3E, 0x0A, 0x64, 0x65, 0x62, 0x69, 0x61, 0x6E, 0x2D, 0x62, 0x69, 0x6E, 0x61, 0x72, 0x79])) {\n\t\treturn {\n\t\t\text: 'deb',\n\t\t\tmime: 'application/x-deb'\n\t\t};\n\t}\n\n\tif (check([0x21, 0x3C, 0x61, 0x72, 0x63, 0x68, 0x3E])) {\n\t\treturn {\n\t\t\text: 'ar',\n\t\t\tmime: 'application/x-unix-archive'\n\t\t};\n\t}\n\n\tif (check([0xED, 0xAB, 0xEE, 0xDB])) {\n\t\treturn {\n\t\t\text: 'rpm',\n\t\t\tmime: 'application/x-rpm'\n\t\t};\n\t}\n\n\tif (\n\t\tcheck([0x1F, 0xA0]) ||\n\t\tcheck([0x1F, 0x9D])\n\t) {\n\t\treturn {\n\t\t\text: 'Z',\n\t\t\tmime: 'application/x-compress'\n\t\t};\n\t}\n\n\tif (check([0x4C, 0x5A, 0x49, 0x50])) {\n\t\treturn {\n\t\t\text: 'lz',\n\t\t\tmime: 'application/x-lzip'\n\t\t};\n\t}\n\n\tif (check([0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1])) {\n\t\treturn {\n\t\t\text: 'msi',\n\t\t\tmime: 'application/x-msi'\n\t\t};\n\t}\n\n\tif (check([0x06, 0x0E, 0x2B, 0x34, 0x02, 0x05, 0x01, 0x01, 0x0D, 0x01, 0x02, 0x01, 0x01, 0x02])) {\n\t\treturn {\n\t\t\text: 'mxf',\n\t\t\tmime: 'application/mxf'\n\t\t};\n\t}\n\n\tif (check([0x47], {offset: 4}) && (check([0x47], {offset: 192}) || check([0x47], {offset: 196}))) {\n\t\treturn {\n\t\t\text: 'mts',\n\t\t\tmime: 'video/mp2t'\n\t\t};\n\t}\n\n\tif (check([0x42, 0x4C, 0x45, 0x4E, 0x44, 0x45, 0x52])) {\n\t\treturn {\n\t\t\text: 'blend',\n\t\t\tmime: 'application/x-blender'\n\t\t};\n\t}\n\n\tif (check([0x42, 0x50, 0x47, 0xFB])) {\n\t\treturn {\n\t\t\text: 'bpg',\n\t\t\tmime: 'image/bpg'\n\t\t};\n\t}\n\n\tif (check([0x00, 0x00, 0x00, 0x0C, 0x6A, 0x50, 0x20, 0x20, 0x0D, 0x0A, 0x87, 0x0A])) {\n\t\t// JPEG-2000 family\n\n\t\tif (check([0x6A, 0x70, 0x32, 0x20], {offset: 20})) {\n\t\t\treturn {\n\t\t\t\text: 'jp2',\n\t\t\t\tmime: 'image/jp2'\n\t\t\t};\n\t\t}\n\n\t\tif (check([0x6A, 0x70, 0x78, 0x20], {offset: 20})) {\n\t\t\treturn {\n\t\t\t\text: 'jpx',\n\t\t\t\tmime: 'image/jpx'\n\t\t\t};\n\t\t}\n\n\t\tif (check([0x6A, 0x70, 0x6D, 0x20], {offset: 20})) {\n\t\t\treturn {\n\t\t\t\text: 'jpm',\n\t\t\t\tmime: 'image/jpm'\n\t\t\t};\n\t\t}\n\n\t\tif (check([0x6D, 0x6A, 0x70, 0x32], {offset: 20})) {\n\t\t\treturn {\n\t\t\t\text: 'mj2',\n\t\t\t\tmime: 'image/mj2'\n\t\t\t};\n\t\t}\n\t}\n\n\tif (check([0x46, 0x4F, 0x52, 0x4D, 0x00])) {\n\t\treturn {\n\t\t\text: 'aif',\n\t\t\tmime: 'audio/aiff'\n\t\t};\n\t}\n\n\tif (checkString('<?xml ')) {\n\t\treturn {\n\t\t\text: 'xml',\n\t\t\tmime: 'application/xml'\n\t\t};\n\t}\n\n\tif (check([0x42, 0x4F, 0x4F, 0x4B, 0x4D, 0x4F, 0x42, 0x49], {offset: 60})) {\n\t\treturn {\n\t\t\text: 'mobi',\n\t\t\tmime: 'application/x-mobipocket-ebook'\n\t\t};\n\t}\n\n\t// File Type Box (https://en.wikipedia.org/wiki/ISO_base_media_file_format)\n\tif (check([0x66, 0x74, 0x79, 0x70], {offset: 4})) {\n\t\tif (check([0x6D, 0x69, 0x66, 0x31], {offset: 8})) {\n\t\t\treturn {\n\t\t\t\text: 'heic',\n\t\t\t\tmime: 'image/heif'\n\t\t\t};\n\t\t}\n\n\t\tif (check([0x6D, 0x73, 0x66, 0x31], {offset: 8})) {\n\t\t\treturn {\n\t\t\t\text: 'heic',\n\t\t\t\tmime: 'image/heif-sequence'\n\t\t\t};\n\t\t}\n\n\t\tif (check([0x68, 0x65, 0x69, 0x63], {offset: 8}) || check([0x68, 0x65, 0x69, 0x78], {offset: 8})) {\n\t\t\treturn {\n\t\t\t\text: 'heic',\n\t\t\t\tmime: 'image/heic'\n\t\t\t};\n\t\t}\n\n\t\tif (check([0x68, 0x65, 0x76, 0x63], {offset: 8}) || check([0x68, 0x65, 0x76, 0x78], {offset: 8})) {\n\t\t\treturn {\n\t\t\t\text: 'heic',\n\t\t\t\tmime: 'image/heic-sequence'\n\t\t\t};\n\t\t}\n\t}\n\n\tif (check([0xAB, 0x4B, 0x54, 0x58, 0x20, 0x31, 0x31, 0xBB, 0x0D, 0x0A, 0x1A, 0x0A])) {\n\t\treturn {\n\t\t\text: 'ktx',\n\t\t\tmime: 'image/ktx'\n\t\t};\n\t}\n\n\tif (check([0x44, 0x49, 0x43, 0x4D], {offset: 128})) {\n\t\treturn {\n\t\t\text: 'dcm',\n\t\t\tmime: 'application/dicom'\n\t\t};\n\t}\n\n\t// Musepack, SV7\n\tif (check([0x4D, 0x50, 0x2B])) {\n\t\treturn {\n\t\t\text: 'mpc',\n\t\t\tmime: 'audio/x-musepack'\n\t\t};\n\t}\n\n\t// Musepack, SV8\n\tif (check([0x4D, 0x50, 0x43, 0x4B])) {\n\t\treturn {\n\t\t\text: 'mpc',\n\t\t\tmime: 'audio/x-musepack'\n\t\t};\n\t}\n\n\treturn null;\n};\n\nObject.defineProperty(module.exports, 'minimumBytes', {value: 4100});\n","// the generated HOCR is excessively indented, so\n// we get rid of that indentation\n\nconst deindent = (html) => {\n const lines = html.split('\\n');\n if (lines[0].substring(0, 2) === ' ') {\n for (let i = 0; i < lines.length; i += 1) {\n if (lines[i].substring(0, 2) === ' ') {\n lines[i] = lines[i].slice(2);\n }\n }\n }\n return lines.join('\\n');\n};\n\nmodule.exports = (Module, base) => {\n const ri = base.GetIterator();\n const blocks = [];\n let block;\n let para;\n let textline;\n let word;\n let symbol;\n\n const enumToString = (value, prefix) => (\n Object.keys(Module)\n .filter(e => (e.substr(0, prefix.length + 1) === `${prefix}_`))\n .filter(e => Module[e] === value)\n .map(e => e.slice(prefix.length + 1))[0]\n );\n\n ri.Begin();\n do {\n if (ri.IsAtBeginningOf(Module.RIL_BLOCK)) {\n const poly = ri.BlockPolygon();\n let polygon = null;\n // BlockPolygon() returns null when automatic page segmentation is off\n if (Module.getPointer(poly) > 0) {\n const n = poly.get_n();\n const px = poly.get_x();\n const py = poly.get_y();\n polygon = [];\n for (let i = 0; i < n; i += 1) {\n polygon.push([px.getValue(i), py.getValue(i)]);\n }\n Module._ptaDestroy(Module.getPointer(poly));\n }\n\n block = {\n paragraphs: [],\n text: ri.GetUTF8Text(Module.RIL_BLOCK),\n confidence: ri.Confidence(Module.RIL_BLOCK),\n baseline: ri.getBaseline(Module.RIL_BLOCK),\n bbox: ri.getBoundingBox(Module.RIL_BLOCK),\n blocktype: enumToString(ri.BlockType(), 'PT'),\n polygon,\n };\n blocks.push(block);\n }\n if (ri.IsAtBeginningOf(Module.RIL_PARA)) {\n para = {\n lines: [],\n text: ri.GetUTF8Text(Module.RIL_PARA),\n confidence: ri.Confidence(Module.RIL_PARA),\n baseline: ri.getBaseline(Module.RIL_PARA),\n bbox: ri.getBoundingBox(Module.RIL_PARA),\n is_ltr: !!ri.ParagraphIsLtr(),\n };\n block.paragraphs.push(para);\n }\n if (ri.IsAtBeginningOf(Module.RIL_TEXTLINE)) {\n textline = {\n words: [],\n text: ri.GetUTF8Text(Module.RIL_TEXTLINE),\n confidence: ri.Confidence(Module.RIL_TEXTLINE),\n baseline: ri.getBaseline(Module.RIL_TEXTLINE),\n bbox: ri.getBoundingBox(Module.RIL_TEXTLINE),\n };\n para.lines.push(textline);\n }\n if (ri.IsAtBeginningOf(Module.RIL_WORD)) {\n const fontInfo = ri.getWordFontAttributes();\n const wordDir = ri.WordDirection();\n word = {\n symbols: [],\n choices: [],\n\n text: ri.GetUTF8Text(Module.RIL_WORD),\n confidence: ri.Confidence(Module.RIL_WORD),\n baseline: ri.getBaseline(Module.RIL_WORD),\n bbox: ri.getBoundingBox(Module.RIL_WORD),\n\n is_numeric: !!ri.WordIsNumeric(),\n in_dictionary: !!ri.WordIsFromDictionary(),\n direction: enumToString(wordDir, 'DIR'),\n language: ri.WordRecognitionLanguage(),\n\n is_bold: fontInfo.is_bold,\n is_italic: fontInfo.is_italic,\n is_underlined: fontInfo.is_underlined,\n is_monospace: fontInfo.is_monospace,\n is_serif: fontInfo.is_serif,\n is_smallcaps: fontInfo.is_smallcaps,\n font_size: fontInfo.pointsize,\n font_id: fontInfo.font_id,\n font_name: fontInfo.font_name,\n };\n const wc = new Module.WordChoiceIterator(ri);\n do {\n word.choices.push({\n text: wc.GetUTF8Text(),\n confidence: wc.Confidence(),\n });\n } while (wc.Next());\n Module.destroy(wc);\n textline.words.push(word);\n }\n\n // let image = null;\n // var pix = ri.GetBinaryImage(Module.RIL_SYMBOL)\n // var image = pix2array(pix);\n // // for some reason it seems that things stop working if you destroy pics\n // Module._pixDestroy(Module.getPointer(pix));\n if (ri.IsAtBeginningOf(Module.RIL_SYMBOL)) {\n symbol = {\n choices: [],\n image: null,\n text: ri.GetUTF8Text(Module.RIL_SYMBOL),\n confidence: ri.Confidence(Module.RIL_SYMBOL),\n baseline: ri.getBaseline(Module.RIL_SYMBOL),\n bbox: ri.getBoundingBox(Module.RIL_SYMBOL),\n is_superscript: !!ri.SymbolIsSuperscript(),\n is_subscript: !!ri.SymbolIsSubscript(),\n is_dropcap: !!ri.SymbolIsDropcap(),\n };\n word.symbols.push(symbol);\n const ci = new Module.ChoiceIterator(ri);\n do {\n symbol.choices.push({\n text: ci.GetUTF8Text(),\n confidence: ci.Confidence(),\n });\n } while (ci.Next());\n // Module.destroy(i);\n }\n } while (ri.Next(Module.RIL_SYMBOL));\n Module.destroy(ri);\n\n return {\n text: base.GetUTF8Text(),\n html: deindent(base.GetHOCRText()),\n confidence: base.MeanTextConf(),\n blocks,\n psm: enumToString(base.GetPageSegMode(), 'PSM'),\n oem: enumToString(base.oem(), 'OEM'),\n version: base.Version(),\n };\n};\n"],"sourceRoot":""}