X-Git-Url: https://git.squeep.com/?a=blobdiff_plain;f=priv%2Fstatic%2Fpacks%2Ftesseract.js.map;h=0a5962033f85b7ea633bf52fcc11c089b44d7e43;hb=283fb1e05bcd34294ea7bdedab62b0cc6f88d742;hp=8fb097f91ef795bc83cb6319db39af41460bfebe;hpb=5b62acf6e9a38f8d14a9fb37cc85e646fb0169e3;p=akkoma diff --git a/priv/static/packs/tesseract.js.map b/priv/static/packs/tesseract.js.map index 8fb097f91..0a5962033 100644 --- a/priv/static/packs/tesseract.js.map +++ b/priv/static/packs/tesseract.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/defaults.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/defaults.js","webpack:///./node_modules/file-type/index.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/core/createError.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/check-types/src/check-types.js","webpack:///./node_modules/resolve-url/resolve-url.js","webpack:///./node_modules/tesseract.js/src/browser/index.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/core/createError.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/tesseract.js/src/common/types.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/node_modules/is-url/index.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/index.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/axios.js","webpack:///./node_modules/tesseract.js-utils/node_modules/is-buffer/index.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/core/settle.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/tesseract.js-utils/src/common/browser/gunzip.js","webpack:///./node_modules/zlibjs/bin/node-zlib.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/tesseract.js/src/common/TesseractWorker.js","webpack:///./node_modules/tesseract.js/node_modules/axios/index.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/axios.js","webpack:///./node_modules/tesseract.js/node_modules/is-buffer/index.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/core/settle.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/tesseract.js/src/browser/b64toU8Array.js","webpack:///./node_modules/tesseract.js/src/common/options.js","webpack:///./node_modules/tesseract.js/src/common/circularize.js","webpack:///./node_modules/tesseract.js/src/common/TesseractJob.js","webpack:///./node_modules/tesseract.js/src/index.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/utils.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/utils.js"],"names":["utils","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","headers","value","isUndefined","adapter","defaults","XMLHttpRequest","process","transformRequest","data","isFormData","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","toString","isObject","JSON","stringify","transformResponse","parse","e","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","status","common","forEach","method","merge","module","exports","toBytes","s","concat","map","c","charCodeAt","xpiZipFilename","oxmlContentTypes","oxmlRels","readUInt64LE","buf","offset","n","mul","i","fileType","input","Uint8Array","ArrayBuffer","Buffer","TypeError","length","check","header","options","Object","assign","mask","checkString","ext","mime","findNextZipHeaderIndex","arr","startAt","findIndex","el","zipHeaderIndex","oxmlFound","type","sliced","subarray","idPos","docTypePos","findDocType","every","_offset","objectSize","start","default","defineProperty","stream","readableStream","Promise","resolve","reject","eval","once","pass","PassThrough","chunk","read","minimumBytes","error","unshift","pipeline","pipe","fn","thisArg","args","Array","arguments","apply","settle","buildURL","parseHeaders","isURLSameOrigin","createError","config","requestData","requestHeaders","request","auth","username","password","Authorization","btoa","open","toUpperCase","url","params","paramsSerializer","onreadystatechange","readyState","responseURL","indexOf","responseHeaders","getAllResponseHeaders","response","responseType","responseText","statusText","onerror","ontimeout","isStandardBrowserEnv","cookies","xsrfValue","withCredentials","undefined","val","key","toLowerCase","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","cancelToken","promise","then","cancel","abort","send","enhanceError","message","code","Error","__CANCEL__","Cancel","this","prototype","globals","strings","messages","predicates","functions","assert","not","maybe","collections","slice","neginf","posinf","isArray","haveSymbols","assigned","number","integer","greater","lhs","rhs","less","greaterOrEqual","lessOrEqual","string","nonEmptyString","object","call","instanceStrict","like","archetype","name","hasOwnProperty","array","arrayLike","isFunction","mapComplex","result","keys","predicate","m","testArray","testObject","mixin","target","source","assertModifier","defaultMessage","assertPredicate","argCount","l","ErrorType","assertImpl","notModifier","modifiedPredicate","notImpl","ofModifier","collection","coerceCollection","item","ignore","createModifiedPredicates","modifier","createModifiedFunctions","shift","pop","configurable","enumerable","writable","createModifiedModifier","modified","createOfModifiers","base","of","v","b","o","t","a","al","d","f","iterator","iteration","Symbol","values","next","done","x","y","substring","regex","match","constructor","Date","getTime","hasLength","index","mapSimple","all","any","Number","NEGATIVE_INFINITY","POSITIVE_INFINITY","bind","exportFunctions","numUrls","document","createElement","href","head","getElementsByTagName","insertBefore","firstChild","resolved","removeChild","_objectSpread4","_interopRequireDefault","resolveURL","axios","b64toU8Array","defaultOptions","version","readFromBlobOrFile","blob","res","fileReader","FileReader","onload","readAsArrayBuffer","workerPath","env","TESS_ENV","Math","random","corePath","WebAssembly","spawnWorker","instance","_ref","worker","Blob","URL","Worker","createObjectURL","onmessage","_ref2","jobId","startsWith","recv","path","navigator","msSaveBlob","link","download","setAttribute","style","visibility","body","appendChild","click","downloadFile","terminateWorker","terminate","sendPacket","iPacket","packet","loadImage","image","test","split","get","resp","HTMLElement","tagName","src","poster","toBlob","File","payload","img","from","postMessage","OEM","TESSERACT_ONLY","LSTM_ONLY","TESSERACT_LSTM_COMBINED","DEFAULT","PSM","OSD_ONLY","AUTO_OSD","AUTO_ONLY","AUTO","SINGLE_COLUMN","SINGLE_BLOCK_VERT_TEXT","SINGLE_BLOCK","SINGLE_LINE","SINGLE_WORD","SINGLE_CHAR","SPARSE_TEXT","SPARSE_TEXT_OSD","RAW_LINE","_objectSpread3","cache","loadLang","gunzip","readImage","_require","set","del","readCache","writeCache","deleteCache","checkCache","store","Store","dbName","storeName","_dbp","openreq","indexedDB","onsuccess","onupgradeneeded","createObjectStore","_withIDBStore","callback","_this","db","transaction","oncomplete","onabort","objectStore","getDefaultStore","req","put","delete","clear","openKeyCursor","openCursor","push","continue","_objectWithoutPropertiesLoose2","isURL","modules","_ref4","langs","langPath","cachePath","cacheMethod","_ref2$gzip","gzip","lang","langCode","handleTraineddata","doHandleLang","TessModule","dataPath","FS","mkdir","err","writeFile","includes","handleLang","catch","iLangPath","_ref3","loadAndGunzipFile","protocolAndDomainRE","everythingAfterProtocol","localhostDomainRE","nonLocalhostDomainRE","Axios","createInstance","defaultConfig","context","extend","create","instanceConfig","CancelToken","isCancel","promises","spread","obj","InterceptorManager","dispatchRequest","interceptors","chain","interceptor","fulfilled","rejected","normalizedName","encode","encodeURIComponent","replace","serializedParams","parts","isDate","toISOString","join","ignoreDuplicateOf","parsed","line","trim","substr","originURL","msie","userAgent","urlParsingNode","protocol","host","search","hash","hostname","port","pathname","charAt","window","location","requestURL","isString","write","expires","domain","secure","cookie","isNumber","toGMTString","RegExp","decodeURIComponent","remove","now","handlers","use","eject","id","h","transformData","isAbsoluteURL","combineURLs","throwIfCancellationRequested","throwIfRequested","baseURL","reason","fns","relativeURL","executor","resolvePromise","token","gunzipSync","q","B","Uint16Array","Uint32Array","DataView","G","k","g","I","finish","L","aa","ba","R","ca","ha","S","ia","ja","ka","T","r","p","na","oa","F","lazy","compressionType","outputBuffer","outputIndex","getParent","U","pa","NONE","X","qa","va","N","w","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","Sa","byteLength","V","j","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","String","fromCharCode","rb","sb","ub","Bb","wb","noBuffer","yb","Ab","LOG2E","log","deflate","nextTick","deflateSync","inflate","inflateSync","gzipSync","bmp","iBuf","yres","bytesPerPixel","pix","bmpBuf","decode","_malloc","BYTES_PER_ELEMENT","HEAPU8","width","height","ptr","_pixReadMem","getValue","setValue","_Array$fill$map","fill","idx","BmpEncoder","imgData","extraBytes","rgbSize","headerInfoSize","flag","reserved","fileSize","planes","bitPP","compress","hr","vr","colors","importantColors","tempBuffer","pos","writeUInt32LE","writeInt32LE","writeUInt16LE","rowBytes","fillOffset","quality","BmpDecoder","is_with_alpha","bottom_up","parseHeader","parseRGBA","readUInt32LE","headerSize","readInt32LE","readUInt16LE","rawSize","len","palette","blue","readUInt8","green","red","quad","bitn","bit1","xlen","ceil","mode","rgb","bit4","setPixelData","rgbIndex","lines","low_nibble","before","after","bit8","bit15","dif_w","_1_5","parseInt","alpha","bit16","maskRed","maskGreen","maskBlue","mask0","ns","bit24","bit32","getData","bmpData","_objectSpread6","circularize","TesseractJob","TesseractWorker","_currentJob","_queue","_proto","recognize","_sendJob","detect","handle","action","console","warn","dequeue","_this2","_delay","job","_this3","null","atob","defaultParams","tessedit_ocr_engine_mode","tessedit_pageseg_mode","tessedit_char_whiltelist","tessjs_create_pdf","tessjs_create_hocr","tessjs_create_tsv","tessjs_create_box","tessjs_create_unlv","tessjs_create_osd","tessjs_textonly_pdf","tessjs_pdf_name","tessjs_pdf_title","tessjs_pdf_auto_download","tessjs_pdf_bin","tessjs_image_rectangle_left","tessjs_image_rectangle_top","tessjs_image_rectangle_width","tessjs_image_rectangle_height","_objectSpread8","iPage","page","paragraphs","words","symbols","blocks","iBlock","block","iPara","para","iLine","paragraph","iWord","word","iSym","sym","jobCounter","_worker","_resolve","_reject","_progress","_finally","rej","_result","progress","finally","runFinallyCbs","ret","types","FormData","isView","URLSearchParams","product","assignValue","str"],"mappings":"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","file":"tesseract.js","sourcesContent":["'use strict';\n\nvar utils = require('./utils');\n\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) || utils.isArrayBuffer(data) || utils.isBuffer(data) || utils.isStream(data) || utils.isFile(data) || utils.isBlob(data)) {\n return data;\n }\n\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n\n return data;\n }],\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) {\n /* Ignore */\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n maxContentLength: -1,\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\nmodule.exports = defaults;","'use strict';\n\nvar utils = require('./utils');\n\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) || utils.isArrayBuffer(data) || utils.isBuffer(data) || utils.isStream(data) || utils.isFile(data) || utils.isBlob(data)) {\n return data;\n }\n\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n\n return data;\n }],\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) {\n /* Ignore */\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n maxContentLength: -1,\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\nmodule.exports = defaults;","'use strict';\n\nvar toBytes = function toBytes(s) {\n return [].concat(s).map(function (c) {\n return c.charCodeAt(0);\n });\n};\n\nvar xpiZipFilename = toBytes('META-INF/mozilla.rsa');\nvar oxmlContentTypes = toBytes('[Content_Types].xml');\nvar oxmlRels = toBytes('_rels/.rels');\n\nfunction readUInt64LE(buf, offset) {\n if (offset === void 0) {\n offset = 0;\n }\n\n var n = buf[offset];\n var mul = 1;\n var i = 0;\n\n while (++i < 8) {\n mul *= 0x100;\n n += buf[offset + i] * mul;\n }\n\n return n;\n}\n\nvar fileType = function fileType(input) {\n if (!(input instanceof Uint8Array || input instanceof ArrayBuffer || Buffer.isBuffer(input))) {\n throw new TypeError(\"Expected the `input` argument to be of type `Uint8Array` or `Buffer` or `ArrayBuffer`, got `\" + typeof input + \"`\");\n }\n\n var buf = input instanceof Uint8Array ? input : new Uint8Array(input);\n\n if (!(buf && buf.length > 1)) {\n return null;\n }\n\n var check = function check(header, options) {\n options = Object.assign({\n offset: 0\n }, options);\n\n for (var i = 0; i < header.length; i++) {\n // If a bitmask is set\n if (options.mask) {\n // If header doesn't equal `buf` with bits masked off\n if (header[i] !== (options.mask[i] & buf[i + options.offset])) {\n return false;\n }\n } else if (header[i] !== buf[i + options.offset]) {\n return false;\n }\n }\n\n return true;\n };\n\n var checkString = function checkString(header, options) {\n return check(toBytes(header), options);\n };\n\n if (check([0xFF, 0xD8, 0xFF])) {\n return {\n ext: 'jpg',\n mime: 'image/jpeg'\n };\n }\n\n if (check([0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A])) {\n return {\n ext: 'png',\n mime: 'image/png'\n };\n }\n\n if (check([0x47, 0x49, 0x46])) {\n return {\n ext: 'gif',\n mime: 'image/gif'\n };\n }\n\n if (check([0x57, 0x45, 0x42, 0x50], {\n offset: 8\n })) {\n return {\n ext: 'webp',\n mime: 'image/webp'\n };\n }\n\n if (check([0x46, 0x4C, 0x49, 0x46])) {\n return {\n ext: 'flif',\n mime: 'image/flif'\n };\n } // Needs to be before `tif` check\n\n\n if ((check([0x49, 0x49, 0x2A, 0x0]) || check([0x4D, 0x4D, 0x0, 0x2A])) && check([0x43, 0x52], {\n offset: 8\n })) {\n return {\n ext: 'cr2',\n mime: 'image/x-canon-cr2'\n };\n }\n\n if (check([0x49, 0x49, 0x2A, 0x0]) || check([0x4D, 0x4D, 0x0, 0x2A])) {\n return {\n ext: 'tif',\n mime: 'image/tiff'\n };\n }\n\n if (check([0x42, 0x4D])) {\n return {\n ext: 'bmp',\n mime: 'image/bmp'\n };\n }\n\n if (check([0x49, 0x49, 0xBC])) {\n return {\n ext: 'jxr',\n mime: 'image/vnd.ms-photo'\n };\n }\n\n if (check([0x38, 0x42, 0x50, 0x53])) {\n return {\n ext: 'psd',\n mime: 'image/vnd.adobe.photoshop'\n };\n } // Zip-based file formats\n // Need to be before the `zip` check\n\n\n if (check([0x50, 0x4B, 0x3, 0x4])) {\n if (check([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], {\n offset: 30\n })) {\n return {\n ext: 'epub',\n mime: 'application/epub+zip'\n };\n } // Assumes signed `.xpi` from addons.mozilla.org\n\n\n if (check(xpiZipFilename, {\n offset: 30\n })) {\n return {\n ext: 'xpi',\n mime: 'application/x-xpinstall'\n };\n }\n\n if (checkString('mimetypeapplication/vnd.oasis.opendocument.text', {\n offset: 30\n })) {\n return {\n ext: 'odt',\n mime: 'application/vnd.oasis.opendocument.text'\n };\n }\n\n if (checkString('mimetypeapplication/vnd.oasis.opendocument.spreadsheet', {\n offset: 30\n })) {\n return {\n ext: 'ods',\n mime: 'application/vnd.oasis.opendocument.spreadsheet'\n };\n }\n\n if (checkString('mimetypeapplication/vnd.oasis.opendocument.presentation', {\n offset: 30\n })) {\n return {\n ext: 'odp',\n mime: 'application/vnd.oasis.opendocument.presentation'\n };\n } // The docx, xlsx and pptx file types extend the Office Open XML file format:\n // https://en.wikipedia.org/wiki/Office_Open_XML_file_formats\n // We look for:\n // - one entry named '[Content_Types].xml' or '_rels/.rels',\n // - one entry indicating specific type of file.\n // MS Office, OpenOffice and LibreOffice may put the parts in different order, so the check should not rely on it.\n\n\n var findNextZipHeaderIndex = function findNextZipHeaderIndex(arr, startAt) {\n if (startAt === void 0) {\n startAt = 0;\n }\n\n return arr.findIndex(function (el, i, arr) {\n return i >= startAt && arr[i] === 0x50 && arr[i + 1] === 0x4B && arr[i + 2] === 0x3 && arr[i + 3] === 0x4;\n });\n };\n\n var zipHeaderIndex = 0; // The first zip header was already found at index 0\n\n var oxmlFound = false;\n var type = null;\n\n do {\n var offset = zipHeaderIndex + 30;\n\n if (!oxmlFound) {\n oxmlFound = check(oxmlContentTypes, {\n offset: offset\n }) || check(oxmlRels, {\n offset: offset\n });\n }\n\n if (!type) {\n if (checkString('word/', {\n offset: offset\n })) {\n type = {\n ext: 'docx',\n mime: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'\n };\n } else if (checkString('ppt/', {\n offset: offset\n })) {\n type = {\n ext: 'pptx',\n mime: 'application/vnd.openxmlformats-officedocument.presentationml.presentation'\n };\n } else if (checkString('xl/', {\n offset: offset\n })) {\n type = {\n ext: 'xlsx',\n mime: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n };\n }\n }\n\n if (oxmlFound && type) {\n return type;\n }\n\n zipHeaderIndex = findNextZipHeaderIndex(buf, offset);\n } while (zipHeaderIndex >= 0); // No more zip parts available in the buffer, but maybe we are almost certain about the type?\n\n\n if (type) {\n return type;\n }\n }\n\n if (check([0x50, 0x4B]) && (buf[2] === 0x3 || buf[2] === 0x5 || buf[2] === 0x7) && (buf[3] === 0x4 || buf[3] === 0x6 || buf[3] === 0x8)) {\n return {\n ext: 'zip',\n mime: 'application/zip'\n };\n }\n\n if (check([0x75, 0x73, 0x74, 0x61, 0x72], {\n offset: 257\n })) {\n return {\n ext: 'tar',\n mime: 'application/x-tar'\n };\n }\n\n if (check([0x52, 0x61, 0x72, 0x21, 0x1A, 0x7]) && (buf[6] === 0x0 || buf[6] === 0x1)) {\n return {\n ext: 'rar',\n mime: 'application/x-rar-compressed'\n };\n }\n\n if (check([0x1F, 0x8B, 0x8])) {\n return {\n ext: 'gz',\n mime: 'application/gzip'\n };\n }\n\n if (check([0x42, 0x5A, 0x68])) {\n return {\n ext: 'bz2',\n mime: 'application/x-bzip2'\n };\n }\n\n if (check([0x37, 0x7A, 0xBC, 0xAF, 0x27, 0x1C])) {\n return {\n ext: '7z',\n mime: 'application/x-7z-compressed'\n };\n }\n\n if (check([0x78, 0x01])) {\n return {\n ext: 'dmg',\n mime: 'application/x-apple-diskimage'\n };\n }\n\n if (check([0x33, 0x67, 0x70, 0x35]) || // 3gp5\n check([0x0, 0x0, 0x0]) && check([0x66, 0x74, 0x79, 0x70], {\n offset: 4\n }) && (check([0x6D, 0x70, 0x34, 0x31], {\n offset: 8\n }) || // MP41\n check([0x6D, 0x70, 0x34, 0x32], {\n offset: 8\n }) || // MP42\n check([0x69, 0x73, 0x6F, 0x6D], {\n offset: 8\n }) || // ISOM\n check([0x69, 0x73, 0x6F, 0x32], {\n offset: 8\n }) || // ISO2\n check([0x6D, 0x6D, 0x70, 0x34], {\n offset: 8\n }) || // MMP4\n check([0x4D, 0x34, 0x56], {\n offset: 8\n }) || // M4V\n check([0x64, 0x61, 0x73, 0x68], {\n offset: 8\n }) // DASH\n )) {\n return {\n ext: 'mp4',\n mime: 'video/mp4'\n };\n }\n\n if (check([0x4D, 0x54, 0x68, 0x64])) {\n return {\n ext: 'mid',\n mime: 'audio/midi'\n };\n } // https://github.com/threatstack/libmagic/blob/master/magic/Magdir/matroska\n\n\n if (check([0x1A, 0x45, 0xDF, 0xA3])) {\n var sliced = buf.subarray(4, 4 + 4096);\n var idPos = sliced.findIndex(function (el, i, arr) {\n return arr[i] === 0x42 && arr[i + 1] === 0x82;\n });\n\n if (idPos !== -1) {\n var docTypePos = idPos + 3;\n\n var findDocType = function findDocType(type) {\n return [].concat(type).every(function (c, i) {\n return sliced[docTypePos + i] === c.charCodeAt(0);\n });\n };\n\n if (findDocType('matroska')) {\n return {\n ext: 'mkv',\n mime: 'video/x-matroska'\n };\n }\n\n if (findDocType('webm')) {\n return {\n ext: 'webm',\n mime: 'video/webm'\n };\n }\n }\n }\n\n if (check([0x0, 0x0, 0x0, 0x14, 0x66, 0x74, 0x79, 0x70, 0x71, 0x74, 0x20, 0x20]) || check([0x66, 0x72, 0x65, 0x65], {\n offset: 4\n }) || // Type: `free`\n check([0x66, 0x74, 0x79, 0x70, 0x71, 0x74, 0x20, 0x20], {\n offset: 4\n }) || check([0x6D, 0x64, 0x61, 0x74], {\n offset: 4\n }) || // MJPEG\n check([0x6D, 0x6F, 0x6F, 0x76], {\n offset: 4\n }) || // Type: `moov`\n check([0x77, 0x69, 0x64, 0x65], {\n offset: 4\n })) {\n return {\n ext: 'mov',\n mime: 'video/quicktime'\n };\n } // RIFF file format which might be AVI, WAV, QCP, etc\n\n\n if (check([0x52, 0x49, 0x46, 0x46])) {\n if (check([0x41, 0x56, 0x49], {\n offset: 8\n })) {\n return {\n ext: 'avi',\n mime: 'video/vnd.avi'\n };\n }\n\n if (check([0x57, 0x41, 0x56, 0x45], {\n offset: 8\n })) {\n return {\n ext: 'wav',\n mime: 'audio/vnd.wave'\n };\n } // QLCM, QCP file\n\n\n if (check([0x51, 0x4C, 0x43, 0x4D], {\n offset: 8\n })) {\n return {\n ext: 'qcp',\n mime: 'audio/qcelp'\n };\n }\n } // ASF_Header_Object first 80 bytes\n\n\n if (check([0x30, 0x26, 0xB2, 0x75, 0x8E, 0x66, 0xCF, 0x11, 0xA6, 0xD9])) {\n // Search for header should be in first 1KB of file.\n var _offset = 30;\n\n do {\n var objectSize = readUInt64LE(buf, _offset + 16);\n\n if (check([0x91, 0x07, 0xDC, 0xB7, 0xB7, 0xA9, 0xCF, 0x11, 0x8E, 0xE6, 0x00, 0xC0, 0x0C, 0x20, 0x53, 0x65], {\n offset: _offset\n })) {\n // Sync on Stream-Properties-Object (B7DC0791-A9B7-11CF-8EE6-00C00C205365)\n if (check([0x40, 0x9E, 0x69, 0xF8, 0x4D, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B], {\n offset: _offset + 24\n })) {\n // Found audio:\n return {\n ext: 'wma',\n mime: 'audio/x-ms-wma'\n };\n }\n\n if (check([0xC0, 0xEF, 0x19, 0xBC, 0x4D, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B], {\n offset: _offset + 24\n })) {\n // Found video:\n return {\n ext: 'wmv',\n mime: 'video/x-ms-asf'\n };\n }\n\n break;\n }\n\n _offset += objectSize;\n } while (_offset + 24 <= buf.length); // Default to ASF generic extension\n\n\n return {\n ext: 'asf',\n mime: 'application/vnd.ms-asf'\n };\n }\n\n if (check([0x0, 0x0, 0x1, 0xBA]) || check([0x0, 0x0, 0x1, 0xB3])) {\n return {\n ext: 'mpg',\n mime: 'video/mpeg'\n };\n }\n\n if (check([0x66, 0x74, 0x79, 0x70, 0x33, 0x67], {\n offset: 4\n })) {\n return {\n ext: '3gp',\n mime: 'video/3gpp'\n };\n } // Check for MPEG header at different starting offsets\n\n\n for (var start = 0; start < 2 && start < buf.length - 16; start++) {\n if (check([0x49, 0x44, 0x33], {\n offset: start\n }) || // ID3 header\n check([0xFF, 0xE2], {\n offset: start,\n mask: [0xFF, 0xE2]\n }) // MPEG 1 or 2 Layer 3 header\n ) {\n return {\n ext: 'mp3',\n mime: 'audio/mpeg'\n };\n }\n\n if (check([0xFF, 0xE4], {\n offset: start,\n mask: [0xFF, 0xE4]\n }) // MPEG 1 or 2 Layer 2 header\n ) {\n return {\n ext: 'mp2',\n mime: 'audio/mpeg'\n };\n }\n\n if (check([0xFF, 0xF8], {\n offset: start,\n mask: [0xFF, 0xFC]\n }) // MPEG 2 layer 0 using ADTS\n ) {\n return {\n ext: 'mp2',\n mime: 'audio/mpeg'\n };\n }\n\n if (check([0xFF, 0xF0], {\n offset: start,\n mask: [0xFF, 0xFC]\n }) // MPEG 4 layer 0 using ADTS\n ) {\n return {\n ext: 'mp4',\n mime: 'audio/mpeg'\n };\n }\n }\n\n if (check([0x66, 0x74, 0x79, 0x70, 0x4D, 0x34, 0x41], {\n offset: 4\n })) {\n return {\n // MPEG-4 layer 3 (audio)\n ext: 'm4a',\n mime: 'audio/mp4' // RFC 4337\n\n };\n } // Needs to be before `ogg` check\n\n\n if (check([0x4F, 0x70, 0x75, 0x73, 0x48, 0x65, 0x61, 0x64], {\n offset: 28\n })) {\n return {\n ext: 'opus',\n mime: 'audio/opus'\n };\n } // If 'OggS' in first bytes, then OGG container\n\n\n if (check([0x4F, 0x67, 0x67, 0x53])) {\n // This is a OGG container\n // If ' theora' in header.\n if (check([0x80, 0x74, 0x68, 0x65, 0x6F, 0x72, 0x61], {\n offset: 28\n })) {\n return {\n ext: 'ogv',\n mime: 'video/ogg'\n };\n } // If '\\x01video' in header.\n\n\n if (check([0x01, 0x76, 0x69, 0x64, 0x65, 0x6F, 0x00], {\n offset: 28\n })) {\n return {\n ext: 'ogm',\n mime: 'video/ogg'\n };\n } // If ' FLAC' in header https://xiph.org/flac/faq.html\n\n\n if (check([0x7F, 0x46, 0x4C, 0x41, 0x43], {\n offset: 28\n })) {\n return {\n ext: 'oga',\n mime: 'audio/ogg'\n };\n } // 'Speex ' in header https://en.wikipedia.org/wiki/Speex\n\n\n if (check([0x53, 0x70, 0x65, 0x65, 0x78, 0x20, 0x20], {\n offset: 28\n })) {\n return {\n ext: 'spx',\n mime: 'audio/ogg'\n };\n } // If '\\x01vorbis' in header\n\n\n if (check([0x01, 0x76, 0x6F, 0x72, 0x62, 0x69, 0x73], {\n offset: 28\n })) {\n return {\n ext: 'ogg',\n mime: 'audio/ogg'\n };\n } // Default OGG container https://www.iana.org/assignments/media-types/application/ogg\n\n\n return {\n ext: 'ogx',\n mime: 'application/ogg'\n };\n }\n\n if (check([0x66, 0x4C, 0x61, 0x43])) {\n return {\n ext: 'flac',\n mime: 'audio/x-flac'\n };\n }\n\n if (check([0x4D, 0x41, 0x43, 0x20])) {\n // 'MAC '\n return {\n ext: 'ape',\n mime: 'audio/ape'\n };\n }\n\n if (check([0x77, 0x76, 0x70, 0x6B])) {\n // 'wvpk'\n return {\n ext: 'wv',\n mime: 'audio/wavpack'\n };\n }\n\n if (check([0x23, 0x21, 0x41, 0x4D, 0x52, 0x0A])) {\n return {\n ext: 'amr',\n mime: 'audio/amr'\n };\n }\n\n if (check([0x25, 0x50, 0x44, 0x46])) {\n return {\n ext: 'pdf',\n mime: 'application/pdf'\n };\n }\n\n if (check([0x4D, 0x5A])) {\n return {\n ext: 'exe',\n mime: 'application/x-msdownload'\n };\n }\n\n if ((buf[0] === 0x43 || buf[0] === 0x46) && check([0x57, 0x53], {\n offset: 1\n })) {\n return {\n ext: 'swf',\n mime: 'application/x-shockwave-flash'\n };\n }\n\n if (check([0x7B, 0x5C, 0x72, 0x74, 0x66])) {\n return {\n ext: 'rtf',\n mime: 'application/rtf'\n };\n }\n\n if (check([0x00, 0x61, 0x73, 0x6D])) {\n return {\n ext: 'wasm',\n mime: 'application/wasm'\n };\n }\n\n if (check([0x77, 0x4F, 0x46, 0x46]) && (check([0x00, 0x01, 0x00, 0x00], {\n offset: 4\n }) || check([0x4F, 0x54, 0x54, 0x4F], {\n offset: 4\n }))) {\n return {\n ext: 'woff',\n mime: 'font/woff'\n };\n }\n\n if (check([0x77, 0x4F, 0x46, 0x32]) && (check([0x00, 0x01, 0x00, 0x00], {\n offset: 4\n }) || check([0x4F, 0x54, 0x54, 0x4F], {\n offset: 4\n }))) {\n return {\n ext: 'woff2',\n mime: 'font/woff2'\n };\n }\n\n if (check([0x4C, 0x50], {\n offset: 34\n }) && (check([0x00, 0x00, 0x01], {\n offset: 8\n }) || check([0x01, 0x00, 0x02], {\n offset: 8\n }) || check([0x02, 0x00, 0x02], {\n offset: 8\n }))) {\n return {\n ext: 'eot',\n mime: 'application/vnd.ms-fontobject'\n };\n }\n\n if (check([0x00, 0x01, 0x00, 0x00, 0x00])) {\n return {\n ext: 'ttf',\n mime: 'font/ttf'\n };\n }\n\n if (check([0x4F, 0x54, 0x54, 0x4F, 0x00])) {\n return {\n ext: 'otf',\n mime: 'font/otf'\n };\n }\n\n if (check([0x00, 0x00, 0x01, 0x00])) {\n return {\n ext: 'ico',\n mime: 'image/x-icon'\n };\n }\n\n if (check([0x00, 0x00, 0x02, 0x00])) {\n return {\n ext: 'cur',\n mime: 'image/x-icon'\n };\n }\n\n if (check([0x46, 0x4C, 0x56, 0x01])) {\n return {\n ext: 'flv',\n mime: 'video/x-flv'\n };\n }\n\n if (check([0x25, 0x21])) {\n return {\n ext: 'ps',\n mime: 'application/postscript'\n };\n }\n\n if (check([0xFD, 0x37, 0x7A, 0x58, 0x5A, 0x00])) {\n return {\n ext: 'xz',\n mime: 'application/x-xz'\n };\n }\n\n if (check([0x53, 0x51, 0x4C, 0x69])) {\n return {\n ext: 'sqlite',\n mime: 'application/x-sqlite3'\n };\n }\n\n if (check([0x4E, 0x45, 0x53, 0x1A])) {\n return {\n ext: 'nes',\n mime: 'application/x-nintendo-nes-rom'\n };\n }\n\n if (check([0x43, 0x72, 0x32, 0x34])) {\n return {\n ext: 'crx',\n mime: 'application/x-google-chrome-extension'\n };\n }\n\n if (check([0x4D, 0x53, 0x43, 0x46]) || check([0x49, 0x53, 0x63, 0x28])) {\n return {\n ext: 'cab',\n mime: 'application/vnd.ms-cab-compressed'\n };\n } // Needs to be before `ar` check\n\n\n if (check([0x21, 0x3C, 0x61, 0x72, 0x63, 0x68, 0x3E, 0x0A, 0x64, 0x65, 0x62, 0x69, 0x61, 0x6E, 0x2D, 0x62, 0x69, 0x6E, 0x61, 0x72, 0x79])) {\n return {\n ext: 'deb',\n mime: 'application/x-deb'\n };\n }\n\n if (check([0x21, 0x3C, 0x61, 0x72, 0x63, 0x68, 0x3E])) {\n return {\n ext: 'ar',\n mime: 'application/x-unix-archive'\n };\n }\n\n if (check([0xED, 0xAB, 0xEE, 0xDB])) {\n return {\n ext: 'rpm',\n mime: 'application/x-rpm'\n };\n }\n\n if (check([0x1F, 0xA0]) || check([0x1F, 0x9D])) {\n return {\n ext: 'Z',\n mime: 'application/x-compress'\n };\n }\n\n if (check([0x4C, 0x5A, 0x49, 0x50])) {\n return {\n ext: 'lz',\n mime: 'application/x-lzip'\n };\n }\n\n if (check([0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1])) {\n return {\n ext: 'msi',\n mime: 'application/x-msi'\n };\n }\n\n if (check([0x06, 0x0E, 0x2B, 0x34, 0x02, 0x05, 0x01, 0x01, 0x0D, 0x01, 0x02, 0x01, 0x01, 0x02])) {\n return {\n ext: 'mxf',\n mime: 'application/mxf'\n };\n }\n\n if (check([0x47], {\n offset: 4\n }) && (check([0x47], {\n offset: 192\n }) || check([0x47], {\n offset: 196\n }))) {\n return {\n ext: 'mts',\n mime: 'video/mp2t'\n };\n }\n\n if (check([0x42, 0x4C, 0x45, 0x4E, 0x44, 0x45, 0x52])) {\n return {\n ext: 'blend',\n mime: 'application/x-blender'\n };\n }\n\n if (check([0x42, 0x50, 0x47, 0xFB])) {\n return {\n ext: 'bpg',\n mime: 'image/bpg'\n };\n }\n\n if (check([0x00, 0x00, 0x00, 0x0C, 0x6A, 0x50, 0x20, 0x20, 0x0D, 0x0A, 0x87, 0x0A])) {\n // JPEG-2000 family\n if (check([0x6A, 0x70, 0x32, 0x20], {\n offset: 20\n })) {\n return {\n ext: 'jp2',\n mime: 'image/jp2'\n };\n }\n\n if (check([0x6A, 0x70, 0x78, 0x20], {\n offset: 20\n })) {\n return {\n ext: 'jpx',\n mime: 'image/jpx'\n };\n }\n\n if (check([0x6A, 0x70, 0x6D, 0x20], {\n offset: 20\n })) {\n return {\n ext: 'jpm',\n mime: 'image/jpm'\n };\n }\n\n if (check([0x6D, 0x6A, 0x70, 0x32], {\n offset: 20\n })) {\n return {\n ext: 'mj2',\n mime: 'image/mj2'\n };\n }\n }\n\n if (check([0x46, 0x4F, 0x52, 0x4D])) {\n return {\n ext: 'aif',\n mime: 'audio/aiff'\n };\n }\n\n if (checkString(' neginf && data < posinf;\n }\n /**\n * Public function `integer`.\n *\n * Returns true if `data` is an integer, false otherwise.\n */\n\n\n function integer(data) {\n return typeof data === 'number' && data % 1 === 0;\n }\n /**\n * Public function `even`.\n *\n * Returns true if `data` is an even number, false otherwise.\n */\n\n\n function even(data) {\n return typeof data === 'number' && data % 2 === 0;\n }\n /**\n * Public function `odd`.\n *\n * Returns true if `data` is an odd number, false otherwise.\n */\n\n\n function odd(data) {\n return integer(data) && data % 2 !== 0;\n }\n /**\n * Public function `greater`.\n *\n * Returns true if `lhs` is a number greater than `rhs`, false otherwise.\n */\n\n\n function greater(lhs, rhs) {\n return number(lhs) && lhs > rhs;\n }\n /**\n * Public function `less`.\n *\n * Returns true if `lhs` is a number less than `rhs`, false otherwise.\n */\n\n\n function less(lhs, rhs) {\n return number(lhs) && lhs < rhs;\n }\n /**\n * Public function `between`.\n *\n * Returns true if `data` is a number between `x` and `y`, false otherwise.\n */\n\n\n function between(data, x, y) {\n if (x < y) {\n return greater(data, x) && data < y;\n }\n\n return less(data, x) && data > y;\n }\n /**\n * Public function `greaterOrEqual`.\n *\n * Returns true if `lhs` is a number greater than or equal to `rhs`, false\n * otherwise.\n */\n\n\n function greaterOrEqual(lhs, rhs) {\n return number(lhs) && lhs >= rhs;\n }\n /**\n * Public function `lessOrEqual`.\n *\n * Returns true if `lhs` is a number less than or equal to `rhs`, false\n * otherwise.\n */\n\n\n function lessOrEqual(lhs, rhs) {\n return number(lhs) && lhs <= rhs;\n }\n /**\n * Public function `inRange`.\n *\n * Returns true if `data` is a number in the range `x..y`, false otherwise.\n */\n\n\n function inRange(data, x, y) {\n if (x < y) {\n return greaterOrEqual(data, x) && data <= y;\n }\n\n return lessOrEqual(data, x) && data >= y;\n }\n /**\n * Public function `positive`.\n *\n * Returns true if `data` is a positive number, false otherwise.\n */\n\n\n function positive(data) {\n return greater(data, 0);\n }\n /**\n * Public function `negative`.\n *\n * Returns true if `data` is a negative number, false otherwise.\n */\n\n\n function negative(data) {\n return less(data, 0);\n }\n /**\n * Public function `string`.\n *\n * Returns true if `data` is a string, false otherwise.\n */\n\n\n function string(data) {\n return typeof data === 'string';\n }\n /**\n * Public function `emptyString`.\n *\n * Returns true if `data` is the empty string, false otherwise.\n */\n\n\n function emptyString(data) {\n return data === '';\n }\n /**\n * Public function `nonEmptyString`.\n *\n * Returns true if `data` is a non-empty string, false otherwise.\n */\n\n\n function nonEmptyString(data) {\n return string(data) && data !== '';\n }\n /**\n * Public function `contains`.\n *\n * Returns true if `data` is a string that contains `substring`, false\n * otherwise.\n */\n\n\n function contains(data, substring) {\n return string(data) && data.indexOf(substring) !== -1;\n }\n /**\n * Public function `match`.\n *\n * Returns true if `data` is a string that matches `regex`, false otherwise.\n */\n\n\n function match(data, regex) {\n return string(data) && !!data.match(regex);\n }\n /**\n * Public function `boolean`.\n *\n * Returns true if `data` is a boolean value, false otherwise.\n */\n\n\n function boolean(data) {\n return data === false || data === true;\n }\n /**\n * Public function `object`.\n *\n * Returns true if `data` is a plain-old JS object, false otherwise.\n */\n\n\n function object(data) {\n return Object.prototype.toString.call(data) === '[object Object]';\n }\n /**\n * Public function `emptyObject`.\n *\n * Returns true if `data` is an empty object, false otherwise.\n */\n\n\n function emptyObject(data) {\n return object(data) && Object.keys(data).length === 0;\n }\n /**\n * Public function `nonEmptyObject`.\n *\n * Returns true if `data` is a non-empty object, false otherwise.\n */\n\n\n function nonEmptyObject(data) {\n return object(data) && Object.keys(data).length > 0;\n }\n /**\n * Public function `instanceStrict`.\n *\n * Returns true if `data` is an instance of `prototype`, false otherwise.\n */\n\n\n function instanceStrict(data, prototype) {\n try {\n return data instanceof prototype;\n } catch (error) {\n return false;\n }\n }\n /**\n * Public function `instance`.\n *\n * Returns true if `data` is an instance of `prototype`, false otherwise.\n * Falls back to testing constructor.name and Object.prototype.toString\n * if the initial instanceof test fails.\n */\n\n\n function instance(data, prototype) {\n try {\n return instanceStrict(data, prototype) || data.constructor.name === prototype.name || Object.prototype.toString.call(data) === '[object ' + prototype.name + ']';\n } catch (error) {\n return false;\n }\n }\n /**\n * Public function `like`.\n *\n * Tests whether `data` 'quacks like a duck'. Returns true if `data` has all\n * of the properties of `archetype` (the 'duck'), false otherwise.\n */\n\n\n function like(data, archetype) {\n var name;\n\n for (name in archetype) {\n if (archetype.hasOwnProperty(name)) {\n if (data.hasOwnProperty(name) === false || typeof data[name] !== typeof archetype[name]) {\n return false;\n }\n\n if (object(data[name]) && like(data[name], archetype[name]) === false) {\n return false;\n }\n }\n }\n\n return true;\n }\n /**\n * Public function `array`.\n *\n * Returns true if `data` is an array, false otherwise.\n */\n\n\n function array(data) {\n return isArray(data);\n }\n /**\n * Public function `emptyArray`.\n *\n * Returns true if `data` is an empty array, false otherwise.\n */\n\n\n function emptyArray(data) {\n return array(data) && data.length === 0;\n }\n /**\n * Public function `nonEmptyArray`.\n *\n * Returns true if `data` is a non-empty array, false otherwise.\n */\n\n\n function nonEmptyArray(data) {\n return array(data) && greater(data.length, 0);\n }\n /**\n * Public function `arrayLike`.\n *\n * Returns true if `data` is an array-like object, false otherwise.\n */\n\n\n function arrayLike(data) {\n return assigned(data) && greaterOrEqual(data.length, 0);\n }\n /**\n * Public function `iterable`.\n *\n * Returns true if `data` is an iterable, false otherwise.\n */\n\n\n function iterable(data) {\n if (!haveSymbols) {\n // Fall back to `arrayLike` predicate in pre-ES6 environments.\n return arrayLike(data);\n }\n\n return assigned(data) && isFunction(data[Symbol.iterator]);\n }\n /**\n * Public function `includes`.\n *\n * Returns true if `data` contains `value`, false otherwise.\n */\n\n\n function includes(data, value) {\n var iterator, iteration, keys, length, i;\n\n if (!assigned(data)) {\n return false;\n }\n\n if (haveSymbols && data[Symbol.iterator] && isFunction(data.values)) {\n iterator = data.values();\n\n do {\n iteration = iterator.next();\n\n if (iteration.value === value) {\n return true;\n }\n } while (!iteration.done);\n\n return false;\n }\n\n keys = Object.keys(data);\n length = keys.length;\n\n for (i = 0; i < length; ++i) {\n if (data[keys[i]] === value) {\n return true;\n }\n }\n\n return false;\n }\n /**\n * Public function `hasLength`.\n *\n * Returns true if `data` has a length property that equals `length`, false\n * otherwise.\n */\n\n\n function hasLength(data, length) {\n return assigned(data) && data.length === length;\n }\n /**\n * Public function `date`.\n *\n * Returns true if `data` is a valid date, false otherwise.\n */\n\n\n function date(data) {\n return instanceStrict(data, Date) && integer(data.getTime());\n }\n /**\n * Public function `function`.\n *\n * Returns true if `data` is a function, false otherwise.\n */\n\n\n function isFunction(data) {\n return typeof data === 'function';\n }\n /**\n * Public function `apply`.\n *\n * Maps each value from the `data` to the corresponding predicate and returns\n * the result array. If the same function is to be applied across all of the\n * data, a single predicate function may be passed in.\n *\n */\n\n\n function apply(data, predicates) {\n assert.array(data);\n\n if (isFunction(predicates)) {\n return data.map(function (value) {\n return predicates(value);\n });\n }\n\n assert.array(predicates);\n assert.hasLength(data, predicates.length);\n return data.map(function (value, index) {\n return predicates[index](value);\n });\n }\n /**\n * Public function `map`.\n *\n * Maps each value from the `data` to the corresponding predicate and returns\n * the result object. Supports nested objects. If the `data` is not nested and\n * the same function is to be applied across all of it, a single predicate\n * function may be passed in.\n *\n */\n\n\n function map(data, predicates) {\n assert.object(data);\n\n if (isFunction(predicates)) {\n return mapSimple(data, predicates);\n }\n\n assert.object(predicates);\n return mapComplex(data, predicates);\n }\n\n function mapSimple(data, predicate) {\n var result = {};\n Object.keys(data).forEach(function (key) {\n result[key] = predicate(data[key]);\n });\n return result;\n }\n\n function mapComplex(data, predicates) {\n var result = {};\n Object.keys(predicates).forEach(function (key) {\n var predicate = predicates[key];\n\n if (isFunction(predicate)) {\n if (not.assigned(data)) {\n result[key] = !!predicate.m;\n } else {\n result[key] = predicate(data[key]);\n }\n } else if (object(predicate)) {\n result[key] = mapComplex(data[key], predicate);\n }\n });\n return result;\n }\n /**\n * Public function `all`\n *\n * Check that all boolean values are true\n * in an array (returned from `apply`)\n * or object (returned from `map`).\n *\n */\n\n\n function all(data) {\n if (array(data)) {\n return testArray(data, false);\n }\n\n assert.object(data);\n return testObject(data, false);\n }\n\n function testArray(data, result) {\n var i;\n\n for (i = 0; i < data.length; i += 1) {\n if (data[i] === result) {\n return result;\n }\n }\n\n return !result;\n }\n\n function testObject(data, result) {\n var key, value;\n\n for (key in data) {\n if (data.hasOwnProperty(key)) {\n value = data[key];\n\n if (object(value) && testObject(value, result) === result) {\n return result;\n }\n\n if (value === result) {\n return result;\n }\n }\n }\n\n return !result;\n }\n /**\n * Public function `any`\n *\n * Check that at least one boolean value is true\n * in an array (returned from `apply`)\n * or object (returned from `map`).\n *\n */\n\n\n function any(data) {\n if (array(data)) {\n return testArray(data, true);\n }\n\n assert.object(data);\n return testObject(data, true);\n }\n\n function mixin(target, source) {\n Object.keys(source).forEach(function (key) {\n target[key] = source[key];\n });\n return target;\n }\n /**\n * Public modifier `assert`.\n *\n * Throws if `predicate` returns false.\n */\n\n\n function assertModifier(predicate, defaultMessage) {\n return function () {\n return assertPredicate(predicate, arguments, defaultMessage);\n };\n }\n\n function assertPredicate(predicate, args, defaultMessage) {\n var argCount = predicate.l || predicate.length;\n var message = args[argCount];\n var ErrorType = args[argCount + 1];\n assertImpl(predicate.apply(null, args), nonEmptyString(message) ? message : defaultMessage, isFunction(ErrorType) ? ErrorType : TypeError);\n return args[0];\n }\n\n function assertImpl(value, message, ErrorType) {\n if (value) {\n return value;\n }\n\n throw new (ErrorType || Error)(message || 'Assertion failed');\n }\n /**\n * Public modifier `not`.\n *\n * Negates `predicate`.\n */\n\n\n function notModifier(predicate) {\n var modifiedPredicate = function modifiedPredicate() {\n return notImpl(predicate.apply(null, arguments));\n };\n\n modifiedPredicate.l = predicate.length;\n return modifiedPredicate;\n }\n\n function notImpl(value) {\n return !value;\n }\n /**\n * Public modifier `maybe`.\n *\n * Returns true if predicate argument is null or undefined,\n * otherwise propagates the return value from `predicate`.\n */\n\n\n function maybeModifier(predicate) {\n var modifiedPredicate = function modifiedPredicate() {\n if (not.assigned(arguments[0])) {\n return true;\n }\n\n return predicate.apply(null, arguments);\n };\n\n modifiedPredicate.l = predicate.length; // Hackishly indicate that this is a maybe.xxx predicate.\n // Without this flag, the alternative would be to iterate\n // through the maybe predicates or use indexOf to check,\n // which would be time-consuming.\n\n modifiedPredicate.m = true;\n return modifiedPredicate;\n }\n\n function maybeImpl(value) {\n if (assigned(value) === false) {\n return true;\n }\n\n return value;\n }\n /**\n * Public modifier `of`.\n *\n * Applies the chained predicate to members of the collection.\n */\n\n\n function ofModifier(target, type, predicate) {\n var modifiedPredicate = function modifiedPredicate() {\n var collection, args;\n collection = arguments[0];\n\n if (target === 'maybe' && not.assigned(collection)) {\n return true;\n }\n\n if (!type(collection)) {\n return false;\n }\n\n collection = coerceCollection(type, collection);\n args = slice.call(arguments, 1);\n\n try {\n collection.forEach(function (item) {\n if ((target !== 'maybe' || assigned(item)) && !predicate.apply(null, [item].concat(args))) {\n // TODO: Replace with for...of when ES6 is required.\n throw 0;\n }\n });\n } catch (ignore) {\n return false;\n }\n\n return true;\n };\n\n modifiedPredicate.l = predicate.length;\n return modifiedPredicate;\n }\n\n function coerceCollection(type, collection) {\n switch (type) {\n case arrayLike:\n return slice.call(collection);\n\n case object:\n return Object.keys(collection).map(function (key) {\n return collection[key];\n });\n\n default:\n return collection;\n }\n }\n\n function createModifiedPredicates(modifier, object) {\n return createModifiedFunctions([modifier, predicates, object]);\n }\n\n function createModifiedFunctions(args) {\n var modifier, object, functions, result;\n modifier = args.shift();\n object = args.pop();\n functions = args.pop();\n result = object || {};\n Object.keys(functions).forEach(function (key) {\n Object.defineProperty(result, key, {\n configurable: false,\n enumerable: true,\n writable: false,\n value: modifier.apply(null, args.concat(functions[key], messages[key]))\n });\n });\n return result;\n }\n\n function createModifiedModifier(modifier, modified) {\n return createModifiedFunctions([modifier, modified, null]);\n }\n\n function createOfPredicates(key) {\n predicates[key].of = createModifiedFunctions([ofModifier.bind(null, null), predicates[key], predicates, null]);\n }\n\n function createOfModifiers(base, modifier) {\n collections.forEach(function (key) {\n base[key].of = createModifiedModifier(modifier, predicates[key].of);\n });\n }\n\n function createMaybeOfModifiers(key) {\n maybe[key].of = createModifiedFunctions([ofModifier.bind(null, 'maybe'), predicates[key], predicates, null]);\n assert.maybe[key].of = createModifiedModifier(assertModifier, maybe[key].of);\n assert.not[key].of = createModifiedModifier(assertModifier, not[key].of);\n }\n\n function exportFunctions(functions) {\n if (typeof define === 'function' && define.amd) {\n define(function () {\n return functions;\n });\n } else if (typeof module !== 'undefined' && module !== null && module.exports) {\n module.exports = functions;\n } else {\n globals.check = functions;\n }\n }\n})(this);","// Copyright 2014 Simon Lydell\n// X11 (“MIT”) Licensed. (See LICENSE.)\nvoid function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(factory);\n } else if (typeof exports === \"object\") {\n module.exports = factory();\n } else {\n root.resolveUrl = factory();\n }\n}(this, function () {\n function resolveUrl()\n /* ...urls */\n {\n var numUrls = arguments.length;\n\n if (numUrls === 0) {\n throw new Error(\"resolveUrl requires at least one argument; got none.\");\n }\n\n var base = document.createElement(\"base\");\n base.href = arguments[0];\n\n if (numUrls === 1) {\n return base.href;\n }\n\n var head = document.getElementsByTagName(\"head\")[0];\n head.insertBefore(base, head.firstChild);\n var a = document.createElement(\"a\");\n var resolved;\n\n for (var index = 1; index < numUrls; index++) {\n a.href = arguments[index];\n resolved = a.href;\n base.href = resolved;\n }\n\n head.removeChild(base);\n return resolved;\n }\n\n return resolveUrl;\n});","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _objectSpread4 = _interopRequireDefault(require(\"@babel/runtime/helpers/esm/objectSpread\"));\n\n/**\n *\n * Tesseract Worker adapter for browser\n *\n * @fileoverview Tesseract Worker adapter for browser\n * @author Kevin Kwok \n * @author Guillermo Webster \n * @author Jerome Wu \n */\nvar check = require('check-types');\n\nvar resolveURL = require('resolve-url');\n\nvar axios = require('axios');\n\nvar b64toU8Array = require('./b64toU8Array');\n\nvar _require = require('../common/options'),\n defaultOptions = _require.defaultOptions;\n\nvar _require2 = require('../../package.json'),\n version = _require2.version;\n/**\n * readFromBlobOrFile\n *\n * @name readFromBlobOrFile\n * @function\n * @access private\n * @param {object} blob A blob or file objec to read\n * @param {function} res callback function after reading completes\n */\n\n\nvar readFromBlobOrFile = function readFromBlobOrFile(blob, res) {\n var fileReader = new FileReader();\n\n fileReader.onload = function () {\n res(fileReader.result);\n };\n\n fileReader.readAsArrayBuffer(blob);\n};\n/**\n * loadImage\n *\n * @name loadImage\n * @function load image from different source\n * @access private\n * @param {string, object} image - image source, supported formats:\n * string: URL string, can be relative path\n * string: base64 image\n * img HTMLElement: extract image source from src attribute\n * video HTMLElement: extract image source from poster attribute\n * canvas HTMLElement: extract image data by converting to Blob\n * File instance: data from \n * @returns {array} binary image in array format\n */\n\n\nvar loadImage = function loadImage(image) {\n if (check.string(image)) {\n // Base64 Image\n if (/data:image\\/([a-zA-Z]*);base64,([^\"]*)/.test(image)) {\n return Promise.resolve(b64toU8Array(image.split(',')[1]));\n } // Image URL\n\n\n return axios.get(resolveURL(image), {\n responseType: 'arraybuffer'\n }).then(function (resp) {\n return resp.data;\n });\n }\n\n if (check.instance(image, HTMLElement)) {\n if (image.tagName === 'IMG') {\n return loadImage(image.src);\n }\n\n if (image.tagName === 'VIDEO') {\n return loadImage(image.poster);\n }\n\n if (image.tagName === 'CANVAS') {\n return new Promise(function (res) {\n image.toBlob(function (blob) {\n readFromBlobOrFile(blob, res);\n });\n });\n }\n }\n\n if (check.instance(image, File) || check.instance(image, Blob)) {\n return new Promise(function (res) {\n readFromBlobOrFile(image, res);\n });\n }\n\n return Promise.reject();\n};\n\nvar downloadFile = function downloadFile(path, blob) {\n if (navigator.msSaveBlob) {\n // IE 10+\n navigator.msSaveBlob(blob, path);\n } else {\n var link = document.createElement('a'); // Browsers that support HTML5 download attribute\n\n if (link.download !== undefined) {\n var url = URL.createObjectURL(blob);\n link.setAttribute('href', url);\n link.setAttribute('download', path);\n link.style.visibility = 'hidden';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n }\n};\n/*\n * Default options for browser worker\n */\n\n\nexports.defaultOptions = (0, _objectSpread4.default)({}, defaultOptions, {\n workerPath: typeof process !== 'undefined' && process.env.TESS_ENV === 'development' ? resolveURL(\"/dist/worker.dev.js?nocache=\" + Math.random().toString(36).slice(3)) : \"https://unpkg.com/tesseract.js@v\" + version + \"/dist/worker.min.js\",\n\n /*\n * If browser doesn't support WebAssembly,\n * load ASM version instead\n */\n corePath: \"https://unpkg.com/tesseract.js-core@v2.0.0-beta.10/tesseract-core.\" + (typeof WebAssembly === 'object' ? 'wasm' : 'asm') + \".js\"\n});\n/**\n * spawnWorker\n *\n * @name spawnWorker\n * @function create a new Worker in browser\n * @access public\n * @param {object} instance - TesseractWorker instance\n * @param {object} options\n * @param {string} options.workerPath - worker script path\n */\n\nexports.spawnWorker = function (instance, _ref) {\n var workerPath = _ref.workerPath;\n var worker;\n\n if (Blob && URL) {\n var blob = new Blob([\"importScripts(\\\"\" + workerPath + \"\\\");\"], {\n type: 'application/javascript'\n });\n worker = new Worker(URL.createObjectURL(blob));\n } else {\n worker = new Worker(workerPath);\n }\n\n worker.onmessage = function (_ref2) {\n var data = _ref2.data;\n\n if (data.jobId.startsWith('Job')) {\n instance.recv(data);\n } else if (data.jobId.startsWith('Download')) {\n var path = data.path,\n d = data.data,\n type = data.type;\n\n var _blob = new Blob([d], {\n type: type\n });\n\n downloadFile(path, _blob);\n }\n };\n\n return worker;\n};\n/**\n * terminateWorker\n *\n * @name terminateWorker\n * @function terminate worker\n * @access public\n * @param {object} instance TesseractWorker instance\n */\n\n\nexports.terminateWorker = function (instance) {\n instance.worker.terminate();\n};\n/**\n * sendPacket\n *\n * @name sendPacket\n * @function send packet to worker and create a job\n * @access public\n * @param {object} instance TesseractWorker instance\n * @param {object} iPacket data for worker\n */\n\n\nexports.sendPacket = function (instance, iPacket) {\n var packet = (0, _objectSpread4.default)({}, iPacket);\n loadImage(packet.payload.image).then(function (buf) {\n return new Uint8Array(buf);\n }).then(function (img) {\n packet.payload.image = Array.from(img);\n instance.worker.postMessage(packet);\n });\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n return fn.apply(thisArg, args);\n };\n};","'use strict';\n\nvar utils = require('./../utils');\n\nvar settle = require('./../core/settle');\n\nvar buildURL = require('./../helpers/buildURL');\n\nvar parseHeaders = require('./../helpers/parseHeaders');\n\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\n\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest(); // HTTP basic authentication\n\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true); // Set the request timeout in MS\n\n request.timeout = config.timeout; // Listen for ready state\n\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n } // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n\n\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n } // Prepare the response\n\n\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n settle(resolve, reject, response); // Clean up request\n\n request = null;\n }; // Handle low level network errors\n\n\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request)); // Clean up request\n\n request = null;\n }; // Handle timeout\n\n\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', request)); // Clean up request\n\n request = null;\n }; // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies'); // Add xsrf header\n\n\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ? cookies.read(config.xsrfCookieName) : undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n } // Add headers to the request\n\n\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n } // Add withCredentials to request if needed\n\n\n if (config.withCredentials) {\n request.withCredentials = true;\n } // Add responseType to request if needed\n\n\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n } // Handle progress if needed\n\n\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n } // Not all browsers support upload events\n\n\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel); // Clean up request\n\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n } // Send the request\n\n\n request.send(requestData);\n });\n};","'use strict';\n\nvar enhanceError = require('./enhanceError');\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\n\n\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};","'use strict';\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\n\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\nmodule.exports = Cancel;","\"use strict\";\n\nmodule.exports = {\n /*\n * OEM = OCR Engine Mode, and there are 5 possible modes.\n *\n * By default tesseract.js uses TESSERACT_LSTM_COMBINED mode, which uses LSTM when possible.\n * If you need to use some tesseract v3 features (like tessedit_char_whitelist),\n * you need to use TESSERACT_ONLY mode.\n *\n */\n OEM: {\n TESSERACT_ONLY: 0,\n LSTM_ONLY: 1,\n TESSERACT_LSTM_COMBINED: 2,\n DEFAULT: 3\n },\n\n /*\n * PSM = Page Segmentation Mode\n */\n PSM: {\n OSD_ONLY: '0',\n AUTO_OSD: '1',\n AUTO_ONLY: '2',\n AUTO: '3',\n SINGLE_COLUMN: '4',\n SINGLE_BLOCK_VERT_TEXT: '5',\n SINGLE_BLOCK: '6',\n SINGLE_LINE: '7',\n SINGLE_WORD: '8',\n SINGLE_CHAR: '9',\n SPARSE_TEXT: '10',\n SPARSE_TEXT_OSD: '11',\n RAW_LINE: '12'\n }\n};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _objectSpread3 = _interopRequireDefault(require(\"@babel/runtime/helpers/esm/objectSpread\"));\n\nvar cache = require('./common/browser/cache');\n\nmodule.exports = {\n loadLang: require('./loadLang')((0, _objectSpread3.default)({\n gunzip: require('./common/browser/gunzip')\n }, cache)),\n readImage: require('./readImage'),\n cache: cache\n};","\"use strict\";\n\nvar _require = require('idb-keyval'),\n set = _require.set,\n get = _require.get,\n del = _require.del;\n\nmodule.exports = {\n readCache: get,\n writeCache: set,\n deleteCache: del,\n checkCache: function checkCache(path) {\n return get(path).then(function (v) {\n return typeof v !== 'undefined';\n });\n }\n};","var Store =\n/*#__PURE__*/\nfunction () {\n function Store(dbName, storeName) {\n if (dbName === void 0) {\n dbName = 'keyval-store';\n }\n\n if (storeName === void 0) {\n storeName = 'keyval';\n }\n\n this.storeName = storeName;\n this._dbp = new Promise(function (resolve, reject) {\n var openreq = indexedDB.open(dbName, 1);\n\n openreq.onerror = function () {\n return reject(openreq.error);\n };\n\n openreq.onsuccess = function () {\n return resolve(openreq.result);\n }; // First time setup: create an empty object store\n\n\n openreq.onupgradeneeded = function () {\n openreq.result.createObjectStore(storeName);\n };\n });\n }\n\n var _proto = Store.prototype;\n\n _proto._withIDBStore = function _withIDBStore(type, callback) {\n var _this = this;\n\n return this._dbp.then(function (db) {\n return new Promise(function (resolve, reject) {\n var transaction = db.transaction(_this.storeName, type);\n\n transaction.oncomplete = function () {\n return resolve();\n };\n\n transaction.onabort = transaction.onerror = function () {\n return reject(transaction.error);\n };\n\n callback(transaction.objectStore(_this.storeName));\n });\n });\n };\n\n return Store;\n}();\n\nvar store;\n\nfunction getDefaultStore() {\n if (!store) store = new Store();\n return store;\n}\n\nfunction get(key, store) {\n if (store === void 0) {\n store = getDefaultStore();\n }\n\n var req;\n return store._withIDBStore('readonly', function (store) {\n req = store.get(key);\n }).then(function () {\n return req.result;\n });\n}\n\nfunction set(key, value, store) {\n if (store === void 0) {\n store = getDefaultStore();\n }\n\n return store._withIDBStore('readwrite', function (store) {\n store.put(value, key);\n });\n}\n\nfunction del(key, store) {\n if (store === void 0) {\n store = getDefaultStore();\n }\n\n return store._withIDBStore('readwrite', function (store) {\n store.delete(key);\n });\n}\n\nfunction clear(store) {\n if (store === void 0) {\n store = getDefaultStore();\n }\n\n return store._withIDBStore('readwrite', function (store) {\n store.clear();\n });\n}\n\nfunction keys(store) {\n if (store === void 0) {\n store = getDefaultStore();\n }\n\n var keys = [];\n return store._withIDBStore('readonly', function (store) {\n // This would be store.getAllKeys(), but it isn't supported by Edge or Safari.\n // And openKeyCursor isn't supported by Safari.\n (store.openKeyCursor || store.openCursor).call(store).onsuccess = function () {\n if (!this.result) return;\n keys.push(this.result.key);\n this.result.continue();\n };\n }).then(function () {\n return keys;\n });\n}\n\nexport { Store, get, set, del, clear, keys };","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _objectSpread3 = _interopRequireDefault(require(\"@babel/runtime/helpers/esm/objectSpread\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\"));\n\nvar isURL = require('is-url');\n\nvar fileType = require('file-type');\n\nvar axios = require('axios');\n\nvar handleLang = function handleLang(modules) {\n return function (_ref) {\n var TessModule = _ref.TessModule,\n dataPath = _ref.dataPath,\n cachePath = _ref.cachePath,\n cacheMethod = _ref.cacheMethod,\n langCode = _ref.langCode;\n return function (data) {\n if (TessModule) {\n if (dataPath) {\n try {\n TessModule.FS.mkdir(dataPath);\n } catch (err) {// TODO: Do some error handling here.\n }\n }\n\n TessModule.FS.writeFile((dataPath || '.') + \"/\" + langCode + \".traineddata\", data);\n }\n\n if (['write', 'refresh', undefined].includes(cacheMethod)) {\n return modules.writeCache((cachePath || '.') + \"/\" + langCode + \".traineddata\", data).then(function () {\n return data;\n });\n }\n\n return data;\n };\n };\n};\n\nvar loadAndGunzipFile = function loadAndGunzipFile(modules) {\n return function (_ref2) {\n var langPath = _ref2.langPath,\n cachePath = _ref2.cachePath,\n cacheMethod = _ref2.cacheMethod,\n _ref2$gzip = _ref2.gzip,\n gzip = _ref2$gzip === void 0 ? true : _ref2$gzip,\n options = (0, _objectWithoutPropertiesLoose2.default)(_ref2, [\"langPath\", \"cachePath\", \"cacheMethod\", \"gzip\"]);\n return function (lang) {\n var langCode = typeof lang === 'string' ? lang : lang.code;\n\n var handleTraineddata = function handleTraineddata(data) {\n var type = fileType(data);\n\n if (type !== null && type.mime === 'application/gzip') {\n return modules.gunzip(new Uint8Array(data));\n }\n\n return new Uint8Array(data);\n };\n\n var doHandleLang = handleLang(modules)((0, _objectSpread3.default)({\n cachePath: cachePath,\n cacheMethod: cacheMethod,\n langCode: langCode\n }, options));\n var readCache = modules.readCache;\n\n if (['refresh', 'none'].includes(cacheMethod)) {\n readCache = function readCache() {\n return Promise.resolve();\n };\n }\n\n return readCache((cachePath || '.') + \"/\" + langCode + \".traineddata\").then(function (data) {\n if (typeof data === 'undefined') {\n return Promise.reject();\n }\n\n return doHandleLang(data);\n })\n /*\n * If not found in the cache\n */\n .catch(function () {\n if (typeof lang === 'string') {\n var fetchTrainedData = function fetchTrainedData(iLangPath) {\n return axios.get(iLangPath + \"/\" + langCode + \".traineddata\" + (gzip ? '.gz' : ''), {\n responseType: 'arraybuffer'\n }).then(function (_ref3) {\n var data = _ref3.data;\n return new Uint8Array(data);\n }).then(handleTraineddata).then(doHandleLang);\n };\n /** When langPath is an URL, just do the fetch */\n\n\n if (isURL(langPath) || langPath.startsWith('chrome-extension://')\n /* for chrome extensions */\n ) {\n return fetchTrainedData(langPath);\n }\n /** When langPath is not an URL in Node.js environment */\n\n\n return modules.readCache(langPath + \"/\" + langCode + \".traineddata\" + (gzip ? '.gz' : '')).then(handleTraineddata).then(doHandleLang);\n }\n\n return Promise.resolve(lang.data).then(handleTraineddata).then(doHandleLang);\n });\n };\n };\n};\n/**\n *\n * @name loadLang\n * @function load language(s) from local cache, download from remote if not in cache.\n * @param {object} options\n * @param {array} options.langs -\n * langs to load.\n * Each item in the array can be string (ex. 'eng') or object like:\n * {\n * code: 'eng',\n * gzip: false,\n * data: Uint8Array\n * }\n * @param {object} options.TessModule - TesseractModule\n * @param {string} options.langPath - prefix path for downloading lang file\n * @param {string} options.cachePath - path to find cache\n * @param {string} options.dataPath - path to store data in mem\n * @param {boolean} options.gzip -\n * indicate whether to download gzip version from remote, default: true\n * @param {string} options.cacheMethod -\n * method of cache invaliation, should one of following options:\n * write: read cache and write back (default method)\n * readOnly: read cache and not to write back\n * refresh: not to read cache and write back\n * none: not to read cache and not to write back\n *\n */\n\n\nmodule.exports = function (modules) {\n return function (_ref4) {\n var langs = _ref4.langs,\n options = (0, _objectWithoutPropertiesLoose2.default)(_ref4, [\"langs\"]);\n return Promise.all((typeof langs === 'string' ? langs.split('+') : langs).map(loadAndGunzipFile(modules)(options)));\n };\n};","\"use strict\";\n\n/**\n * Expose `isUrl`.\n */\nmodule.exports = isUrl;\n/**\n * RegExps.\n * A URL must match #1 and then at least one of #2/#3.\n * Use two levels of REs to avoid REDOS.\n */\n\nvar protocolAndDomainRE = /^(?:\\w+:)?\\/\\/(\\S+)$/;\nvar localhostDomainRE = /^localhost[\\:?\\d]*(?:[^\\:?\\d]\\S*)?$/;\nvar nonLocalhostDomainRE = /^[^\\s\\.]+\\.\\S{2,}$/;\n/**\n * Loosely validate a URL `string`.\n *\n * @param {String} string\n * @return {Boolean}\n */\n\nfunction isUrl(string) {\n if (typeof string !== 'string') {\n return false;\n }\n\n var match = string.match(protocolAndDomainRE);\n\n if (!match) {\n return false;\n }\n\n var everythingAfterProtocol = match[1];\n\n if (!everythingAfterProtocol) {\n return false;\n }\n\n if (localhostDomainRE.test(everythingAfterProtocol) || nonLocalhostDomainRE.test(everythingAfterProtocol)) {\n return true;\n }\n\n return false;\n}","\"use strict\";\n\nmodule.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./utils');\n\nvar bind = require('./helpers/bind');\n\nvar Axios = require('./core/Axios');\n\nvar defaults = require('./defaults');\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\n\n\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context); // Copy axios.prototype to instance\n\n utils.extend(instance, Axios.prototype, context); // Copy context to instance\n\n utils.extend(instance, context);\n return instance;\n} // Create the default instance to be exported\n\n\nvar axios = createInstance(defaults); // Expose Axios class to allow class inheritance\n\naxios.Axios = Axios; // Factory for creating new instances\n\naxios.create = function create(instanceConfig) {\n return createInstance(utils.merge(defaults, instanceConfig));\n}; // Expose Cancel & CancelToken\n\n\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel'); // Expose all/spread\n\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = require('./helpers/spread');\nmodule.exports = axios; // Allow use of default import syntax in TypeScript\n\nmodule.exports.default = axios;","\"use strict\";\n\n/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\nmodule.exports = function isBuffer(obj) {\n return obj != null && obj.constructor != null && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj);\n};","'use strict';\n\nvar defaults = require('./../defaults');\n\nvar utils = require('./../utils');\n\nvar InterceptorManager = require('./InterceptorManager');\n\nvar dispatchRequest = require('./dispatchRequest');\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\n\n\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\n\n\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, {\n method: 'get'\n }, this.defaults, config);\n config.method = config.method.toLowerCase(); // Hook up interceptors middleware\n\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n}; // Provide aliases for supported request methods\n\n\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\nmodule.exports = Axios;","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};","'use strict';\n\nvar createError = require('./createError');\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\n\n\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus; // Note: status is not exposed by XDomainRequest\n\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError('Request failed with status code ' + response.status, response.config, null, response.request, response));\n }\n};","'use strict';\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\n\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n return error;\n};","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).replace(/%40/gi, '@').replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+').replace(/%5B/gi, '[').replace(/%5D/gi, ']');\n}\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\n\n\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};","'use strict';\n\nvar utils = require('./../utils'); // Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\n\n\nvar ignoreDuplicateOf = ['age', 'authorization', 'content-length', 'content-type', 'etag', 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', 'last-modified', 'location', 'max-forwards', 'proxy-authorization', 'referer', 'retry-after', 'user-agent'];\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\n\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) {\n return parsed;\n }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n return parsed;\n};","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = utils.isStandardBrowserEnv() ? // Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\nfunction standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href); // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: urlParsingNode.pathname.charAt(0) === '/' ? urlParsingNode.pathname : '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n\n return function isURLSameOrigin(requestURL) {\n var parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL;\n return parsed.protocol === originURL.protocol && parsed.host === originURL.host;\n };\n}() : // Non standard browser envs (web workers, react-native) lack needed support.\nfunction nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n}();","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = utils.isStandardBrowserEnv() ? // Standard browser envs support document.cookie\nfunction standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return match ? decodeURIComponent(match[3]) : null;\n },\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n}() : // Non standard browser env (web workers, react-native) lack needed support.\nfunction nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() {\n return null;\n },\n remove: function remove() {}\n };\n}();","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n\n\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\n\n\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\n\n\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;","'use strict';\n\nvar utils = require('./../utils');\n\nvar transformData = require('./transformData');\n\nvar isCancel = require('../cancel/isCancel');\n\nvar defaults = require('../defaults');\n\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\n\nvar combineURLs = require('./../helpers/combineURLs');\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\n\n\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\n\n\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config); // Support baseURL config\n\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n } // Ensure headers exist\n\n\n config.headers = config.headers || {}; // Transform request data\n\n config.data = transformData(config.data, config.headers, config.transformRequest); // Flatten headers\n\n config.headers = utils.merge(config.headers.common || {}, config.headers[config.method] || {}, config.headers || {});\n utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], function cleanHeaderConfig(method) {\n delete config.headers[method];\n });\n var adapter = config.adapter || defaults.adapter;\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config); // Transform response data\n\n response.data = transformData(response.data, response.headers, config.transformResponse);\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config); // Transform response data\n\n if (reason && reason.response) {\n reason.response.data = transformData(reason.response.data, reason.response.headers, config.transformResponse);\n }\n }\n\n return Promise.reject(reason);\n });\n};","'use strict';\n\nvar utils = require('./../utils');\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\n\n\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n return data;\n};","'use strict';\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\n\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};","'use strict';\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\n\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '') : baseURL;\n};","'use strict';\n\nvar Cancel = require('./Cancel');\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\n\n\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\n\n\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n\n\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;","'use strict';\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\n\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};","\"use strict\";\n\nmodule.exports = require('zlibjs').gunzipSync;","/** @license zlib.js 2012 - imaya [ https://github.com/imaya/zlib.js ] The MIT License */\n(function () {\n 'use strict';\n\n function q(b) {\n throw b;\n }\n\n var t = void 0,\n v = !0;\n var B = \"undefined\" !== typeof Uint8Array && \"undefined\" !== typeof Uint16Array && \"undefined\" !== typeof Uint32Array && \"undefined\" !== typeof DataView;\n\n function G(b, a) {\n this.index = \"number\" === typeof a ? a : 0;\n this.m = 0;\n this.buffer = b instanceof (B ? Uint8Array : Array) ? b : new (B ? Uint8Array : Array)(32768);\n 2 * this.buffer.length <= this.index && q(Error(\"invalid index\"));\n this.buffer.length <= this.index && this.f();\n }\n\n G.prototype.f = function () {\n var b = this.buffer,\n a,\n c = b.length,\n d = new (B ? Uint8Array : Array)(c << 1);\n if (B) d.set(b);else for (a = 0; a < c; ++a) {\n d[a] = b[a];\n }\n return this.buffer = d;\n };\n\n G.prototype.d = function (b, a, c) {\n var d = this.buffer,\n e = this.index,\n f = this.m,\n g = d[e],\n k;\n 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);\n if (8 > a + f) g = g << a | b, f += a;else for (k = 0; k < a; ++k) {\n g = g << 1 | b >> a - k - 1 & 1, 8 === ++f && (f = 0, d[e++] = I[g], g = 0, e === d.length && (d = this.f()));\n }\n d[e] = g;\n this.buffer = d;\n this.m = f;\n this.index = e;\n };\n\n G.prototype.finish = function () {\n var b = this.buffer,\n a = this.index,\n c;\n 0 < this.m && (b[a] <<= 8 - this.m, b[a] = I[b[a]], a++);\n B ? c = b.subarray(0, a) : (b.length = a, c = b);\n return c;\n };\n\n var aa = new (B ? Uint8Array : Array)(256),\n L;\n\n for (L = 0; 256 > L; ++L) {\n for (var R = L, ba = R, ca = 7, R = R >>> 1; R; R >>>= 1) {\n ba <<= 1, ba |= R & 1, --ca;\n }\n\n aa[L] = (ba << ca & 255) >>> 0;\n }\n\n var I = aa;\n\n function ha(b, a, c) {\n var d,\n e = \"number\" === typeof a ? a : a = 0,\n f = \"number\" === typeof c ? c : b.length;\n d = -1;\n\n for (e = f & 7; e--; ++a) {\n d = d >>> 8 ^ S[(d ^ b[a]) & 255];\n }\n\n for (e = f >> 3; e--; a += 8) {\n 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];\n }\n\n return (d ^ 4294967295) >>> 0;\n }\n\n var 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, 2882616665, 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, 2362670323, 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, 2466906013, 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, 3268935591, 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, 936918E3, 2847714899, 3736837829, 1202900863, 817233897, 3183342108, 3401237130, 1404277552, 615818150, 3134207493, 3453421203, 1423857449, 601450431, 3009837614, 3294710456, 1567103746, 711928724, 3020668471, 3272380065, 1510334235, 755167117],\n S = B ? new Uint32Array(ia) : ia;\n\n function ja() {}\n\n ;\n\n function ka(b) {\n this.buffer = new (B ? Uint16Array : Array)(2 * b);\n this.length = 0;\n }\n\n ka.prototype.getParent = function (b) {\n return 2 * ((b - 2) / 4 | 0);\n };\n\n ka.prototype.push = function (b, a) {\n var c,\n d,\n e = this.buffer,\n f;\n c = this.length;\n e[this.length++] = a;\n\n for (e[this.length++] = b; 0 < c;) {\n 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;\n }\n\n return this.length;\n };\n\n ka.prototype.pop = function () {\n var b,\n a,\n c = this.buffer,\n d,\n e,\n f;\n a = c[0];\n b = c[1];\n this.length -= 2;\n c[0] = c[this.length];\n c[1] = c[this.length + 1];\n\n for (f = 0;;) {\n e = 2 * f + 2;\n if (e >= this.length) break;\n e + 2 < this.length && c[e + 2] > c[e] && (e += 2);\n 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;\n f = e;\n }\n\n return {\n index: b,\n value: a,\n length: this.length\n };\n };\n\n function T(b) {\n var a = b.length,\n c = 0,\n d = Number.POSITIVE_INFINITY,\n e,\n f,\n g,\n k,\n h,\n m,\n r,\n p,\n l,\n n;\n\n for (p = 0; p < a; ++p) {\n b[p] > c && (c = b[p]), b[p] < d && (d = b[p]);\n }\n\n e = 1 << c;\n f = new (B ? Uint32Array : Array)(e);\n g = 1;\n k = 0;\n\n for (h = 2; g <= c;) {\n for (p = 0; p < a; ++p) {\n if (b[p] === g) {\n m = 0;\n r = k;\n\n for (l = 0; l < g; ++l) {\n m = m << 1 | r & 1, r >>= 1;\n }\n\n n = g << 16 | p;\n\n for (l = m; l < e; l += h) {\n f[l] = n;\n }\n\n ++k;\n }\n }\n\n ++g;\n k <<= 1;\n h <<= 1;\n }\n\n return [f, c, d];\n }\n\n ;\n\n function na(b, a) {\n this.k = oa;\n this.F = 0;\n this.input = B && b instanceof Array ? new Uint8Array(b) : b;\n this.b = 0;\n 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));\n this.a || (this.a = new (B ? Uint8Array : Array)(32768));\n }\n\n var oa = 2,\n pa = {\n NONE: 0,\n L: 1,\n t: oa,\n X: 3\n },\n qa = [],\n U;\n\n for (U = 0; 288 > U; U++) {\n switch (v) {\n case 143 >= U:\n qa.push([U + 48, 8]);\n break;\n\n case 255 >= U:\n qa.push([U - 144 + 400, 9]);\n break;\n\n case 279 >= U:\n qa.push([U - 256 + 0, 7]);\n break;\n\n case 287 >= U:\n qa.push([U - 280 + 192, 8]);\n break;\n\n default:\n q(\"invalid literal: \" + U);\n }\n }\n\n na.prototype.h = function () {\n var b,\n a,\n c,\n d,\n e = this.input;\n\n switch (this.k) {\n case 0:\n c = 0;\n\n for (d = e.length; c < d;) {\n a = B ? e.subarray(c, c + 65535) : e.slice(c, c + 65535);\n c += a.length;\n var f = a,\n g = c === d,\n k = t,\n h = t,\n m = t,\n r = t,\n p = t,\n l = this.a,\n n = this.b;\n\n if (B) {\n for (l = new Uint8Array(this.a.buffer); l.length <= n + f.length + 5;) {\n l = new Uint8Array(l.length << 1);\n }\n\n l.set(this.a);\n }\n\n k = g ? 1 : 0;\n l[n++] = k | 0;\n h = f.length;\n m = ~h + 65536 & 65535;\n l[n++] = h & 255;\n l[n++] = h >>> 8 & 255;\n l[n++] = m & 255;\n l[n++] = m >>> 8 & 255;\n if (B) l.set(f, n), n += f.length, l = l.subarray(0, n);else {\n r = 0;\n\n for (p = f.length; r < p; ++r) {\n l[n++] = f[r];\n }\n\n l.length = n;\n }\n this.b = n;\n this.a = l;\n }\n\n break;\n\n case 1:\n var s = new G(B ? new Uint8Array(this.a.buffer) : this.a, this.b);\n s.d(1, 1, v);\n s.d(1, 2, v);\n var u = ra(this, e),\n w,\n C,\n x;\n w = 0;\n\n for (C = u.length; w < C; w++) {\n 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;\n }\n\n this.a = s.finish();\n this.b = this.a.length;\n break;\n\n case oa:\n var D = new G(B ? new Uint8Array(this.a.buffer) : this.a, this.b),\n M,\n z,\n N,\n X,\n Y,\n qb = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15],\n da,\n Fa,\n ea,\n Ga,\n la,\n ta = Array(19),\n Ha,\n Z,\n ma,\n E,\n Ia;\n M = oa;\n D.d(1, 1, v);\n D.d(M, 2, v);\n z = ra(this, e);\n da = sa(this.U, 15);\n Fa = ua(da);\n ea = sa(this.T, 7);\n Ga = ua(ea);\n\n for (N = 286; 257 < N && 0 === da[N - 1]; N--) {\n ;\n }\n\n for (X = 30; 1 < X && 0 === ea[X - 1]; X--) {\n ;\n }\n\n var Ja = N,\n Ka = X,\n K = new (B ? Uint32Array : Array)(Ja + Ka),\n y,\n O,\n A,\n fa,\n J = new (B ? Uint32Array : Array)(316),\n H,\n F,\n P = new (B ? Uint8Array : Array)(19);\n\n for (y = O = 0; y < Ja; y++) {\n K[O++] = da[y];\n }\n\n for (y = 0; y < Ka; y++) {\n K[O++] = ea[y];\n }\n\n if (!B) {\n y = 0;\n\n for (fa = P.length; y < fa; ++y) {\n P[y] = 0;\n }\n }\n\n y = H = 0;\n\n for (fa = K.length; y < fa; y += O) {\n for (O = 1; y + O < fa && K[y + O] === K[y]; ++O) {\n ;\n }\n\n A = O;\n if (0 === K[y]) {\n if (3 > A) for (; 0 < A--;) {\n J[H++] = 0, P[0]++;\n } else for (; 0 < A;) {\n 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;\n }\n } else if (J[H++] = K[y], P[K[y]]++, A--, 3 > A) for (; 0 < A--;) {\n J[H++] = K[y], P[K[y]]++;\n } else for (; 0 < A;) {\n F = 6 > A ? A : 6, F > A - 3 && F < A && (F = A - 3), J[H++] = 16, J[H++] = F - 3, P[16]++, A -= F;\n }\n }\n\n b = B ? J.subarray(0, H) : J.slice(0, H);\n la = sa(P, 7);\n\n for (E = 0; 19 > E; E++) {\n ta[E] = la[qb[E]];\n }\n\n for (Y = 19; 4 < Y && 0 === ta[Y - 1]; Y--) {\n ;\n }\n\n Ha = ua(la);\n D.d(N - 257, 5, v);\n D.d(X - 1, 5, v);\n D.d(Y - 4, 4, v);\n\n for (E = 0; E < Y; E++) {\n D.d(ta[E], 3, v);\n }\n\n E = 0;\n\n for (Ia = b.length; E < Ia; E++) {\n if (Z = b[E], D.d(Ha[Z], la[Z], v), 16 <= Z) {\n E++;\n\n switch (Z) {\n case 16:\n ma = 2;\n break;\n\n case 17:\n ma = 3;\n break;\n\n case 18:\n ma = 7;\n break;\n\n default:\n q(\"invalid code: \" + Z);\n }\n\n D.d(b[E], ma, v);\n }\n }\n\n var La = [Fa, da],\n Ma = [Ga, ea],\n Q,\n Na,\n ga,\n wa,\n Oa,\n Pa,\n Qa,\n Ra;\n Oa = La[0];\n Pa = La[1];\n Qa = Ma[0];\n Ra = Ma[1];\n Q = 0;\n\n for (Na = z.length; Q < Na; ++Q) {\n 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;\n }\n\n this.a = D.finish();\n this.b = this.a.length;\n break;\n\n default:\n q(\"invalid compression type\");\n }\n\n return this.a;\n };\n\n function va(b, a) {\n this.length = b;\n this.N = a;\n }\n\n var xa = function () {\n function b(a) {\n switch (v) {\n case 3 === a:\n return [257, a - 3, 0];\n\n case 4 === a:\n return [258, a - 4, 0];\n\n case 5 === a:\n return [259, a - 5, 0];\n\n case 6 === a:\n return [260, a - 6, 0];\n\n case 7 === a:\n return [261, a - 7, 0];\n\n case 8 === a:\n return [262, a - 8, 0];\n\n case 9 === a:\n return [263, a - 9, 0];\n\n case 10 === a:\n return [264, a - 10, 0];\n\n case 12 >= a:\n return [265, a - 11, 1];\n\n case 14 >= a:\n return [266, a - 13, 1];\n\n case 16 >= a:\n return [267, a - 15, 1];\n\n case 18 >= a:\n return [268, a - 17, 1];\n\n case 22 >= a:\n return [269, a - 19, 2];\n\n case 26 >= a:\n return [270, a - 23, 2];\n\n case 30 >= a:\n return [271, a - 27, 2];\n\n case 34 >= a:\n return [272, a - 31, 2];\n\n case 42 >= a:\n return [273, a - 35, 3];\n\n case 50 >= a:\n return [274, a - 43, 3];\n\n case 58 >= a:\n return [275, a - 51, 3];\n\n case 66 >= a:\n return [276, a - 59, 3];\n\n case 82 >= a:\n return [277, a - 67, 4];\n\n case 98 >= a:\n return [278, a - 83, 4];\n\n case 114 >= a:\n return [279, a - 99, 4];\n\n case 130 >= a:\n return [280, a - 115, 4];\n\n case 162 >= a:\n return [281, a - 131, 5];\n\n case 194 >= a:\n return [282, a - 163, 5];\n\n case 226 >= a:\n return [283, a - 195, 5];\n\n case 257 >= a:\n return [284, a - 227, 5];\n\n case 258 === a:\n return [285, a - 258, 0];\n\n default:\n q(\"invalid length: \" + a);\n }\n }\n\n var a = [],\n c,\n d;\n\n for (c = 3; 258 >= c; c++) {\n d = b(c), a[c] = d[2] << 24 | d[1] << 16 | d[0];\n }\n\n return a;\n }(),\n ya = B ? new Uint32Array(xa) : xa;\n\n function ra(b, a) {\n function c(a, c) {\n var b = a.N,\n d = [],\n f = 0,\n e;\n e = ya[a.length];\n d[f++] = e & 65535;\n d[f++] = e >> 16 & 255;\n d[f++] = e >> 24;\n var g;\n\n switch (v) {\n case 1 === b:\n g = [0, b - 1, 0];\n break;\n\n case 2 === b:\n g = [1, b - 2, 0];\n break;\n\n case 3 === b:\n g = [2, b - 3, 0];\n break;\n\n case 4 === b:\n g = [3, b - 4, 0];\n break;\n\n case 6 >= b:\n g = [4, b - 5, 1];\n break;\n\n case 8 >= b:\n g = [5, b - 7, 1];\n break;\n\n case 12 >= b:\n g = [6, b - 9, 2];\n break;\n\n case 16 >= b:\n g = [7, b - 13, 2];\n break;\n\n case 24 >= b:\n g = [8, b - 17, 3];\n break;\n\n case 32 >= b:\n g = [9, b - 25, 3];\n break;\n\n case 48 >= b:\n g = [10, b - 33, 4];\n break;\n\n case 64 >= b:\n g = [11, b - 49, 4];\n break;\n\n case 96 >= b:\n g = [12, b - 65, 5];\n break;\n\n case 128 >= b:\n g = [13, b - 97, 5];\n break;\n\n case 192 >= b:\n g = [14, b - 129, 6];\n break;\n\n case 256 >= b:\n g = [15, b - 193, 6];\n break;\n\n case 384 >= b:\n g = [16, b - 257, 7];\n break;\n\n case 512 >= b:\n g = [17, b - 385, 7];\n break;\n\n case 768 >= b:\n g = [18, b - 513, 8];\n break;\n\n case 1024 >= b:\n g = [19, b - 769, 8];\n break;\n\n case 1536 >= b:\n g = [20, b - 1025, 9];\n break;\n\n case 2048 >= b:\n g = [21, b - 1537, 9];\n break;\n\n case 3072 >= b:\n g = [22, b - 2049, 10];\n break;\n\n case 4096 >= b:\n g = [23, b - 3073, 10];\n break;\n\n case 6144 >= b:\n g = [24, b - 4097, 11];\n break;\n\n case 8192 >= b:\n g = [25, b - 6145, 11];\n break;\n\n case 12288 >= b:\n g = [26, b - 8193, 12];\n break;\n\n case 16384 >= b:\n g = [27, b - 12289, 12];\n break;\n\n case 24576 >= b:\n g = [28, b - 16385, 13];\n break;\n\n case 32768 >= b:\n g = [29, b - 24577, 13];\n break;\n\n default:\n q(\"invalid distance\");\n }\n\n e = g;\n d[f++] = e[0];\n d[f++] = e[1];\n d[f++] = e[2];\n var h, k;\n h = 0;\n\n for (k = d.length; h < k; ++h) {\n l[n++] = d[h];\n }\n\n u[d[0]]++;\n w[d[3]]++;\n s = a.length + c - 1;\n p = null;\n }\n\n var d,\n e,\n f,\n g,\n k,\n h = {},\n m,\n r,\n p,\n l = B ? new Uint16Array(2 * a.length) : [],\n n = 0,\n s = 0,\n u = new (B ? Uint32Array : Array)(286),\n w = new (B ? Uint32Array : Array)(30),\n C = b.F,\n x;\n\n if (!B) {\n for (f = 0; 285 >= f;) {\n u[f++] = 0;\n }\n\n for (f = 0; 29 >= f;) {\n w[f++] = 0;\n }\n }\n\n u[256] = 1;\n d = 0;\n\n for (e = a.length; d < e; ++d) {\n f = k = 0;\n\n for (g = 3; f < g && d + f !== e; ++f) {\n k = k << 8 | a[d + f];\n }\n\n h[k] === t && (h[k] = []);\n m = h[k];\n\n if (!(0 < s--)) {\n for (; 0 < m.length && 32768 < d - m[0];) {\n m.shift();\n }\n\n if (d + 3 >= e) {\n p && c(p, -1);\n f = 0;\n\n for (g = e - d; f < g; ++f) {\n x = a[d + f], l[n++] = x, ++u[x];\n }\n\n break;\n }\n\n 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]);\n }\n\n m.push(d);\n }\n\n l[n++] = 256;\n u[256]++;\n b.U = u;\n b.T = w;\n return B ? l.subarray(0, n) : l;\n }\n\n function za(b, a, c) {\n var d,\n e,\n f = 0,\n g,\n k,\n h,\n m,\n r = b.length;\n k = 0;\n m = c.length;\n\n a: for (; k < m; k++) {\n d = c[m - k - 1];\n g = 3;\n\n if (3 < f) {\n for (h = f; 3 < h; h--) {\n if (b[d + h - 1] !== b[a + h - 1]) continue a;\n }\n\n g = f;\n }\n\n for (; 258 > g && a + g < r && b[d + g] === b[a + g];) {\n ++g;\n }\n\n g > f && (e = d, f = g);\n if (258 === g) break;\n }\n\n return new va(f, a - e);\n }\n\n function sa(b, a) {\n var c = b.length,\n d = new ka(572),\n e = new (B ? Uint8Array : Array)(c),\n f,\n g,\n k,\n h,\n m;\n if (!B) for (h = 0; h < c; h++) {\n e[h] = 0;\n }\n\n for (h = 0; h < c; ++h) {\n 0 < b[h] && d.push(h, b[h]);\n }\n\n f = Array(d.length / 2);\n g = new (B ? Uint32Array : Array)(d.length / 2);\n if (1 === f.length) return e[d.pop().index] = 1, e;\n h = 0;\n\n for (m = d.length / 2; h < m; ++h) {\n f[h] = d.pop(), g[h] = f[h].value;\n }\n\n k = Aa(g, g.length, a);\n h = 0;\n\n for (m = f.length; h < m; ++h) {\n e[f[h].index] = k[h];\n }\n\n return e;\n }\n\n function Aa(b, a, c) {\n function d(b) {\n var c = h[b][m[b]];\n c === a ? (d(b + 1), d(b + 1)) : --g[c];\n ++m[b];\n }\n\n var e = new (B ? Uint16Array : Array)(c),\n f = new (B ? Uint8Array : Array)(c),\n g = new (B ? Uint8Array : Array)(a),\n k = Array(c),\n h = Array(c),\n m = Array(c),\n r = (1 << c) - a,\n p = 1 << c - 1,\n l,\n n,\n s,\n u,\n w;\n e[c - 1] = a;\n\n for (n = 0; n < c; ++n) {\n r < p ? f[n] = 0 : (f[n] = 1, r -= p), r <<= 1, e[c - 2 - n] = (e[c - 1 - n] / 2 | 0) + a;\n }\n\n e[0] = f[0];\n k[0] = Array(e[0]);\n h[0] = Array(e[0]);\n\n for (n = 1; n < c; ++n) {\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]);\n }\n\n for (l = 0; l < a; ++l) {\n g[l] = c;\n }\n\n for (s = 0; s < e[c - 1]; ++s) {\n k[c - 1][s] = b[s], h[c - 1][s] = s;\n }\n\n for (l = 0; l < c; ++l) {\n m[l] = 0;\n }\n\n 1 === f[c - 1] && (--g[0], ++m[c - 1]);\n\n for (n = c - 2; 0 <= n; --n) {\n u = l = 0;\n w = m[n + 1];\n\n for (s = 0; s < e[n]; s++) {\n 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);\n }\n\n m[n] = 0;\n 1 === f[n] && d(n);\n }\n\n return g;\n }\n\n function ua(b) {\n var a = new (B ? Uint16Array : Array)(b.length),\n c = [],\n d = [],\n e = 0,\n f,\n g,\n k,\n h;\n f = 0;\n\n for (g = b.length; f < g; f++) {\n c[b[f]] = (c[b[f]] | 0) + 1;\n }\n\n f = 1;\n\n for (g = 16; f <= g; f++) {\n d[f] = e, e += c[f] | 0, e <<= 1;\n }\n\n f = 0;\n\n for (g = b.length; f < g; f++) {\n e = d[b[f]];\n d[b[f]] += 1;\n k = a[f] = 0;\n\n for (h = b[f]; k < h; k++) {\n a[f] = a[f] << 1 | e & 1, e >>>= 1;\n }\n }\n\n return a;\n }\n\n ;\n\n function Ba(b, a) {\n this.input = b;\n this.b = this.c = 0;\n this.g = {};\n 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));\n this.l || (this.l = {});\n }\n\n Ba.prototype.h = function () {\n var b,\n a,\n c,\n d,\n e,\n f,\n g,\n k,\n h = new (B ? Uint8Array : Array)(32768),\n m = 0,\n r = this.input,\n p = this.c,\n l = this.filename,\n n = this.w;\n h[m++] = 31;\n h[m++] = 139;\n h[m++] = 8;\n b = 0;\n this.g.fname && (b |= Ca);\n this.g.fcomment && (b |= Da);\n this.g.fhcrc && (b |= Ea);\n h[m++] = b;\n a = (Date.now ? Date.now() : +new Date()) / 1E3 | 0;\n h[m++] = a & 255;\n h[m++] = a >>> 8 & 255;\n h[m++] = a >>> 16 & 255;\n h[m++] = a >>> 24 & 255;\n h[m++] = 0;\n h[m++] = Sa;\n\n if (this.g.fname !== t) {\n g = 0;\n\n for (k = l.length; g < k; ++g) {\n f = l.charCodeAt(g), 255 < f && (h[m++] = f >>> 8 & 255), h[m++] = f & 255;\n }\n\n h[m++] = 0;\n }\n\n if (this.g.comment) {\n g = 0;\n\n for (k = n.length; g < k; ++g) {\n f = n.charCodeAt(g), 255 < f && (h[m++] = f >>> 8 & 255), h[m++] = f & 255;\n }\n\n h[m++] = 0;\n }\n\n this.g.fhcrc && (c = ha(h, 0, m) & 65535, h[m++] = c & 255, h[m++] = c >>> 8 & 255);\n this.l.outputBuffer = h;\n this.l.outputIndex = m;\n e = new na(r, this.l);\n h = e.h();\n m = e.b;\n 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));\n d = ha(r, t, t);\n h[m++] = d & 255;\n h[m++] = d >>> 8 & 255;\n h[m++] = d >>> 16 & 255;\n h[m++] = d >>> 24 & 255;\n k = r.length;\n h[m++] = k & 255;\n h[m++] = k >>> 8 & 255;\n h[m++] = k >>> 16 & 255;\n h[m++] = k >>> 24 & 255;\n this.c = p;\n B && m < h.length && (this.a = h = h.subarray(0, m));\n return h;\n };\n\n var Sa = 255,\n Ea = 2,\n Ca = 8,\n Da = 16;\n\n function V(b, a) {\n this.o = [];\n this.p = 32768;\n this.e = this.j = this.c = this.s = 0;\n this.input = B ? new Uint8Array(b) : b;\n this.u = !1;\n this.q = Ta;\n this.K = !1;\n 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);\n\n switch (this.q) {\n case Ua:\n this.b = 32768;\n this.a = new (B ? Uint8Array : Array)(32768 + this.p + 258);\n break;\n\n case Ta:\n this.b = 0;\n this.a = new (B ? Uint8Array : Array)(this.p);\n this.f = this.S;\n this.z = this.O;\n this.r = this.Q;\n break;\n\n default:\n q(Error(\"invalid inflate mode\"));\n }\n }\n\n var Ua = 0,\n Ta = 1;\n\n V.prototype.i = function () {\n for (; !this.u;) {\n var b = W(this, 3);\n b & 1 && (this.u = v);\n b >>>= 1;\n\n switch (b) {\n case 0:\n var a = this.input,\n c = this.c,\n d = this.a,\n e = this.b,\n f = a.length,\n g = t,\n k = t,\n h = d.length,\n m = t;\n this.e = this.j = 0;\n c + 1 >= f && q(Error(\"invalid uncompressed block header: LEN\"));\n g = a[c++] | a[c++] << 8;\n c + 1 >= f && q(Error(\"invalid uncompressed block header: NLEN\"));\n k = a[c++] | a[c++] << 8;\n g === ~k && q(Error(\"invalid uncompressed block header: length verify\"));\n c + g > a.length && q(Error(\"input buffer is broken\"));\n\n switch (this.q) {\n case Ua:\n for (; e + g > d.length;) {\n m = h - e;\n g -= m;\n if (B) d.set(a.subarray(c, c + m), e), e += m, c += m;else for (; m--;) {\n d[e++] = a[c++];\n }\n this.b = e;\n d = this.f();\n e = this.b;\n }\n\n break;\n\n case Ta:\n for (; e + g > d.length;) {\n d = this.f({\n B: 2\n });\n }\n\n break;\n\n default:\n q(Error(\"invalid inflate mode\"));\n }\n\n if (B) d.set(a.subarray(c, c + g), e), e += g, c += g;else for (; g--;) {\n d[e++] = a[c++];\n }\n this.c = c;\n this.b = e;\n this.a = d;\n break;\n\n case 1:\n this.r(Va, Wa);\n break;\n\n case 2:\n 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 n[Xa[z]] = W(this, 3);\n }\n\n if (!B) {\n z = l;\n\n for (l = n.length; z < l; ++z) {\n n[Xa[z]] = 0;\n }\n }\n\n s = T(n);\n C = new (B ? Uint8Array : Array)(r + p);\n z = 0;\n\n for (N = r + p; z < N;) {\n switch (x = Ya(this, s), x) {\n case 16:\n for (M = 3 + W(this, 2); M--;) {\n C[z++] = D;\n }\n\n break;\n\n case 17:\n for (M = 3 + W(this, 3); M--;) {\n C[z++] = 0;\n }\n\n D = 0;\n break;\n\n case 18:\n for (M = 11 + W(this, 7); M--;) {\n C[z++] = 0;\n }\n\n D = 0;\n break;\n\n default:\n D = C[z++] = x;\n }\n }\n\n u = B ? T(C.subarray(0, r)) : T(C.slice(0, r));\n w = B ? T(C.subarray(r)) : T(C.slice(r));\n this.r(u, w);\n break;\n\n default:\n q(Error(\"unknown BTYPE: \" + b));\n }\n }\n\n return this.z();\n };\n\n var Za = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15],\n Xa = B ? new Uint16Array(Za) : Za,\n $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],\n ab = B ? new Uint16Array($a) : $a,\n 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],\n cb = B ? new Uint8Array(bb) : bb,\n 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],\n eb = B ? new Uint16Array(db) : db,\n fb = [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13],\n gb = B ? new Uint8Array(fb) : fb,\n hb = new (B ? Uint8Array : Array)(288),\n $,\n ib;\n $ = 0;\n\n for (ib = hb.length; $ < ib; ++$) {\n hb[$] = 143 >= $ ? 8 : 255 >= $ ? 9 : 279 >= $ ? 7 : 8;\n }\n\n var Va = T(hb),\n jb = new (B ? Uint8Array : Array)(30),\n kb,\n lb;\n kb = 0;\n\n for (lb = jb.length; kb < lb; ++kb) {\n jb[kb] = 5;\n }\n\n var Wa = T(jb);\n\n function W(b, a) {\n for (var c = b.j, d = b.e, e = b.input, f = b.c, g = e.length, k; d < a;) {\n f >= g && q(Error(\"input buffer is broken\")), c |= e[f++] << d, d += 8;\n }\n\n k = c & (1 << a) - 1;\n b.j = c >>> a;\n b.e = d - a;\n b.c = f;\n return k;\n }\n\n function Ya(b, a) {\n 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);) {\n c |= e[f++] << d, d += 8;\n }\n\n m = k[c & (1 << h) - 1];\n r = m >>> 16;\n r > d && q(Error(\"invalid code length: \" + r));\n b.j = c >> r;\n b.e = d - r;\n b.c = f;\n return m & 65535;\n }\n\n V.prototype.r = function (b, a) {\n var c = this.a,\n d = this.b;\n this.A = b;\n\n for (var e = c.length - 258, f, g, k, h; 256 !== (f = Ya(this, b));) {\n if (256 > f) d >= e && (this.b = d, c = this.f(), d = this.b), c[d++] = f;else {\n g = f - 257;\n h = ab[g];\n 0 < cb[g] && (h += W(this, cb[g]));\n f = Ya(this, a);\n k = eb[f];\n 0 < gb[f] && (k += W(this, gb[f]));\n d >= e && (this.b = d, c = this.f(), d = this.b);\n\n for (; h--;) {\n c[d] = c[d++ - k];\n }\n }\n }\n\n for (; 8 <= this.e;) {\n this.e -= 8, this.c--;\n }\n\n this.b = d;\n };\n\n V.prototype.Q = function (b, a) {\n var c = this.a,\n d = this.b;\n this.A = b;\n\n for (var e = c.length, f, g, k, h; 256 !== (f = Ya(this, b));) {\n if (256 > f) d >= e && (c = this.f(), e = c.length), c[d++] = f;else {\n g = f - 257;\n h = ab[g];\n 0 < cb[g] && (h += W(this, cb[g]));\n f = Ya(this, a);\n k = eb[f];\n 0 < gb[f] && (k += W(this, gb[f]));\n d + h > e && (c = this.f(), e = c.length);\n\n for (; h--;) {\n c[d] = c[d++ - k];\n }\n }\n }\n\n for (; 8 <= this.e;) {\n this.e -= 8, this.c--;\n }\n\n this.b = d;\n };\n\n V.prototype.f = function () {\n var b = new (B ? Uint8Array : Array)(this.b - 32768),\n a = this.b - 32768,\n c,\n d,\n e = this.a;\n if (B) b.set(e.subarray(32768, b.length));else {\n c = 0;\n\n for (d = b.length; c < d; ++c) {\n b[c] = e[c + 32768];\n }\n }\n this.o.push(b);\n this.s += b.length;\n if (B) e.set(e.subarray(a, a + 32768));else for (c = 0; 32768 > c; ++c) {\n e[c] = e[a + c];\n }\n this.b = 32768;\n return e;\n };\n\n V.prototype.S = function (b) {\n var a,\n c = this.input.length / this.c + 1 | 0,\n d,\n e,\n f,\n g = this.input,\n k = this.a;\n b && (\"number\" === typeof b.B && (c = b.B), \"number\" === typeof b.M && (c += b.M));\n 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;\n B ? (a = new Uint8Array(e), a.set(k)) : a = k;\n return this.a = a;\n };\n\n V.prototype.z = function () {\n var b = 0,\n a = this.a,\n c = this.o,\n d,\n e = new (B ? Uint8Array : Array)(this.s + (this.b - 32768)),\n f,\n g,\n k,\n h;\n if (0 === c.length) return B ? this.a.subarray(32768, this.b) : this.a.slice(32768, this.b);\n f = 0;\n\n for (g = c.length; f < g; ++f) {\n d = c[f];\n k = 0;\n\n for (h = d.length; k < h; ++k) {\n e[b++] = d[k];\n }\n }\n\n f = 32768;\n\n for (g = this.b; f < g; ++f) {\n e[b++] = a[f];\n }\n\n this.o = [];\n return this.buffer = e;\n };\n\n V.prototype.O = function () {\n var b,\n a = this.b;\n 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);\n return this.buffer = b;\n };\n\n function mb(b) {\n this.input = b;\n this.c = 0;\n this.G = [];\n this.R = !1;\n }\n\n mb.prototype.i = function () {\n for (var b = this.input.length; this.c < b;) {\n var a = new ja(),\n c = t,\n d = t,\n e = t,\n f = t,\n g = t,\n k = t,\n h = t,\n m = t,\n r = t,\n p = this.input,\n l = this.c;\n a.C = p[l++];\n a.D = p[l++];\n (31 !== a.C || 139 !== a.D) && q(Error(\"invalid file signature:\" + a.C + \",\" + a.D));\n a.v = p[l++];\n\n switch (a.v) {\n case 8:\n break;\n\n default:\n q(Error(\"unknown compression method: \" + a.v));\n }\n\n a.n = p[l++];\n m = p[l++] | p[l++] << 8 | p[l++] << 16 | p[l++] << 24;\n a.$ = new Date(1E3 * m);\n a.ba = p[l++];\n a.aa = p[l++];\n 0 < (a.n & 4) && (a.W = p[l++] | p[l++] << 8, l += a.W);\n\n if (0 < (a.n & Ca)) {\n h = [];\n\n for (k = 0; 0 < (g = p[l++]);) {\n h[k++] = String.fromCharCode(g);\n }\n\n a.name = h.join(\"\");\n }\n\n if (0 < (a.n & Da)) {\n h = [];\n\n for (k = 0; 0 < (g = p[l++]);) {\n h[k++] = String.fromCharCode(g);\n }\n\n a.w = h.join(\"\");\n }\n\n 0 < (a.n & Ea) && (a.P = ha(p, 0, l) & 65535, a.P !== (p[l++] | p[l++] << 8) && q(Error(\"invalid header crc16\")));\n c = p[p.length - 4] | p[p.length - 3] << 8 | p[p.length - 2] << 16 | p[p.length - 1] << 24;\n p.length - l - 4 - 4 < 512 * c && (f = c);\n d = new V(p, {\n index: l,\n bufferSize: f\n });\n a.data = e = d.i();\n l = d.c;\n a.Y = r = (p[l++] | p[l++] << 8 | p[l++] << 16 | p[l++] << 24) >>> 0;\n ha(e, t, t) !== r && q(Error(\"invalid CRC-32 checksum: 0x\" + ha(e, t, t).toString(16) + \" / 0x\" + r.toString(16)));\n a.Z = c = (p[l++] | p[l++] << 8 | p[l++] << 16 | p[l++] << 24) >>> 0;\n (e.length & 4294967295) !== c && q(Error(\"invalid input size: \" + (e.length & 4294967295) + \" / \" + c));\n this.G.push(a);\n this.c = l;\n }\n\n this.R = v;\n var n = this.G,\n s,\n u,\n w = 0,\n C = 0,\n x;\n s = 0;\n\n for (u = n.length; s < u; ++s) {\n C += n[s].data.length;\n }\n\n if (B) {\n x = new Uint8Array(C);\n\n for (s = 0; s < u; ++s) {\n x.set(n[s].data, w), w += n[s].data.length;\n }\n } else {\n x = [];\n\n for (s = 0; s < u; ++s) {\n x[s] = n[s].data;\n }\n\n x = Array.prototype.concat.apply([], x);\n }\n\n return x;\n };\n\n function nb(b) {\n if (\"string\" === typeof b) {\n var a = b.split(\"\"),\n c,\n d;\n c = 0;\n\n for (d = a.length; c < d; c++) {\n a[c] = (a[c].charCodeAt(0) & 255) >>> 0;\n }\n\n b = a;\n }\n\n for (var e = 1, f = 0, g = b.length, k, h = 0; 0 < g;) {\n k = 1024 < g ? 1024 : g;\n g -= k;\n\n do {\n e += b[h++], f += e;\n } while (--k);\n\n e %= 65521;\n f %= 65521;\n }\n\n return (f << 16 | e) >>> 0;\n }\n\n ;\n\n function ob(b, a) {\n var c, d;\n this.input = b;\n this.c = 0;\n if (a || !(a = {})) a.index && (this.c = a.index), a.verify && (this.V = a.verify);\n c = b[this.c++];\n d = b[this.c++];\n\n switch (c & 15) {\n case pb:\n this.method = pb;\n break;\n\n default:\n q(Error(\"unsupported compression method\"));\n }\n\n 0 !== ((c << 8) + d) % 31 && q(Error(\"invalid fcheck flag:\" + ((c << 8) + d) % 31));\n d & 32 && q(Error(\"fdict flag is not supported\"));\n this.J = new V(b, {\n index: this.c,\n bufferSize: a.bufferSize,\n bufferType: a.bufferType,\n resize: a.resize\n });\n }\n\n ob.prototype.i = function () {\n var b = this.input,\n a,\n c;\n a = this.J.i();\n this.c = this.J.c;\n 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\")));\n return a;\n };\n\n var pb = 8;\n\n function rb(b, a) {\n this.input = b;\n this.a = new (B ? Uint8Array : Array)(32768);\n this.k = sb.t;\n var c = {},\n d;\n if ((a || !(a = {})) && \"number\" === typeof a.compressionType) this.k = a.compressionType;\n\n for (d in a) {\n c[d] = a[d];\n }\n\n c.outputBuffer = this.a;\n this.I = new na(this.input, c);\n }\n\n var sb = pa;\n\n rb.prototype.h = function () {\n var b,\n a,\n c,\n d,\n e,\n f,\n g,\n k = 0;\n g = this.a;\n b = pb;\n\n switch (b) {\n case pb:\n a = Math.LOG2E * Math.log(32768) - 8;\n break;\n\n default:\n q(Error(\"invalid compression method\"));\n }\n\n c = a << 4 | b;\n g[k++] = c;\n\n switch (b) {\n case pb:\n switch (this.k) {\n case sb.NONE:\n e = 0;\n break;\n\n case sb.L:\n e = 1;\n break;\n\n case sb.t:\n e = 2;\n break;\n\n default:\n q(Error(\"unsupported compression type\"));\n }\n\n break;\n\n default:\n q(Error(\"invalid compression method\"));\n }\n\n d = e << 6 | 0;\n g[k++] = d | 31 - (256 * c + d) % 31;\n f = nb(this.input);\n this.I.b = k;\n g = this.I.h();\n k = g.length;\n B && (g = new Uint8Array(g.buffer), g.length <= k + 4 && (this.a = new Uint8Array(g.length + 4), this.a.set(g), g = this.a), g = g.subarray(0, k + 4));\n g[k++] = f >> 24 & 255;\n g[k++] = f >> 16 & 255;\n g[k++] = f >> 8 & 255;\n g[k++] = f & 255;\n return g;\n };\n\n exports.deflate = tb;\n exports.deflateSync = ub;\n exports.inflate = vb;\n exports.inflateSync = wb;\n exports.gzip = xb;\n exports.gzipSync = yb;\n exports.gunzip = zb;\n exports.gunzipSync = Ab;\n\n function tb(b, a, c) {\n process.nextTick(function () {\n var d, e;\n\n try {\n e = ub(b, c);\n } catch (f) {\n d = f;\n }\n\n a(d, e);\n });\n }\n\n function ub(b, a) {\n var c;\n c = new rb(b).h();\n a || (a = {});\n return a.H ? c : Bb(c);\n }\n\n function vb(b, a, c) {\n process.nextTick(function () {\n var d, e;\n\n try {\n e = wb(b, c);\n } catch (f) {\n d = f;\n }\n\n a(d, e);\n });\n }\n\n function wb(b, a) {\n var c;\n b.subarray = b.slice;\n c = new ob(b).i();\n a || (a = {});\n return a.noBuffer ? c : Bb(c);\n }\n\n function xb(b, a, c) {\n process.nextTick(function () {\n var d, e;\n\n try {\n e = yb(b, c);\n } catch (f) {\n d = f;\n }\n\n a(d, e);\n });\n }\n\n function yb(b, a) {\n var c;\n b.subarray = b.slice;\n c = new Ba(b).h();\n a || (a = {});\n return a.H ? c : Bb(c);\n }\n\n function zb(b, a, c) {\n process.nextTick(function () {\n var d, e;\n\n try {\n e = Ab(b, c);\n } catch (f) {\n d = f;\n }\n\n a(d, e);\n });\n }\n\n function Ab(b, a) {\n var c;\n b.subarray = b.slice;\n c = new mb(b).i();\n a || (a = {});\n return a.H ? c : Bb(c);\n }\n\n function Bb(b) {\n var a = new Buffer(b.length),\n c,\n d;\n c = 0;\n\n for (d = b.length; c < d; ++c) {\n a[c] = b[c];\n }\n\n return a;\n }\n\n ;\n}).call(this);","\"use strict\";\n\nvar bmp = require('bmp-js');\n\nvar fileType = require('file-type');\n\nmodule.exports = function (TessModule, iBuf, yres) {\n if (yres === void 0) {\n yres = 70;\n }\n\n var buf = Buffer.from(iBuf);\n var type = fileType(buf);\n var bytesPerPixel = 0;\n var data = null;\n var pix = null;\n var w = 0;\n var h = 0;\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\n if (type && type.mime === 'image/bmp') {\n var 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 var ptr = TessModule._malloc(buf.length * Uint8Array.BYTES_PER_ELEMENT);\n\n TessModule.HEAPU8.set(buf, ptr);\n pix = TessModule._pixReadMem(ptr, buf.length);\n\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, yres, 'i32');\n }\n\n var _Array$fill$map = Array(2).fill(0).map(function (v, idx) {\n return TessModule.getValue(pix + idx * 4, 'i32');\n });\n\n w = _Array$fill$map[0];\n h = _Array$fill$map[1];\n }\n\n return {\n w: w,\n h: h,\n bytesPerPixel: bytesPerPixel,\n data: data,\n pix: pix\n };\n};","/**\n * @author shaozilee\n *\n * support 1bit 4bit 8bit 24bit decode\n * encode with 24bit\n * \n */\nvar encode = require('./lib/encoder'),\n decode = require('./lib/decoder');\n\nmodule.exports = {\n encode: encode,\n decode: decode\n};","/**\n * @author shaozilee\n *\n * BMP format encoder,encode 24bit BMP\n * Not support quality compression\n *\n */\nfunction BmpEncoder(imgData) {\n this.buffer = imgData.data;\n this.width = imgData.width;\n this.height = imgData.height;\n this.extraBytes = this.width % 4;\n this.rgbSize = this.height * (3 * this.width + this.extraBytes);\n this.headerInfoSize = 40;\n this.data = [];\n /******************header***********************/\n\n this.flag = \"BM\";\n this.reserved = 0;\n this.offset = 54;\n this.fileSize = this.rgbSize + this.offset;\n this.planes = 1;\n this.bitPP = 24;\n this.compress = 0;\n this.hr = 0;\n this.vr = 0;\n this.colors = 0;\n this.importantColors = 0;\n}\n\nBmpEncoder.prototype.encode = function () {\n var tempBuffer = new Buffer(this.offset + this.rgbSize);\n this.pos = 0;\n tempBuffer.write(this.flag, this.pos, 2);\n this.pos += 2;\n tempBuffer.writeUInt32LE(this.fileSize, this.pos);\n this.pos += 4;\n tempBuffer.writeUInt32LE(this.reserved, this.pos);\n this.pos += 4;\n tempBuffer.writeUInt32LE(this.offset, this.pos);\n this.pos += 4;\n tempBuffer.writeUInt32LE(this.headerInfoSize, this.pos);\n this.pos += 4;\n tempBuffer.writeUInt32LE(this.width, this.pos);\n this.pos += 4;\n tempBuffer.writeInt32LE(-this.height, this.pos);\n this.pos += 4;\n tempBuffer.writeUInt16LE(this.planes, this.pos);\n this.pos += 2;\n tempBuffer.writeUInt16LE(this.bitPP, this.pos);\n this.pos += 2;\n tempBuffer.writeUInt32LE(this.compress, this.pos);\n this.pos += 4;\n tempBuffer.writeUInt32LE(this.rgbSize, this.pos);\n this.pos += 4;\n tempBuffer.writeUInt32LE(this.hr, this.pos);\n this.pos += 4;\n tempBuffer.writeUInt32LE(this.vr, this.pos);\n this.pos += 4;\n tempBuffer.writeUInt32LE(this.colors, this.pos);\n this.pos += 4;\n tempBuffer.writeUInt32LE(this.importantColors, this.pos);\n this.pos += 4;\n var i = 0;\n var rowBytes = 3 * this.width + this.extraBytes;\n\n for (var y = 0; y < this.height; y++) {\n for (var x = 0; x < this.width; x++) {\n var p = this.pos + y * rowBytes + x * 3;\n i++; //a\n\n tempBuffer[p] = this.buffer[i++]; //b\n\n tempBuffer[p + 1] = this.buffer[i++]; //g\n\n tempBuffer[p + 2] = this.buffer[i++]; //r\n }\n\n if (this.extraBytes > 0) {\n var fillOffset = this.pos + y * rowBytes + this.width * 3;\n tempBuffer.fill(0, fillOffset, fillOffset + this.extraBytes);\n }\n }\n\n return tempBuffer;\n};\n\nmodule.exports = function (imgData, quality) {\n if (typeof quality === 'undefined') quality = 100;\n var encoder = new BmpEncoder(imgData);\n var data = encoder.encode();\n return {\n data: data,\n width: imgData.width,\n height: imgData.height\n };\n};","/**\n * @author shaozilee\n *\n * Bmp format decoder,support 1bit 4bit 8bit 24bit bmp\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\n if (this.bitPP < 15) {\n var len = this.colors === 0 ? 1 << this.bitPP : this.colors;\n this.palette = new Array(len);\n\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\n if (this.height < 0) {\n this.height *= -1;\n this.bottom_up = false;\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\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n\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\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 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 } 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 var setPixelData = 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\n this.data.fill(0xff);\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++); //absolute mode\n\n if (a == 0) {\n if (b == 0) {\n //line end\n if (this.bottom_up) {\n lines--;\n } else {\n lines++;\n }\n\n location = lines * this.width * 4;\n low_nibble = false;\n continue;\n } else if (b == 1) {\n //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\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\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 } else {\n //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\n low_nibble = !low_nibble;\n }\n }\n }\n } else {\n var xlen = Math.ceil(this.width / 2);\n var mode = xlen % 4;\n\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n\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 var before = b >> 4;\n var after = b & 0x0F;\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 if (x * 2 + 1 >= this.width) break;\n rgb = this.palette[after];\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 if (mode != 0) {\n this.pos += 4 - mode;\n }\n }\n }\n};\n\nBmpDecoder.prototype.bit8 = function () {\n //RLE-8\n if (this.compress == 1) {\n var setPixelData = 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\n this.data.fill(0xff);\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++); //absolute mode\n\n if (a == 0) {\n if (b == 0) {\n //line end\n if (this.bottom_up) {\n lines--;\n } else {\n lines++;\n }\n\n location = lines * this.width * 4;\n continue;\n } else if (b == 1) {\n //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\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\n if (b & 1 == 1) {\n this.pos++;\n }\n }\n } else {\n //encoded mode\n for (var i = 0; i < a; i++) {\n setPixelData.call(this, b);\n }\n }\n }\n } else {\n var mode = this.width % 4;\n\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n\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\n if (b < this.palette.length) {\n var rgb = this.palette[b];\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 } 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\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\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n\n for (var x = 0; x < this.width; x++) {\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 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 } //skip extra bytes\n\n\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit16 = function () {\n var dif_w = this.width % 2 * 2; //default xrgb555\n\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 var ns = [0, 0, 0];\n\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\n ns[1] += ns[0];\n ns[2] += ns[1];\n ns[0] = 8 - ns[0];\n ns[1] -= 8;\n 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\n for (var x = 0; x < this.width; x++) {\n var B = this.buffer.readUInt16LE(this.pos);\n this.pos += 2;\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 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 } //skip extra bytes\n\n\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\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 } //skip extra bytes\n\n\n this.pos += this.width % 4;\n }\n};\n/**\n * add 32bit decode func\n * @author soubok\n */\n\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\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n\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 } else {\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n\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\nBmpDecoder.prototype.getData = function () {\n return this.data;\n};\n\nmodule.exports = function (bmpData) {\n var decoder = new BmpDecoder(bmpData);\n return decoder;\n};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _objectSpread6 = _interopRequireDefault(require(\"@babel/runtime/helpers/esm/objectSpread\"));\n\n/**\n *\n * The core part of tesseract.js to execute the OCR jobs.\n *\n * @fileoverview Worker for OCR jobs\n * @author Kevin Kwok \n * @author Guillermo Webster \n * @author Jerome Wu \n */\nvar check = require('check-types');\n\nvar resolveURL = typeof window !== 'undefined' && typeof window.document !== 'undefined' ? require('resolve-url') : function (s) {\n return s;\n};\n\nvar adapter = require('../node');\n\nvar circularize = require('./circularize');\n\nvar TesseractJob = require('./TesseractJob');\n/**\n * TesseractWorker\n * @name TesseractWorker\n * @function execute TesseractJob with a queue mechanism\n * @access public\n */\n\n\nvar TesseractWorker =\n/*#__PURE__*/\nfunction () {\n /**\n * constructor\n *\n * @name constructor\n * @function initialize the worker\n * @access public\n * @param {object} options - worker configurations\n * @param {string} options.workerPath -\n * A remote path to load worker script.\n * In browser-like environment, it is downloaded from a CDN service.\n * Please update this option if you self-host the worker script.\n * In Node.js environment, this option is not used as the worker script is in local.\n * @param {string} options.corePath -\n * A remote path to load tesseract.js-core script.\n * In browser-like environment, it is downloaded from a CDN service.\n * Please update this option if you self-host the core script.\n * In Node.js environment, this option is not used as the core script is in local.\n * @param {string} options.langPath -\n * A remote path to load *.traineddata.gz, it is download from a CDN service.\n * Please update this option if you self-host the worker script.\n * @param {string} [options.cachePath=.] - @see {@link https://github.com/jeromewu/tesseract.js-utils/blob/master/src/loadLang.js}\n * @param {string} [options.cacheMethod=write] - @see {@link https://github.com/jeromewu/tesseract.js-utils/blob/master/src/loadLang.js}\n * @param {string} [options.dataPath=.] - @see {@link https://github.com/jeromewu/tesseract.js-utils/blob/master/src/loadLang.js}\n *\n */\n function TesseractWorker(options) {\n var _this = this;\n\n if (options === void 0) {\n options = {};\n }\n\n this.worker = null;\n this.options = (0, _objectSpread6.default)({}, adapter.defaultOptions, {}, options);\n ['corePath', 'workerPath', 'langPath'].forEach(function (key) {\n if (check.not.undefined(options[key])) {\n var _objectSpread4;\n\n _this.options = (0, _objectSpread6.default)({}, _this.options, (_objectSpread4 = {}, _objectSpread4[key] = resolveURL(options[key]), _objectSpread4));\n }\n });\n this._currentJob = null;\n this._queue = [];\n }\n /**\n * recognize\n *\n * @name recognize\n * @function recognize text in given image\n * @access public\n * @param {Buffer, string} image - image to be recognized\n * @param {string, array} [langs=eng] - languages to recognize\n * @param {object} params - tesseract parameters\n *\n */\n\n\n var _proto = TesseractWorker.prototype;\n\n _proto.recognize = function recognize(image, langs, params) {\n if (langs === void 0) {\n langs = 'eng';\n }\n\n if (params === void 0) {\n params = {};\n }\n\n return this._sendJob('recognize', image, langs, params);\n }\n /**\n * detect\n *\n * @name detect\n * @function detect language of the text in the image\n * @access public\n * @param {Buffer, string} image - image to be recognized\n * @param {object} params - tesseract parameters\n *\n */\n ;\n\n _proto.detect = function detect(image, params) {\n if (params === void 0) {\n params = {};\n }\n\n return this._sendJob('detect', image, 'osd', params);\n }\n /**\n * recv\n *\n * @name recv\n * @function handle completed job\n * @access public\n * @param {object} packet job data\n */\n ;\n\n _proto.recv = function recv(packet) {\n if (this._currentJob.id === packet.jobId) {\n this._currentJob.handle((0, _objectSpread6.default)({}, packet, {\n data: packet.status === 'resolve' && packet.action === 'recognize' ? circularize(packet.data) : packet.data\n }));\n } else {\n console.warn(\"Job ID \" + packet.jobId + \" not known.\");\n }\n }\n /**\n * dequeue\n *\n * @name dequeue\n * @function dequeue and execute the rear job\n * @access public\n */\n ;\n\n _proto.dequeue = function dequeue() {\n this._currentJob = null;\n\n if (this._queue.length) {\n this._queue[0]();\n }\n }\n /**\n * terminate\n *\n * @name terminate\n * @function terminate the worker\n * @access public\n *\n */\n ;\n\n _proto.terminate = function terminate() {\n if (this.worker) {\n adapter.terminateWorker(this);\n }\n\n this.worker = null;\n this._currentJob = null;\n this._queue = [];\n }\n /**\n * _sendJob\n *\n * @name _sendJob\n * @function append a new job to the job queue\n * @access private\n * @param {string} type job type, should be recognize or detect\n * @param {Buffer, string} image image to recognize\n * @param {string} lang language to recognize\n * @param {object} params tesseract parameters\n */\n ;\n\n _proto._sendJob = function _sendJob(type, image, langs, params) {\n var _this2 = this;\n\n return this._delay(function (job) {\n job.send(type, {\n image: image,\n langs: langs,\n params: params,\n options: _this2.options\n });\n });\n }\n /**\n * _delay\n *\n * @name _delay\n * @function delays the fn to execute until it is on the rear of the queue\n * @access private\n * @param {function} fn A handler function for the job\n */\n ;\n\n _proto._delay = function _delay(fn) {\n var _this3 = this;\n\n if (check.null(this.worker)) {\n this.worker = adapter.spawnWorker(this, this.options);\n }\n\n var job = new TesseractJob(this);\n\n this._queue.push(function () {\n _this3._queue.shift();\n\n _this3._currentJob = job;\n fn(job);\n });\n\n if (check.null(this._currentJob)) {\n this.dequeue();\n }\n\n return job;\n };\n\n return TesseractWorker;\n}();\n\nmodule.exports = TesseractWorker;","\"use strict\";\n\nmodule.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./utils');\n\nvar bind = require('./helpers/bind');\n\nvar Axios = require('./core/Axios');\n\nvar defaults = require('./defaults');\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\n\n\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context); // Copy axios.prototype to instance\n\n utils.extend(instance, Axios.prototype, context); // Copy context to instance\n\n utils.extend(instance, context);\n return instance;\n} // Create the default instance to be exported\n\n\nvar axios = createInstance(defaults); // Expose Axios class to allow class inheritance\n\naxios.Axios = Axios; // Factory for creating new instances\n\naxios.create = function create(instanceConfig) {\n return createInstance(utils.merge(defaults, instanceConfig));\n}; // Expose Cancel & CancelToken\n\n\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel'); // Expose all/spread\n\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = require('./helpers/spread');\nmodule.exports = axios; // Allow use of default import syntax in TypeScript\n\nmodule.exports.default = axios;","\"use strict\";\n\n/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\nmodule.exports = function isBuffer(obj) {\n return obj != null && obj.constructor != null && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj);\n};","'use strict';\n\nvar defaults = require('./../defaults');\n\nvar utils = require('./../utils');\n\nvar InterceptorManager = require('./InterceptorManager');\n\nvar dispatchRequest = require('./dispatchRequest');\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\n\n\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\n\n\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, {\n method: 'get'\n }, this.defaults, config);\n config.method = config.method.toLowerCase(); // Hook up interceptors middleware\n\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n}; // Provide aliases for supported request methods\n\n\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\nmodule.exports = Axios;","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};","'use strict';\n\nvar createError = require('./createError');\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\n\n\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus; // Note: status is not exposed by XDomainRequest\n\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError('Request failed with status code ' + response.status, response.config, null, response.request, response));\n }\n};","'use strict';\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\n\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n return error;\n};","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).replace(/%40/gi, '@').replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+').replace(/%5B/gi, '[').replace(/%5D/gi, ']');\n}\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\n\n\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};","'use strict';\n\nvar utils = require('./../utils'); // Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\n\n\nvar ignoreDuplicateOf = ['age', 'authorization', 'content-length', 'content-type', 'etag', 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', 'last-modified', 'location', 'max-forwards', 'proxy-authorization', 'referer', 'retry-after', 'user-agent'];\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\n\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) {\n return parsed;\n }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n return parsed;\n};","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = utils.isStandardBrowserEnv() ? // Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\nfunction standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href); // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: urlParsingNode.pathname.charAt(0) === '/' ? urlParsingNode.pathname : '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n\n return function isURLSameOrigin(requestURL) {\n var parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL;\n return parsed.protocol === originURL.protocol && parsed.host === originURL.host;\n };\n}() : // Non standard browser envs (web workers, react-native) lack needed support.\nfunction nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n}();","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = utils.isStandardBrowserEnv() ? // Standard browser envs support document.cookie\nfunction standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return match ? decodeURIComponent(match[3]) : null;\n },\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n}() : // Non standard browser env (web workers, react-native) lack needed support.\nfunction nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() {\n return null;\n },\n remove: function remove() {}\n };\n}();","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n\n\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\n\n\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\n\n\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;","'use strict';\n\nvar utils = require('./../utils');\n\nvar transformData = require('./transformData');\n\nvar isCancel = require('../cancel/isCancel');\n\nvar defaults = require('../defaults');\n\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\n\nvar combineURLs = require('./../helpers/combineURLs');\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\n\n\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\n\n\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config); // Support baseURL config\n\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n } // Ensure headers exist\n\n\n config.headers = config.headers || {}; // Transform request data\n\n config.data = transformData(config.data, config.headers, config.transformRequest); // Flatten headers\n\n config.headers = utils.merge(config.headers.common || {}, config.headers[config.method] || {}, config.headers || {});\n utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], function cleanHeaderConfig(method) {\n delete config.headers[method];\n });\n var adapter = config.adapter || defaults.adapter;\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config); // Transform response data\n\n response.data = transformData(response.data, response.headers, config.transformResponse);\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config); // Transform response data\n\n if (reason && reason.response) {\n reason.response.data = transformData(reason.response.data, reason.response.headers, config.transformResponse);\n }\n }\n\n return Promise.reject(reason);\n });\n};","'use strict';\n\nvar utils = require('./../utils');\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\n\n\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n return data;\n};","'use strict';\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\n\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};","'use strict';\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\n\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '') : baseURL;\n};","'use strict';\n\nvar Cancel = require('./Cancel');\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\n\n\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\n\n\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n\n\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;","'use strict';\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\n\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};","\"use strict\";\n\nmodule.exports = function (s) {\n return new Uint8Array(atob(s).split('').map(function (c) {\n return c.charCodeAt(0);\n }));\n};","\"use strict\";\n\nvar _require = require('./types'),\n OEM = _require.OEM,\n PSM = _require.PSM;\n\nmodule.exports = {\n defaultOptions: {\n /*\n * default path for downloading *.traineddata, this URL basically\n * points to a github page, not using jsDelivr as there is is limitation\n * of 20 MB.\n */\n langPath: 'https://tessdata.projectnaptha.com/4.0.0'\n },\n\n /*\n * default params for recognize()\n */\n defaultParams: {\n tessedit_ocr_engine_mode: OEM.LSTM_ONLY,\n tessedit_pageseg_mode: PSM.SINGLE_BLOCK,\n tessedit_char_whiltelist: '',\n tessjs_create_pdf: '0',\n tessjs_create_hocr: '1',\n tessjs_create_tsv: '1',\n tessjs_create_box: '0',\n tessjs_create_unlv: '0',\n tessjs_create_osd: '0',\n tessjs_textonly_pdf: '0',\n tessjs_pdf_name: 'tesseract.js-ocr-result',\n tessjs_pdf_title: 'Tesseract.js OCR Result',\n tessjs_pdf_auto_download: true,\n tessjs_pdf_bin: false,\n tessjs_image_rectangle_left: 0,\n tessjs_image_rectangle_top: 0,\n tessjs_image_rectangle_width: -1,\n tessjs_image_rectangle_height: -1\n }\n};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _objectSpread8 = _interopRequireDefault(require(\"@babel/runtime/helpers/esm/objectSpread\"));\n\n/**\n * The result of dump.js is a big JSON tree\n * which can be easily serialized (for instance\n * to be sent from a webworker to the main app\n * or through Node's IPC), but we want\n * a (circular) DOM-like interface for walking\n * through the data.\n *\n * @fileoverview DOM-like interface for walking through data\n * @author Kevin Kwok \n * @author Guillermo Webster \n * @author Jerome Wu \n */\nmodule.exports = function (iPage) {\n var page = (0, _objectSpread8.default)({}, iPage, {\n paragraphs: [],\n lines: [],\n words: [],\n symbols: []\n });\n page.blocks.forEach(function (iBlock) {\n var block = (0, _objectSpread8.default)({}, iBlock, {\n page: page,\n lines: [],\n words: [],\n symbols: []\n });\n block.paragraphs.forEach(function (iPara) {\n var para = (0, _objectSpread8.default)({}, iPara, {\n block: block,\n page: page,\n words: [],\n symbols: []\n });\n para.lines.forEach(function (iLine) {\n var line = (0, _objectSpread8.default)({}, iLine, {\n paragraph: para,\n block: block,\n page: page,\n symbols: []\n });\n line.words.forEach(function (iWord) {\n var word = (0, _objectSpread8.default)({}, iWord, {\n line: line,\n paragraph: para,\n block: block,\n page: page\n });\n word.symbols.forEach(function (iSym) {\n var sym = (0, _objectSpread8.default)({}, iSym, {\n word: word,\n line: line,\n paragraph: para,\n block: block,\n page: page\n });\n sym.line.symbols.push(sym);\n sym.paragraph.symbols.push(sym);\n sym.block.symbols.push(sym);\n sym.page.symbols.push(sym);\n });\n word.paragraph.words.push(word);\n word.block.words.push(word);\n word.page.words.push(word);\n });\n line.block.lines.push(line);\n line.page.lines.push(line);\n });\n para.page.paragraphs.push(para);\n });\n });\n return page;\n};","\"use strict\";\n\n/**\n *\n * The job exectued by worker, each job is basically a recognition of an image.\n *\n * @fileoverview Job excuted by Worker\n * @author Kevin Kwok \n * @author Guillermo Webster \n * @author Jerome Wu \n */\nvar adapter = require('../node/');\n/** A global job counter as part of job id */\n\n\nvar jobCounter = 0;\n\nvar TesseractJob =\n/*#__PURE__*/\nfunction () {\n /**\n * constructor\n *\n * @name constructor\n * @function initial a TesseractJob\n * @access public\n * @param {object} worker - An instance of TesseractWorker\n */\n function TesseractJob(worker) {\n jobCounter += 1;\n this.id = \"Job-\" + jobCounter + \"-\" + Math.random().toString(16).slice(3, 8);\n this._worker = worker;\n /**\n * As all the callback functions are saved in an array.\n * Basically you can register more than callback function\n * for then, catch, progress and finally.\n */\n\n this._resolve = [];\n this._reject = [];\n this._progress = [];\n this._finally = [];\n }\n /**\n * then\n *\n * @name then\n * @function A function to chain like Promise\n * @access public\n * @param {function} resolve - called when the job succeeds\n * @param {function} reject - called when the job fails\n */\n\n\n var _proto = TesseractJob.prototype;\n\n _proto.then = function then(resolve, reject) {\n var _this = this;\n\n return new Promise(function (res, rej) {\n if (!_this._resolve.push) {\n res(_this._result);\n } else {\n _this._resolve.push(res);\n }\n\n _this.catch(rej);\n }).then(resolve, reject);\n }\n /**\n * catch\n *\n * @name catch\n * @function register a function to call when there is an error\n * @access public\n * @param {function} reject - callback function for error\n */\n ;\n\n _proto.catch = function _catch(reject) {\n if (this._reject.push) {\n this._reject.push(reject);\n } else {\n reject(this._reject);\n }\n\n return this;\n }\n /**\n * progress\n *\n * @name progress\n * @function register a function to show progress of the recognition,\n * use res.progress to print the message\n * @access public\n * @param {function} fn - callback function for progress information\n */\n ;\n\n _proto.progress = function progress(fn) {\n this._progress.push(fn);\n\n return this;\n }\n /**\n * finally\n *\n * @name finally\n * @function registry a callback function for final\n * @access public\n * @param {function} fn - callback function for final\n */\n ;\n\n _proto.finally = function _finally(fn) {\n this._finally.push(fn);\n\n return this;\n }\n /**\n * send\n *\n * @name send\n * @function send specific action with payload a worker\n * @access public\n * @param {string} action - action to trigger, should be \"recognize\" or \"detect\"\n * @param {object} payload - data to be consumed\n */\n ;\n\n _proto.send = function send(action, payload) {\n adapter.sendPacket(this._worker, {\n jobId: this.id,\n action: action,\n payload: payload\n });\n }\n /**\n * handle\n *\n * @name handle\n * @function execute packet action\n * @access public\n * @param {object} packet action and payload to handle\n */\n ;\n\n _proto.handle = function handle(packet) {\n var data = packet.data;\n var runFinallyCbs = false;\n\n if (packet.status === 'resolve') {\n if (this._resolve.length === 0) console.log(data);\n\n this._resolve.forEach(function (fn) {\n var ret = fn(data);\n\n if (ret && typeof ret.then === 'function') {\n console.warn('TesseractJob instances do not chain like ES6 Promises. To convert it into a real promise, use Promise.resolve.');\n }\n });\n\n this._resolve = data;\n\n this._worker.dequeue();\n\n runFinallyCbs = true;\n } else if (packet.status === 'reject') {\n if (this._reject.length === 0) console.error(data);\n\n this._reject.forEach(function (fn) {\n return fn(data);\n });\n\n this._reject = data;\n\n this._worker.dequeue();\n\n runFinallyCbs = true;\n } else if (packet.status === 'progress') {\n this._progress.forEach(function (fn) {\n return fn(data);\n });\n } else {\n console.warn('Message type unknown', packet.status);\n }\n\n if (runFinallyCbs) {\n this._finally.forEach(function (fn) {\n return fn(data);\n });\n }\n };\n\n return TesseractJob;\n}();\n\nmodule.exports = TesseractJob;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _objectSpread3 = _interopRequireDefault(require(\"@babel/runtime/helpers/esm/objectSpread\"));\n\n/**\n *\n * Entry point for tesseract.js, should be the entry when bundling.\n *\n * @fileoverview entry point for tesseract.js\n * @author Kevin Kwok \n * @author Guillermo Webster \n * @author Jerome Wu \n */\nvar utils = require('tesseract.js-utils');\n\nvar TesseractWorker = require('./common/TesseractWorker');\n\nvar types = require('./common/types');\n\nmodule.exports = (0, _objectSpread3.default)({\n /** Worker for OCR, @see common/TesseractWorker.js */\n TesseractWorker: TesseractWorker,\n\n /** Utilities for tesseract.js, @see {@link https://www.npmjs.com/package/tesseract.js-utils} */\n utils: utils\n}, types);","'use strict';\n\nvar bind = require('./helpers/bind');\n\nvar isBuffer = require('is-buffer');\n/*global toString:true*/\n// utils is a library of generic helper functions non-specific to axios\n\n\nvar toString = Object.prototype.toString;\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\n\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\n\n\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\n\n\nfunction isFormData(val) {\n return typeof FormData !== 'undefined' && val instanceof FormData;\n}\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\n\n\nfunction isArrayBufferView(val) {\n var result;\n\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n result = ArrayBuffer.isView(val);\n } else {\n result = val && val.buffer && val.buffer instanceof ArrayBuffer;\n }\n\n return result;\n}\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\n\n\nfunction isString(val) {\n return typeof val === 'string';\n}\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\n\n\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\n\n\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\n\n\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\n\n\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\n\n\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\n\n\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\n\n\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\n\n\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\n\n\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\n\n\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n */\n\n\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\n\n\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n } // Force an array if not already something iterable\n\n\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\n\n\nfunction merge()\n/* obj1, obj2, obj3, ... */\n{\n var result = {};\n\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n\n return result;\n}\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\n\n\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};","'use strict';\n\nvar bind = require('./helpers/bind');\n\nvar isBuffer = require('is-buffer');\n/*global toString:true*/\n// utils is a library of generic helper functions non-specific to axios\n\n\nvar toString = Object.prototype.toString;\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\n\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\n\n\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\n\n\nfunction isFormData(val) {\n return typeof FormData !== 'undefined' && val instanceof FormData;\n}\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\n\n\nfunction isArrayBufferView(val) {\n var result;\n\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n result = ArrayBuffer.isView(val);\n } else {\n result = val && val.buffer && val.buffer instanceof ArrayBuffer;\n }\n\n return result;\n}\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\n\n\nfunction isString(val) {\n return typeof val === 'string';\n}\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\n\n\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\n\n\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\n\n\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\n\n\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\n\n\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\n\n\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\n\n\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\n\n\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\n\n\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\n\n\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n */\n\n\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\n\n\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n } // Force an array if not already something iterable\n\n\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\n\n\nfunction merge()\n/* obj1, obj2, obj3, ... */\n{\n var result = {};\n\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n\n return result;\n}\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\n\n\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/utils.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/utils.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/defaults.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/defaults.js","webpack:///./node_modules/file-type/index.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/is-buffer/index.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/core/createError.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/check-types/src/check-types.js","webpack:///./node_modules/resolve-url/resolve-url.js","webpack:///./node_modules/tesseract.js/src/browser/index.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/core/createError.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/tesseract.js/src/common/types.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/node_modules/is-url/index.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/index.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/axios.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/core/settle.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/tesseract.js-utils/node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/tesseract.js-utils/src/common/browser/gunzip.js","webpack:///./node_modules/zlibjs/bin/node-zlib.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/tesseract.js/src/common/TesseractWorker.js","webpack:///./node_modules/tesseract.js/node_modules/axios/index.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/axios.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/core/settle.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/tesseract.js/node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/tesseract.js/src/browser/b64toU8Array.js","webpack:///./node_modules/tesseract.js/src/common/options.js","webpack:///./node_modules/tesseract.js/src/common/circularize.js","webpack:///./node_modules/tesseract.js/src/common/TesseractJob.js","webpack:///./node_modules/tesseract.js/src/index.js"],"names":["bind","isBuffer","toString","Object","prototype","isArray","val","call","isObject","isFunction","forEach","obj","fn","i","l","length","key","hasOwnProperty","module","exports","isArrayBuffer","isFormData","FormData","isArrayBufferView","ArrayBuffer","isView","buffer","isString","isNumber","isUndefined","isDate","isFile","isBlob","isStream","pipe","isURLSearchParams","URLSearchParams","isStandardBrowserEnv","navigator","product","window","document","merge","result","assignValue","arguments","extend","a","b","thisArg","trim","str","replace","utils","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","headers","value","adapter","defaults","XMLHttpRequest","process","transformRequest","data","JSON","stringify","transformResponse","parse","e","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","validateStatus","status","common","method","toBytes","s","concat","map","c","charCodeAt","xpiZipFilename","oxmlContentTypes","oxmlRels","readUInt64LE","buf","offset","n","mul","fileType","input","Uint8Array","Buffer","TypeError","check","header","options","assign","mask","checkString","ext","mime","findNextZipHeaderIndex","arr","startAt","findIndex","el","zipHeaderIndex","oxmlFound","type","sliced","subarray","idPos","docTypePos","findDocType","every","_offset","objectSize","start","default","defineProperty","stream","readableStream","Promise","resolve","reject","eval","once","pass","PassThrough","chunk","read","minimumBytes","error","unshift","pipeline","args","Array","apply","constructor","settle","buildURL","parseHeaders","isURLSameOrigin","createError","config","requestData","requestHeaders","request","auth","username","password","Authorization","btoa","open","toUpperCase","url","params","paramsSerializer","onreadystatechange","readyState","responseURL","indexOf","responseHeaders","getAllResponseHeaders","response","responseType","responseText","statusText","onerror","ontimeout","cookies","xsrfValue","withCredentials","undefined","toLowerCase","setRequestHeader","onDownloadProgress","addEventListener","onUploadProgress","upload","cancelToken","promise","then","cancel","abort","send","enhanceError","message","code","Error","__CANCEL__","Cancel","this","globals","strings","messages","predicates","functions","assert","not","maybe","collections","slice","neginf","posinf","haveSymbols","assigned","number","integer","greater","lhs","rhs","less","greaterOrEqual","lessOrEqual","string","nonEmptyString","object","instanceStrict","like","archetype","name","array","arrayLike","mapComplex","keys","predicate","m","testArray","testObject","mixin","target","source","assertModifier","defaultMessage","assertPredicate","argCount","ErrorType","assertImpl","notModifier","modifiedPredicate","notImpl","ofModifier","collection","coerceCollection","item","ignore","createModifiedPredicates","modifier","createModifiedFunctions","shift","pop","configurable","enumerable","writable","createModifiedModifier","modified","createOfModifiers","base","of","v","o","t","al","d","f","iterator","iteration","Symbol","values","next","done","x","y","substring","regex","match","Date","getTime","hasLength","index","mapSimple","all","any","Number","NEGATIVE_INFINITY","POSITIVE_INFINITY","exportFunctions","numUrls","createElement","href","head","getElementsByTagName","insertBefore","firstChild","resolved","removeChild","_extends2","_interopRequireDefault","resolveURL","axios","b64toU8Array","defaultOptions","version","readFromBlobOrFile","blob","res","fileReader","FileReader","onload","readAsArrayBuffer","workerPath","env","TESS_ENV","Math","random","corePath","WebAssembly","spawnWorker","instance","_ref","worker","workerBlobURL","Blob","URL","Worker","createObjectURL","onmessage","_ref2","jobId","startsWith","recv","path","msSaveBlob","link","download","setAttribute","style","visibility","body","appendChild","click","downloadFile","terminateWorker","terminate","sendPacket","iPacket","packet","loadImage","image","test","split","get","resp","HTMLElement","tagName","src","poster","toBlob","File","payload","img","from","postMessage","OEM","TESSERACT_ONLY","LSTM_ONLY","TESSERACT_LSTM_COMBINED","DEFAULT","PSM","OSD_ONLY","AUTO_OSD","AUTO_ONLY","AUTO","SINGLE_COLUMN","SINGLE_BLOCK_VERT_TEXT","SINGLE_BLOCK","SINGLE_LINE","SINGLE_WORD","SINGLE_CHAR","SPARSE_TEXT","SPARSE_TEXT_OSD","RAW_LINE","cache","loadLang","gunzip","readImage","_require","set","del","readCache","writeCache","deleteCache","checkCache","store","Store","dbName","storeName","_dbp","openreq","indexedDB","onsuccess","onupgradeneeded","createObjectStore","_withIDBStore","callback","_this","db","transaction","oncomplete","onabort","objectStore","getDefaultStore","req","put","delete","clear","openKeyCursor","openCursor","push","continue","_objectWithoutPropertiesLoose2","isURL","modules","_ref4","langs","langPath","cachePath","cacheMethod","_ref2$gzip","gzip","lang","langCode","handleTraineddata","doHandleLang","TessModule","dataPath","FS","mkdir","err","writeFile","includes","handleLang","catch","iLangPath","_ref3","loadAndGunzipFile","protocolAndDomainRE","everythingAfterProtocol","localhostDomainRE","nonLocalhostDomainRE","Axios","createInstance","defaultConfig","context","create","instanceConfig","CancelToken","isCancel","promises","spread","InterceptorManager","dispatchRequest","interceptors","chain","interceptor","fulfilled","rejected","normalizedName","encode","encodeURIComponent","serializedParams","parts","toISOString","join","ignoreDuplicateOf","parsed","line","substr","originURL","msie","userAgent","urlParsingNode","protocol","host","search","hash","hostname","port","pathname","charAt","location","requestURL","write","expires","domain","secure","cookie","toGMTString","RegExp","decodeURIComponent","remove","now","handlers","use","eject","id","h","transformData","isAbsoluteURL","combineURLs","throwIfCancellationRequested","throwIfRequested","baseURL","reason","fns","relativeURL","executor","resolvePromise","token","gunzipSync","q","B","Uint16Array","Uint32Array","DataView","G","k","g","I","finish","L","aa","ba","R","ca","ha","S","ia","ja","ka","T","r","p","na","oa","F","lazy","compressionType","outputBuffer","outputIndex","getParent","U","pa","NONE","X","qa","va","N","w","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","Sa","byteLength","V","j","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","String","fromCharCode","rb","sb","ub","Bb","wb","noBuffer","yb","Ab","LOG2E","log","deflate","nextTick","deflateSync","inflate","inflateSync","gzipSync","bmp","iBuf","yres","bytesPerPixel","pix","bmpBuf","decode","_malloc","BYTES_PER_ELEMENT","HEAPU8","width","height","ptr","_pixReadMem","getValue","setValue","_Array$fill$map","fill","idx","BmpEncoder","imgData","extraBytes","rgbSize","headerInfoSize","flag","reserved","fileSize","planes","bitPP","compress","hr","vr","colors","importantColors","tempBuffer","pos","writeUInt32LE","writeInt32LE","writeUInt16LE","rowBytes","fillOffset","quality","BmpDecoder","is_with_alpha","bottom_up","parseHeader","parseRGBA","readUInt32LE","headerSize","readInt32LE","readUInt16LE","rawSize","len","palette","blue","readUInt8","green","red","quad","bitn","bit1","xlen","ceil","mode","rgb","bit4","setPixelData","rgbIndex","lines","low_nibble","before","after","bit8","bit15","dif_w","_1_5","parseInt","alpha","bit16","maskRed","maskGreen","maskBlue","mask0","ns","bit24","bit32","getData","bmpData","_extends3","circularize","TesseractJob","TesseractWorker","_currentJob","_queue","_proto","recognize","_sendJob","detect","handle","action","console","warn","dequeue","_this2","_delay","job","_this3","null","atob","defaultParams","tessedit_ocr_engine_mode","tessedit_pageseg_mode","tessedit_char_whiltelist","tessjs_create_pdf","tessjs_create_hocr","tessjs_create_tsv","tessjs_create_box","tessjs_create_unlv","tessjs_create_osd","tessjs_textonly_pdf","tessjs_pdf_name","tessjs_pdf_title","tessjs_pdf_auto_download","tessjs_pdf_bin","tessjs_image_rectangle_left","tessjs_image_rectangle_top","tessjs_image_rectangle_width","tessjs_image_rectangle_height","iPage","page","paragraphs","words","symbols","blocks","iBlock","block","iPara","para","iLine","paragraph","iWord","word","iSym","sym","jobCounter","_worker","_resolve","_reject","_progress","_finally","rej","_result","progress","finally","runFinallyCbs","ret","types"],"mappings":"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","file":"tesseract.js","sourcesContent":["'use strict';\n\nvar bind = require('./helpers/bind');\n\nvar isBuffer = require('is-buffer');\n/*global toString:true*/\n// utils is a library of generic helper functions non-specific to axios\n\n\nvar toString = Object.prototype.toString;\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\n\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\n\n\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\n\n\nfunction isFormData(val) {\n return typeof FormData !== 'undefined' && val instanceof FormData;\n}\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\n\n\nfunction isArrayBufferView(val) {\n var result;\n\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n result = ArrayBuffer.isView(val);\n } else {\n result = val && val.buffer && val.buffer instanceof ArrayBuffer;\n }\n\n return result;\n}\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\n\n\nfunction isString(val) {\n return typeof val === 'string';\n}\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\n\n\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\n\n\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\n\n\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\n\n\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\n\n\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\n\n\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\n\n\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\n\n\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\n\n\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\n\n\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n */\n\n\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\n\n\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n } // Force an array if not already something iterable\n\n\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\n\n\nfunction merge()\n/* obj1, obj2, obj3, ... */\n{\n var result = {};\n\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n\n return result;\n}\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\n\n\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};","'use strict';\n\nvar bind = require('./helpers/bind');\n\nvar isBuffer = require('is-buffer');\n/*global toString:true*/\n// utils is a library of generic helper functions non-specific to axios\n\n\nvar toString = Object.prototype.toString;\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\n\nfunction isArray(val) {\n return toString.call(val) === '[object Array]';\n}\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\n\n\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\n\n\nfunction isFormData(val) {\n return typeof FormData !== 'undefined' && val instanceof FormData;\n}\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\n\n\nfunction isArrayBufferView(val) {\n var result;\n\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n result = ArrayBuffer.isView(val);\n } else {\n result = val && val.buffer && val.buffer instanceof ArrayBuffer;\n }\n\n return result;\n}\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\n\n\nfunction isString(val) {\n return typeof val === 'string';\n}\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\n\n\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\n\n\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\n\n\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\n\n\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\n\n\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\n\n\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\n\n\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\n\n\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\n\n\nfunction isURLSearchParams(val) {\n return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\n}\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\n\n\nfunction trim(str) {\n return str.replace(/^\\s*/, '').replace(/\\s*$/, '');\n}\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n */\n\n\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\n\n\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n } // Force an array if not already something iterable\n\n\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\n\n\nfunction merge()\n/* obj1, obj2, obj3, ... */\n{\n var result = {};\n\n function assignValue(val, key) {\n if (typeof result[key] === 'object' && typeof val === 'object') {\n result[key] = merge(result[key], val);\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n\n return result;\n}\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\n\n\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim\n};","'use strict';\n\nvar utils = require('./utils');\n\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) || utils.isArrayBuffer(data) || utils.isBuffer(data) || utils.isStream(data) || utils.isFile(data) || utils.isBlob(data)) {\n return data;\n }\n\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n\n return data;\n }],\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) {\n /* Ignore */\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n maxContentLength: -1,\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\nmodule.exports = defaults;","'use strict';\n\nvar utils = require('./utils');\n\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n\n return adapter;\n}\n\nvar defaults = {\n adapter: getDefaultAdapter(),\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) || utils.isArrayBuffer(data) || utils.isBuffer(data) || utils.isStream(data) || utils.isFile(data) || utils.isBlob(data)) {\n return data;\n }\n\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n\n if (utils.isObject(data)) {\n setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\n return JSON.stringify(data);\n }\n\n return data;\n }],\n transformResponse: [function transformResponse(data) {\n /*eslint no-param-reassign:0*/\n if (typeof data === 'string') {\n try {\n data = JSON.parse(data);\n } catch (e) {\n /* Ignore */\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n maxContentLength: -1,\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n }\n};\ndefaults.headers = {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n};\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\nmodule.exports = defaults;","'use strict';\n\nvar toBytes = function toBytes(s) {\n return [].concat(s).map(function (c) {\n return c.charCodeAt(0);\n });\n};\n\nvar xpiZipFilename = toBytes('META-INF/mozilla.rsa');\nvar oxmlContentTypes = toBytes('[Content_Types].xml');\nvar oxmlRels = toBytes('_rels/.rels');\n\nfunction readUInt64LE(buf, offset) {\n if (offset === void 0) {\n offset = 0;\n }\n\n var n = buf[offset];\n var mul = 1;\n var i = 0;\n\n while (++i < 8) {\n mul *= 0x100;\n n += buf[offset + i] * mul;\n }\n\n return n;\n}\n\nvar fileType = function fileType(input) {\n if (!(input instanceof Uint8Array || input instanceof ArrayBuffer || Buffer.isBuffer(input))) {\n throw new TypeError(\"Expected the `input` argument to be of type `Uint8Array` or `Buffer` or `ArrayBuffer`, got `\" + typeof input + \"`\");\n }\n\n var buf = input instanceof Uint8Array ? input : new Uint8Array(input);\n\n if (!(buf && buf.length > 1)) {\n return null;\n }\n\n var check = function check(header, options) {\n options = Object.assign({\n offset: 0\n }, options);\n\n for (var i = 0; i < header.length; i++) {\n // If a bitmask is set\n if (options.mask) {\n // If header doesn't equal `buf` with bits masked off\n if (header[i] !== (options.mask[i] & buf[i + options.offset])) {\n return false;\n }\n } else if (header[i] !== buf[i + options.offset]) {\n return false;\n }\n }\n\n return true;\n };\n\n var checkString = function checkString(header, options) {\n return check(toBytes(header), options);\n };\n\n if (check([0xFF, 0xD8, 0xFF])) {\n return {\n ext: 'jpg',\n mime: 'image/jpeg'\n };\n }\n\n if (check([0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A])) {\n return {\n ext: 'png',\n mime: 'image/png'\n };\n }\n\n if (check([0x47, 0x49, 0x46])) {\n return {\n ext: 'gif',\n mime: 'image/gif'\n };\n }\n\n if (check([0x57, 0x45, 0x42, 0x50], {\n offset: 8\n })) {\n return {\n ext: 'webp',\n mime: 'image/webp'\n };\n }\n\n if (check([0x46, 0x4C, 0x49, 0x46])) {\n return {\n ext: 'flif',\n mime: 'image/flif'\n };\n } // Needs to be before `tif` check\n\n\n if ((check([0x49, 0x49, 0x2A, 0x0]) || check([0x4D, 0x4D, 0x0, 0x2A])) && check([0x43, 0x52], {\n offset: 8\n })) {\n return {\n ext: 'cr2',\n mime: 'image/x-canon-cr2'\n };\n }\n\n if (check([0x49, 0x49, 0x2A, 0x0]) || check([0x4D, 0x4D, 0x0, 0x2A])) {\n return {\n ext: 'tif',\n mime: 'image/tiff'\n };\n }\n\n if (check([0x42, 0x4D])) {\n return {\n ext: 'bmp',\n mime: 'image/bmp'\n };\n }\n\n if (check([0x49, 0x49, 0xBC])) {\n return {\n ext: 'jxr',\n mime: 'image/vnd.ms-photo'\n };\n }\n\n if (check([0x38, 0x42, 0x50, 0x53])) {\n return {\n ext: 'psd',\n mime: 'image/vnd.adobe.photoshop'\n };\n } // Zip-based file formats\n // Need to be before the `zip` check\n\n\n if (check([0x50, 0x4B, 0x3, 0x4])) {\n if (check([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], {\n offset: 30\n })) {\n return {\n ext: 'epub',\n mime: 'application/epub+zip'\n };\n } // Assumes signed `.xpi` from addons.mozilla.org\n\n\n if (check(xpiZipFilename, {\n offset: 30\n })) {\n return {\n ext: 'xpi',\n mime: 'application/x-xpinstall'\n };\n }\n\n if (checkString('mimetypeapplication/vnd.oasis.opendocument.text', {\n offset: 30\n })) {\n return {\n ext: 'odt',\n mime: 'application/vnd.oasis.opendocument.text'\n };\n }\n\n if (checkString('mimetypeapplication/vnd.oasis.opendocument.spreadsheet', {\n offset: 30\n })) {\n return {\n ext: 'ods',\n mime: 'application/vnd.oasis.opendocument.spreadsheet'\n };\n }\n\n if (checkString('mimetypeapplication/vnd.oasis.opendocument.presentation', {\n offset: 30\n })) {\n return {\n ext: 'odp',\n mime: 'application/vnd.oasis.opendocument.presentation'\n };\n } // The docx, xlsx and pptx file types extend the Office Open XML file format:\n // https://en.wikipedia.org/wiki/Office_Open_XML_file_formats\n // We look for:\n // - one entry named '[Content_Types].xml' or '_rels/.rels',\n // - one entry indicating specific type of file.\n // MS Office, OpenOffice and LibreOffice may put the parts in different order, so the check should not rely on it.\n\n\n var findNextZipHeaderIndex = function findNextZipHeaderIndex(arr, startAt) {\n if (startAt === void 0) {\n startAt = 0;\n }\n\n return arr.findIndex(function (el, i, arr) {\n return i >= startAt && arr[i] === 0x50 && arr[i + 1] === 0x4B && arr[i + 2] === 0x3 && arr[i + 3] === 0x4;\n });\n };\n\n var zipHeaderIndex = 0; // The first zip header was already found at index 0\n\n var oxmlFound = false;\n var type = null;\n\n do {\n var offset = zipHeaderIndex + 30;\n\n if (!oxmlFound) {\n oxmlFound = check(oxmlContentTypes, {\n offset: offset\n }) || check(oxmlRels, {\n offset: offset\n });\n }\n\n if (!type) {\n if (checkString('word/', {\n offset: offset\n })) {\n type = {\n ext: 'docx',\n mime: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'\n };\n } else if (checkString('ppt/', {\n offset: offset\n })) {\n type = {\n ext: 'pptx',\n mime: 'application/vnd.openxmlformats-officedocument.presentationml.presentation'\n };\n } else if (checkString('xl/', {\n offset: offset\n })) {\n type = {\n ext: 'xlsx',\n mime: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'\n };\n }\n }\n\n if (oxmlFound && type) {\n return type;\n }\n\n zipHeaderIndex = findNextZipHeaderIndex(buf, offset);\n } while (zipHeaderIndex >= 0); // No more zip parts available in the buffer, but maybe we are almost certain about the type?\n\n\n if (type) {\n return type;\n }\n }\n\n if (check([0x50, 0x4B]) && (buf[2] === 0x3 || buf[2] === 0x5 || buf[2] === 0x7) && (buf[3] === 0x4 || buf[3] === 0x6 || buf[3] === 0x8)) {\n return {\n ext: 'zip',\n mime: 'application/zip'\n };\n }\n\n if (check([0x75, 0x73, 0x74, 0x61, 0x72], {\n offset: 257\n })) {\n return {\n ext: 'tar',\n mime: 'application/x-tar'\n };\n }\n\n if (check([0x52, 0x61, 0x72, 0x21, 0x1A, 0x7]) && (buf[6] === 0x0 || buf[6] === 0x1)) {\n return {\n ext: 'rar',\n mime: 'application/x-rar-compressed'\n };\n }\n\n if (check([0x1F, 0x8B, 0x8])) {\n return {\n ext: 'gz',\n mime: 'application/gzip'\n };\n }\n\n if (check([0x42, 0x5A, 0x68])) {\n return {\n ext: 'bz2',\n mime: 'application/x-bzip2'\n };\n }\n\n if (check([0x37, 0x7A, 0xBC, 0xAF, 0x27, 0x1C])) {\n return {\n ext: '7z',\n mime: 'application/x-7z-compressed'\n };\n }\n\n if (check([0x78, 0x01])) {\n return {\n ext: 'dmg',\n mime: 'application/x-apple-diskimage'\n };\n }\n\n if (check([0x33, 0x67, 0x70, 0x35]) || // 3gp5\n check([0x0, 0x0, 0x0]) && check([0x66, 0x74, 0x79, 0x70], {\n offset: 4\n }) && (check([0x6D, 0x70, 0x34, 0x31], {\n offset: 8\n }) || // MP41\n check([0x6D, 0x70, 0x34, 0x32], {\n offset: 8\n }) || // MP42\n check([0x69, 0x73, 0x6F, 0x6D], {\n offset: 8\n }) || // ISOM\n check([0x69, 0x73, 0x6F, 0x32], {\n offset: 8\n }) || // ISO2\n check([0x6D, 0x6D, 0x70, 0x34], {\n offset: 8\n }) || // MMP4\n check([0x4D, 0x34, 0x56], {\n offset: 8\n }) || // M4V\n check([0x64, 0x61, 0x73, 0x68], {\n offset: 8\n }) // DASH\n )) {\n return {\n ext: 'mp4',\n mime: 'video/mp4'\n };\n }\n\n if (check([0x4D, 0x54, 0x68, 0x64])) {\n return {\n ext: 'mid',\n mime: 'audio/midi'\n };\n } // https://github.com/threatstack/libmagic/blob/master/magic/Magdir/matroska\n\n\n if (check([0x1A, 0x45, 0xDF, 0xA3])) {\n var sliced = buf.subarray(4, 4 + 4096);\n var idPos = sliced.findIndex(function (el, i, arr) {\n return arr[i] === 0x42 && arr[i + 1] === 0x82;\n });\n\n if (idPos !== -1) {\n var docTypePos = idPos + 3;\n\n var findDocType = function findDocType(type) {\n return [].concat(type).every(function (c, i) {\n return sliced[docTypePos + i] === c.charCodeAt(0);\n });\n };\n\n if (findDocType('matroska')) {\n return {\n ext: 'mkv',\n mime: 'video/x-matroska'\n };\n }\n\n if (findDocType('webm')) {\n return {\n ext: 'webm',\n mime: 'video/webm'\n };\n }\n }\n }\n\n if (check([0x0, 0x0, 0x0, 0x14, 0x66, 0x74, 0x79, 0x70, 0x71, 0x74, 0x20, 0x20]) || check([0x66, 0x72, 0x65, 0x65], {\n offset: 4\n }) || // Type: `free`\n check([0x66, 0x74, 0x79, 0x70, 0x71, 0x74, 0x20, 0x20], {\n offset: 4\n }) || check([0x6D, 0x64, 0x61, 0x74], {\n offset: 4\n }) || // MJPEG\n check([0x6D, 0x6F, 0x6F, 0x76], {\n offset: 4\n }) || // Type: `moov`\n check([0x77, 0x69, 0x64, 0x65], {\n offset: 4\n })) {\n return {\n ext: 'mov',\n mime: 'video/quicktime'\n };\n } // RIFF file format which might be AVI, WAV, QCP, etc\n\n\n if (check([0x52, 0x49, 0x46, 0x46])) {\n if (check([0x41, 0x56, 0x49], {\n offset: 8\n })) {\n return {\n ext: 'avi',\n mime: 'video/vnd.avi'\n };\n }\n\n if (check([0x57, 0x41, 0x56, 0x45], {\n offset: 8\n })) {\n return {\n ext: 'wav',\n mime: 'audio/vnd.wave'\n };\n } // QLCM, QCP file\n\n\n if (check([0x51, 0x4C, 0x43, 0x4D], {\n offset: 8\n })) {\n return {\n ext: 'qcp',\n mime: 'audio/qcelp'\n };\n }\n } // ASF_Header_Object first 80 bytes\n\n\n if (check([0x30, 0x26, 0xB2, 0x75, 0x8E, 0x66, 0xCF, 0x11, 0xA6, 0xD9])) {\n // Search for header should be in first 1KB of file.\n var _offset = 30;\n\n do {\n var objectSize = readUInt64LE(buf, _offset + 16);\n\n if (check([0x91, 0x07, 0xDC, 0xB7, 0xB7, 0xA9, 0xCF, 0x11, 0x8E, 0xE6, 0x00, 0xC0, 0x0C, 0x20, 0x53, 0x65], {\n offset: _offset\n })) {\n // Sync on Stream-Properties-Object (B7DC0791-A9B7-11CF-8EE6-00C00C205365)\n if (check([0x40, 0x9E, 0x69, 0xF8, 0x4D, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B], {\n offset: _offset + 24\n })) {\n // Found audio:\n return {\n ext: 'wma',\n mime: 'audio/x-ms-wma'\n };\n }\n\n if (check([0xC0, 0xEF, 0x19, 0xBC, 0x4D, 0x5B, 0xCF, 0x11, 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44, 0x2B], {\n offset: _offset + 24\n })) {\n // Found video:\n return {\n ext: 'wmv',\n mime: 'video/x-ms-asf'\n };\n }\n\n break;\n }\n\n _offset += objectSize;\n } while (_offset + 24 <= buf.length); // Default to ASF generic extension\n\n\n return {\n ext: 'asf',\n mime: 'application/vnd.ms-asf'\n };\n }\n\n if (check([0x0, 0x0, 0x1, 0xBA]) || check([0x0, 0x0, 0x1, 0xB3])) {\n return {\n ext: 'mpg',\n mime: 'video/mpeg'\n };\n }\n\n if (check([0x66, 0x74, 0x79, 0x70, 0x33, 0x67], {\n offset: 4\n })) {\n return {\n ext: '3gp',\n mime: 'video/3gpp'\n };\n } // Check for MPEG header at different starting offsets\n\n\n for (var start = 0; start < 2 && start < buf.length - 16; start++) {\n if (check([0x49, 0x44, 0x33], {\n offset: start\n }) || // ID3 header\n check([0xFF, 0xE2], {\n offset: start,\n mask: [0xFF, 0xE2]\n }) // MPEG 1 or 2 Layer 3 header\n ) {\n return {\n ext: 'mp3',\n mime: 'audio/mpeg'\n };\n }\n\n if (check([0xFF, 0xE4], {\n offset: start,\n mask: [0xFF, 0xE4]\n }) // MPEG 1 or 2 Layer 2 header\n ) {\n return {\n ext: 'mp2',\n mime: 'audio/mpeg'\n };\n }\n\n if (check([0xFF, 0xF8], {\n offset: start,\n mask: [0xFF, 0xFC]\n }) // MPEG 2 layer 0 using ADTS\n ) {\n return {\n ext: 'mp2',\n mime: 'audio/mpeg'\n };\n }\n\n if (check([0xFF, 0xF0], {\n offset: start,\n mask: [0xFF, 0xFC]\n }) // MPEG 4 layer 0 using ADTS\n ) {\n return {\n ext: 'mp4',\n mime: 'audio/mpeg'\n };\n }\n }\n\n if (check([0x66, 0x74, 0x79, 0x70, 0x4D, 0x34, 0x41], {\n offset: 4\n })) {\n return {\n // MPEG-4 layer 3 (audio)\n ext: 'm4a',\n mime: 'audio/mp4' // RFC 4337\n\n };\n } // Needs to be before `ogg` check\n\n\n if (check([0x4F, 0x70, 0x75, 0x73, 0x48, 0x65, 0x61, 0x64], {\n offset: 28\n })) {\n return {\n ext: 'opus',\n mime: 'audio/opus'\n };\n } // If 'OggS' in first bytes, then OGG container\n\n\n if (check([0x4F, 0x67, 0x67, 0x53])) {\n // This is a OGG container\n // If ' theora' in header.\n if (check([0x80, 0x74, 0x68, 0x65, 0x6F, 0x72, 0x61], {\n offset: 28\n })) {\n return {\n ext: 'ogv',\n mime: 'video/ogg'\n };\n } // If '\\x01video' in header.\n\n\n if (check([0x01, 0x76, 0x69, 0x64, 0x65, 0x6F, 0x00], {\n offset: 28\n })) {\n return {\n ext: 'ogm',\n mime: 'video/ogg'\n };\n } // If ' FLAC' in header https://xiph.org/flac/faq.html\n\n\n if (check([0x7F, 0x46, 0x4C, 0x41, 0x43], {\n offset: 28\n })) {\n return {\n ext: 'oga',\n mime: 'audio/ogg'\n };\n } // 'Speex ' in header https://en.wikipedia.org/wiki/Speex\n\n\n if (check([0x53, 0x70, 0x65, 0x65, 0x78, 0x20, 0x20], {\n offset: 28\n })) {\n return {\n ext: 'spx',\n mime: 'audio/ogg'\n };\n } // If '\\x01vorbis' in header\n\n\n if (check([0x01, 0x76, 0x6F, 0x72, 0x62, 0x69, 0x73], {\n offset: 28\n })) {\n return {\n ext: 'ogg',\n mime: 'audio/ogg'\n };\n } // Default OGG container https://www.iana.org/assignments/media-types/application/ogg\n\n\n return {\n ext: 'ogx',\n mime: 'application/ogg'\n };\n }\n\n if (check([0x66, 0x4C, 0x61, 0x43])) {\n return {\n ext: 'flac',\n mime: 'audio/x-flac'\n };\n }\n\n if (check([0x4D, 0x41, 0x43, 0x20])) {\n // 'MAC '\n return {\n ext: 'ape',\n mime: 'audio/ape'\n };\n }\n\n if (check([0x77, 0x76, 0x70, 0x6B])) {\n // 'wvpk'\n return {\n ext: 'wv',\n mime: 'audio/wavpack'\n };\n }\n\n if (check([0x23, 0x21, 0x41, 0x4D, 0x52, 0x0A])) {\n return {\n ext: 'amr',\n mime: 'audio/amr'\n };\n }\n\n if (check([0x25, 0x50, 0x44, 0x46])) {\n return {\n ext: 'pdf',\n mime: 'application/pdf'\n };\n }\n\n if (check([0x4D, 0x5A])) {\n return {\n ext: 'exe',\n mime: 'application/x-msdownload'\n };\n }\n\n if ((buf[0] === 0x43 || buf[0] === 0x46) && check([0x57, 0x53], {\n offset: 1\n })) {\n return {\n ext: 'swf',\n mime: 'application/x-shockwave-flash'\n };\n }\n\n if (check([0x7B, 0x5C, 0x72, 0x74, 0x66])) {\n return {\n ext: 'rtf',\n mime: 'application/rtf'\n };\n }\n\n if (check([0x00, 0x61, 0x73, 0x6D])) {\n return {\n ext: 'wasm',\n mime: 'application/wasm'\n };\n }\n\n if (check([0x77, 0x4F, 0x46, 0x46]) && (check([0x00, 0x01, 0x00, 0x00], {\n offset: 4\n }) || check([0x4F, 0x54, 0x54, 0x4F], {\n offset: 4\n }))) {\n return {\n ext: 'woff',\n mime: 'font/woff'\n };\n }\n\n if (check([0x77, 0x4F, 0x46, 0x32]) && (check([0x00, 0x01, 0x00, 0x00], {\n offset: 4\n }) || check([0x4F, 0x54, 0x54, 0x4F], {\n offset: 4\n }))) {\n return {\n ext: 'woff2',\n mime: 'font/woff2'\n };\n }\n\n if (check([0x4C, 0x50], {\n offset: 34\n }) && (check([0x00, 0x00, 0x01], {\n offset: 8\n }) || check([0x01, 0x00, 0x02], {\n offset: 8\n }) || check([0x02, 0x00, 0x02], {\n offset: 8\n }))) {\n return {\n ext: 'eot',\n mime: 'application/vnd.ms-fontobject'\n };\n }\n\n if (check([0x00, 0x01, 0x00, 0x00, 0x00])) {\n return {\n ext: 'ttf',\n mime: 'font/ttf'\n };\n }\n\n if (check([0x4F, 0x54, 0x54, 0x4F, 0x00])) {\n return {\n ext: 'otf',\n mime: 'font/otf'\n };\n }\n\n if (check([0x00, 0x00, 0x01, 0x00])) {\n return {\n ext: 'ico',\n mime: 'image/x-icon'\n };\n }\n\n if (check([0x00, 0x00, 0x02, 0x00])) {\n return {\n ext: 'cur',\n mime: 'image/x-icon'\n };\n }\n\n if (check([0x46, 0x4C, 0x56, 0x01])) {\n return {\n ext: 'flv',\n mime: 'video/x-flv'\n };\n }\n\n if (check([0x25, 0x21])) {\n return {\n ext: 'ps',\n mime: 'application/postscript'\n };\n }\n\n if (check([0xFD, 0x37, 0x7A, 0x58, 0x5A, 0x00])) {\n return {\n ext: 'xz',\n mime: 'application/x-xz'\n };\n }\n\n if (check([0x53, 0x51, 0x4C, 0x69])) {\n return {\n ext: 'sqlite',\n mime: 'application/x-sqlite3'\n };\n }\n\n if (check([0x4E, 0x45, 0x53, 0x1A])) {\n return {\n ext: 'nes',\n mime: 'application/x-nintendo-nes-rom'\n };\n }\n\n if (check([0x43, 0x72, 0x32, 0x34])) {\n return {\n ext: 'crx',\n mime: 'application/x-google-chrome-extension'\n };\n }\n\n if (check([0x4D, 0x53, 0x43, 0x46]) || check([0x49, 0x53, 0x63, 0x28])) {\n return {\n ext: 'cab',\n mime: 'application/vnd.ms-cab-compressed'\n };\n } // Needs to be before `ar` check\n\n\n if (check([0x21, 0x3C, 0x61, 0x72, 0x63, 0x68, 0x3E, 0x0A, 0x64, 0x65, 0x62, 0x69, 0x61, 0x6E, 0x2D, 0x62, 0x69, 0x6E, 0x61, 0x72, 0x79])) {\n return {\n ext: 'deb',\n mime: 'application/x-deb'\n };\n }\n\n if (check([0x21, 0x3C, 0x61, 0x72, 0x63, 0x68, 0x3E])) {\n return {\n ext: 'ar',\n mime: 'application/x-unix-archive'\n };\n }\n\n if (check([0xED, 0xAB, 0xEE, 0xDB])) {\n return {\n ext: 'rpm',\n mime: 'application/x-rpm'\n };\n }\n\n if (check([0x1F, 0xA0]) || check([0x1F, 0x9D])) {\n return {\n ext: 'Z',\n mime: 'application/x-compress'\n };\n }\n\n if (check([0x4C, 0x5A, 0x49, 0x50])) {\n return {\n ext: 'lz',\n mime: 'application/x-lzip'\n };\n }\n\n if (check([0xD0, 0xCF, 0x11, 0xE0, 0xA1, 0xB1, 0x1A, 0xE1])) {\n return {\n ext: 'msi',\n mime: 'application/x-msi'\n };\n }\n\n if (check([0x06, 0x0E, 0x2B, 0x34, 0x02, 0x05, 0x01, 0x01, 0x0D, 0x01, 0x02, 0x01, 0x01, 0x02])) {\n return {\n ext: 'mxf',\n mime: 'application/mxf'\n };\n }\n\n if (check([0x47], {\n offset: 4\n }) && (check([0x47], {\n offset: 192\n }) || check([0x47], {\n offset: 196\n }))) {\n return {\n ext: 'mts',\n mime: 'video/mp2t'\n };\n }\n\n if (check([0x42, 0x4C, 0x45, 0x4E, 0x44, 0x45, 0x52])) {\n return {\n ext: 'blend',\n mime: 'application/x-blender'\n };\n }\n\n if (check([0x42, 0x50, 0x47, 0xFB])) {\n return {\n ext: 'bpg',\n mime: 'image/bpg'\n };\n }\n\n if (check([0x00, 0x00, 0x00, 0x0C, 0x6A, 0x50, 0x20, 0x20, 0x0D, 0x0A, 0x87, 0x0A])) {\n // JPEG-2000 family\n if (check([0x6A, 0x70, 0x32, 0x20], {\n offset: 20\n })) {\n return {\n ext: 'jp2',\n mime: 'image/jp2'\n };\n }\n\n if (check([0x6A, 0x70, 0x78, 0x20], {\n offset: 20\n })) {\n return {\n ext: 'jpx',\n mime: 'image/jpx'\n };\n }\n\n if (check([0x6A, 0x70, 0x6D, 0x20], {\n offset: 20\n })) {\n return {\n ext: 'jpm',\n mime: 'image/jpm'\n };\n }\n\n if (check([0x6D, 0x6A, 0x70, 0x32], {\n offset: 20\n })) {\n return {\n ext: 'mj2',\n mime: 'image/mj2'\n };\n }\n }\n\n if (check([0x46, 0x4F, 0x52, 0x4D])) {\n return {\n ext: 'aif',\n mime: 'audio/aiff'\n };\n }\n\n if (checkString('\n * @license MIT\n */\nmodule.exports = function isBuffer(obj) {\n return obj != null && obj.constructor != null && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj);\n};","'use strict';\n\nvar utils = require('./../utils');\n\nvar settle = require('./../core/settle');\n\nvar buildURL = require('./../helpers/buildURL');\n\nvar parseHeaders = require('./../helpers/parseHeaders');\n\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\n\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest(); // HTTP basic authentication\n\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true); // Set the request timeout in MS\n\n request.timeout = config.timeout; // Listen for ready state\n\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n } // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n\n\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n } // Prepare the response\n\n\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n settle(resolve, reject, response); // Clean up request\n\n request = null;\n }; // Handle low level network errors\n\n\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request)); // Clean up request\n\n request = null;\n }; // Handle timeout\n\n\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', request)); // Clean up request\n\n request = null;\n }; // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies'); // Add xsrf header\n\n\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ? cookies.read(config.xsrfCookieName) : undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n } // Add headers to the request\n\n\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n } // Add withCredentials to request if needed\n\n\n if (config.withCredentials) {\n request.withCredentials = true;\n } // Add responseType to request if needed\n\n\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n } // Handle progress if needed\n\n\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n } // Not all browsers support upload events\n\n\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel); // Clean up request\n\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n } // Send the request\n\n\n request.send(requestData);\n });\n};","'use strict';\n\nvar enhanceError = require('./enhanceError');\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\n\n\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};","'use strict';\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\n\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\nmodule.exports = Cancel;","/*globals define, module, Symbol */\n\n/*jshint -W056 */\n(function (globals) {\n 'use strict';\n\n var strings, messages, predicates, functions, assert, not, maybe, collections, slice, neginf, posinf, isArray, haveSymbols;\n strings = {\n v: 'value',\n n: 'number',\n s: 'string',\n b: 'boolean',\n o: 'object',\n t: 'type',\n a: 'array',\n al: 'array-like',\n i: 'iterable',\n d: 'date',\n f: 'function',\n l: 'length'\n };\n messages = {};\n predicates = {};\n [{\n n: 'equal',\n f: equal,\n s: 'v'\n }, {\n n: 'undefined',\n f: isUndefined,\n s: 'v'\n }, {\n n: 'null',\n f: isNull,\n s: 'v'\n }, {\n n: 'assigned',\n f: assigned,\n s: 'v'\n }, {\n n: 'primitive',\n f: primitive,\n s: 'v'\n }, {\n n: 'includes',\n f: includes,\n s: 'v'\n }, {\n n: 'zero',\n f: zero\n }, {\n n: 'infinity',\n f: infinity\n }, {\n n: 'number',\n f: number\n }, {\n n: 'integer',\n f: integer\n }, {\n n: 'even',\n f: even\n }, {\n n: 'odd',\n f: odd\n }, {\n n: 'greater',\n f: greater\n }, {\n n: 'less',\n f: less\n }, {\n n: 'between',\n f: between\n }, {\n n: 'greaterOrEqual',\n f: greaterOrEqual\n }, {\n n: 'lessOrEqual',\n f: lessOrEqual\n }, {\n n: 'inRange',\n f: inRange\n }, {\n n: 'positive',\n f: positive\n }, {\n n: 'negative',\n f: negative\n }, {\n n: 'string',\n f: string,\n s: 's'\n }, {\n n: 'emptyString',\n f: emptyString,\n s: 's'\n }, {\n n: 'nonEmptyString',\n f: nonEmptyString,\n s: 's'\n }, {\n n: 'contains',\n f: contains,\n s: 's'\n }, {\n n: 'match',\n f: match,\n s: 's'\n }, {\n n: 'boolean',\n f: boolean,\n s: 'b'\n }, {\n n: 'object',\n f: object,\n s: 'o'\n }, {\n n: 'emptyObject',\n f: emptyObject,\n s: 'o'\n }, {\n n: 'nonEmptyObject',\n f: nonEmptyObject,\n s: 'o'\n }, {\n n: 'instanceStrict',\n f: instanceStrict,\n s: 't'\n }, {\n n: 'instance',\n f: instance,\n s: 't'\n }, {\n n: 'like',\n f: like,\n s: 't'\n }, {\n n: 'array',\n f: array,\n s: 'a'\n }, {\n n: 'emptyArray',\n f: emptyArray,\n s: 'a'\n }, {\n n: 'nonEmptyArray',\n f: nonEmptyArray,\n s: 'a'\n }, {\n n: 'arrayLike',\n f: arrayLike,\n s: 'al'\n }, {\n n: 'iterable',\n f: iterable,\n s: 'i'\n }, {\n n: 'date',\n f: date,\n s: 'd'\n }, {\n n: 'function',\n f: isFunction,\n s: 'f'\n }, {\n n: 'hasLength',\n f: hasLength,\n s: 'l'\n }].map(function (data) {\n var n = data.n;\n messages[n] = 'Invalid ' + strings[data.s || 'n'];\n predicates[n] = data.f;\n });\n functions = {\n apply: apply,\n map: map,\n all: all,\n any: any\n };\n collections = ['array', 'arrayLike', 'iterable', 'object'];\n slice = Array.prototype.slice;\n neginf = Number.NEGATIVE_INFINITY;\n posinf = Number.POSITIVE_INFINITY;\n isArray = Array.isArray;\n haveSymbols = typeof Symbol === 'function';\n functions = mixin(functions, predicates);\n assert = createModifiedPredicates(assertModifier, assertImpl);\n not = createModifiedPredicates(notModifier, notImpl);\n maybe = createModifiedPredicates(maybeModifier, maybeImpl);\n assert.not = createModifiedModifier(assertModifier, not);\n assert.maybe = createModifiedModifier(assertModifier, maybe);\n collections.forEach(createOfPredicates);\n createOfModifiers(assert, assertModifier);\n createOfModifiers(not, notModifier);\n collections.forEach(createMaybeOfModifiers);\n exportFunctions(mixin(functions, {\n assert: assert,\n not: not,\n maybe: maybe\n }));\n /**\n * Public function `equal`.\n *\n * Returns true if `lhs` and `rhs` are strictly equal, without coercion.\n * Returns false otherwise.\n */\n\n function equal(lhs, rhs) {\n return lhs === rhs;\n }\n /**\n * Public function `undefined`.\n *\n * Returns true if `data` is undefined, false otherwise.\n */\n\n\n function isUndefined(data) {\n return data === undefined;\n }\n /**\n * Public function `null`.\n *\n * Returns true if `data` is null, false otherwise.\n */\n\n\n function isNull(data) {\n return data === null;\n }\n /**\n * Public function `assigned`.\n *\n * Returns true if `data` is not null or undefined, false otherwise.\n */\n\n\n function assigned(data) {\n return data !== undefined && data !== null;\n }\n /**\n * Public function `primitive`.\n *\n * Returns true if `data` is a primitive type, false otherwise.\n */\n\n\n function primitive(data) {\n var type;\n\n switch (data) {\n case null:\n case undefined:\n case false:\n case true:\n return true;\n }\n\n type = typeof data;\n return type === 'string' || type === 'number' || haveSymbols && type === 'symbol';\n }\n /**\n * Public function `zero`.\n *\n * Returns true if `data` is zero, false otherwise.\n */\n\n\n function zero(data) {\n return data === 0;\n }\n /**\n * Public function `infinity`.\n *\n * Returns true if `data` is positive or negative infinity, false otherwise.\n */\n\n\n function infinity(data) {\n return data === neginf || data === posinf;\n }\n /**\n * Public function `number`.\n *\n * Returns true if `data` is a number, false otherwise.\n */\n\n\n function number(data) {\n return typeof data === 'number' && data > neginf && data < posinf;\n }\n /**\n * Public function `integer`.\n *\n * Returns true if `data` is an integer, false otherwise.\n */\n\n\n function integer(data) {\n return typeof data === 'number' && data % 1 === 0;\n }\n /**\n * Public function `even`.\n *\n * Returns true if `data` is an even number, false otherwise.\n */\n\n\n function even(data) {\n return typeof data === 'number' && data % 2 === 0;\n }\n /**\n * Public function `odd`.\n *\n * Returns true if `data` is an odd number, false otherwise.\n */\n\n\n function odd(data) {\n return integer(data) && data % 2 !== 0;\n }\n /**\n * Public function `greater`.\n *\n * Returns true if `lhs` is a number greater than `rhs`, false otherwise.\n */\n\n\n function greater(lhs, rhs) {\n return number(lhs) && lhs > rhs;\n }\n /**\n * Public function `less`.\n *\n * Returns true if `lhs` is a number less than `rhs`, false otherwise.\n */\n\n\n function less(lhs, rhs) {\n return number(lhs) && lhs < rhs;\n }\n /**\n * Public function `between`.\n *\n * Returns true if `data` is a number between `x` and `y`, false otherwise.\n */\n\n\n function between(data, x, y) {\n if (x < y) {\n return greater(data, x) && data < y;\n }\n\n return less(data, x) && data > y;\n }\n /**\n * Public function `greaterOrEqual`.\n *\n * Returns true if `lhs` is a number greater than or equal to `rhs`, false\n * otherwise.\n */\n\n\n function greaterOrEqual(lhs, rhs) {\n return number(lhs) && lhs >= rhs;\n }\n /**\n * Public function `lessOrEqual`.\n *\n * Returns true if `lhs` is a number less than or equal to `rhs`, false\n * otherwise.\n */\n\n\n function lessOrEqual(lhs, rhs) {\n return number(lhs) && lhs <= rhs;\n }\n /**\n * Public function `inRange`.\n *\n * Returns true if `data` is a number in the range `x..y`, false otherwise.\n */\n\n\n function inRange(data, x, y) {\n if (x < y) {\n return greaterOrEqual(data, x) && data <= y;\n }\n\n return lessOrEqual(data, x) && data >= y;\n }\n /**\n * Public function `positive`.\n *\n * Returns true if `data` is a positive number, false otherwise.\n */\n\n\n function positive(data) {\n return greater(data, 0);\n }\n /**\n * Public function `negative`.\n *\n * Returns true if `data` is a negative number, false otherwise.\n */\n\n\n function negative(data) {\n return less(data, 0);\n }\n /**\n * Public function `string`.\n *\n * Returns true if `data` is a string, false otherwise.\n */\n\n\n function string(data) {\n return typeof data === 'string';\n }\n /**\n * Public function `emptyString`.\n *\n * Returns true if `data` is the empty string, false otherwise.\n */\n\n\n function emptyString(data) {\n return data === '';\n }\n /**\n * Public function `nonEmptyString`.\n *\n * Returns true if `data` is a non-empty string, false otherwise.\n */\n\n\n function nonEmptyString(data) {\n return string(data) && data !== '';\n }\n /**\n * Public function `contains`.\n *\n * Returns true if `data` is a string that contains `substring`, false\n * otherwise.\n */\n\n\n function contains(data, substring) {\n return string(data) && data.indexOf(substring) !== -1;\n }\n /**\n * Public function `match`.\n *\n * Returns true if `data` is a string that matches `regex`, false otherwise.\n */\n\n\n function match(data, regex) {\n return string(data) && !!data.match(regex);\n }\n /**\n * Public function `boolean`.\n *\n * Returns true if `data` is a boolean value, false otherwise.\n */\n\n\n function boolean(data) {\n return data === false || data === true;\n }\n /**\n * Public function `object`.\n *\n * Returns true if `data` is a plain-old JS object, false otherwise.\n */\n\n\n function object(data) {\n return Object.prototype.toString.call(data) === '[object Object]';\n }\n /**\n * Public function `emptyObject`.\n *\n * Returns true if `data` is an empty object, false otherwise.\n */\n\n\n function emptyObject(data) {\n return object(data) && Object.keys(data).length === 0;\n }\n /**\n * Public function `nonEmptyObject`.\n *\n * Returns true if `data` is a non-empty object, false otherwise.\n */\n\n\n function nonEmptyObject(data) {\n return object(data) && Object.keys(data).length > 0;\n }\n /**\n * Public function `instanceStrict`.\n *\n * Returns true if `data` is an instance of `prototype`, false otherwise.\n */\n\n\n function instanceStrict(data, prototype) {\n try {\n return data instanceof prototype;\n } catch (error) {\n return false;\n }\n }\n /**\n * Public function `instance`.\n *\n * Returns true if `data` is an instance of `prototype`, false otherwise.\n * Falls back to testing constructor.name and Object.prototype.toString\n * if the initial instanceof test fails.\n */\n\n\n function instance(data, prototype) {\n try {\n return instanceStrict(data, prototype) || data.constructor.name === prototype.name || Object.prototype.toString.call(data) === '[object ' + prototype.name + ']';\n } catch (error) {\n return false;\n }\n }\n /**\n * Public function `like`.\n *\n * Tests whether `data` 'quacks like a duck'. Returns true if `data` has all\n * of the properties of `archetype` (the 'duck'), false otherwise.\n */\n\n\n function like(data, archetype) {\n var name;\n\n for (name in archetype) {\n if (archetype.hasOwnProperty(name)) {\n if (data.hasOwnProperty(name) === false || typeof data[name] !== typeof archetype[name]) {\n return false;\n }\n\n if (object(data[name]) && like(data[name], archetype[name]) === false) {\n return false;\n }\n }\n }\n\n return true;\n }\n /**\n * Public function `array`.\n *\n * Returns true if `data` is an array, false otherwise.\n */\n\n\n function array(data) {\n return isArray(data);\n }\n /**\n * Public function `emptyArray`.\n *\n * Returns true if `data` is an empty array, false otherwise.\n */\n\n\n function emptyArray(data) {\n return array(data) && data.length === 0;\n }\n /**\n * Public function `nonEmptyArray`.\n *\n * Returns true if `data` is a non-empty array, false otherwise.\n */\n\n\n function nonEmptyArray(data) {\n return array(data) && greater(data.length, 0);\n }\n /**\n * Public function `arrayLike`.\n *\n * Returns true if `data` is an array-like object, false otherwise.\n */\n\n\n function arrayLike(data) {\n return assigned(data) && greaterOrEqual(data.length, 0);\n }\n /**\n * Public function `iterable`.\n *\n * Returns true if `data` is an iterable, false otherwise.\n */\n\n\n function iterable(data) {\n if (!haveSymbols) {\n // Fall back to `arrayLike` predicate in pre-ES6 environments.\n return arrayLike(data);\n }\n\n return assigned(data) && isFunction(data[Symbol.iterator]);\n }\n /**\n * Public function `includes`.\n *\n * Returns true if `data` contains `value`, false otherwise.\n */\n\n\n function includes(data, value) {\n var iterator, iteration, keys, length, i;\n\n if (!assigned(data)) {\n return false;\n }\n\n if (haveSymbols && data[Symbol.iterator] && isFunction(data.values)) {\n iterator = data.values();\n\n do {\n iteration = iterator.next();\n\n if (iteration.value === value) {\n return true;\n }\n } while (!iteration.done);\n\n return false;\n }\n\n keys = Object.keys(data);\n length = keys.length;\n\n for (i = 0; i < length; ++i) {\n if (data[keys[i]] === value) {\n return true;\n }\n }\n\n return false;\n }\n /**\n * Public function `hasLength`.\n *\n * Returns true if `data` has a length property that equals `length`, false\n * otherwise.\n */\n\n\n function hasLength(data, length) {\n return assigned(data) && data.length === length;\n }\n /**\n * Public function `date`.\n *\n * Returns true if `data` is a valid date, false otherwise.\n */\n\n\n function date(data) {\n return instanceStrict(data, Date) && integer(data.getTime());\n }\n /**\n * Public function `function`.\n *\n * Returns true if `data` is a function, false otherwise.\n */\n\n\n function isFunction(data) {\n return typeof data === 'function';\n }\n /**\n * Public function `apply`.\n *\n * Maps each value from the `data` to the corresponding predicate and returns\n * the result array. If the same function is to be applied across all of the\n * data, a single predicate function may be passed in.\n *\n */\n\n\n function apply(data, predicates) {\n assert.array(data);\n\n if (isFunction(predicates)) {\n return data.map(function (value) {\n return predicates(value);\n });\n }\n\n assert.array(predicates);\n assert.hasLength(data, predicates.length);\n return data.map(function (value, index) {\n return predicates[index](value);\n });\n }\n /**\n * Public function `map`.\n *\n * Maps each value from the `data` to the corresponding predicate and returns\n * the result object. Supports nested objects. If the `data` is not nested and\n * the same function is to be applied across all of it, a single predicate\n * function may be passed in.\n *\n */\n\n\n function map(data, predicates) {\n assert.object(data);\n\n if (isFunction(predicates)) {\n return mapSimple(data, predicates);\n }\n\n assert.object(predicates);\n return mapComplex(data, predicates);\n }\n\n function mapSimple(data, predicate) {\n var result = {};\n Object.keys(data).forEach(function (key) {\n result[key] = predicate(data[key]);\n });\n return result;\n }\n\n function mapComplex(data, predicates) {\n var result = {};\n Object.keys(predicates).forEach(function (key) {\n var predicate = predicates[key];\n\n if (isFunction(predicate)) {\n if (not.assigned(data)) {\n result[key] = !!predicate.m;\n } else {\n result[key] = predicate(data[key]);\n }\n } else if (object(predicate)) {\n result[key] = mapComplex(data[key], predicate);\n }\n });\n return result;\n }\n /**\n * Public function `all`\n *\n * Check that all boolean values are true\n * in an array (returned from `apply`)\n * or object (returned from `map`).\n *\n */\n\n\n function all(data) {\n if (array(data)) {\n return testArray(data, false);\n }\n\n assert.object(data);\n return testObject(data, false);\n }\n\n function testArray(data, result) {\n var i;\n\n for (i = 0; i < data.length; i += 1) {\n if (data[i] === result) {\n return result;\n }\n }\n\n return !result;\n }\n\n function testObject(data, result) {\n var key, value;\n\n for (key in data) {\n if (data.hasOwnProperty(key)) {\n value = data[key];\n\n if (object(value) && testObject(value, result) === result) {\n return result;\n }\n\n if (value === result) {\n return result;\n }\n }\n }\n\n return !result;\n }\n /**\n * Public function `any`\n *\n * Check that at least one boolean value is true\n * in an array (returned from `apply`)\n * or object (returned from `map`).\n *\n */\n\n\n function any(data) {\n if (array(data)) {\n return testArray(data, true);\n }\n\n assert.object(data);\n return testObject(data, true);\n }\n\n function mixin(target, source) {\n Object.keys(source).forEach(function (key) {\n target[key] = source[key];\n });\n return target;\n }\n /**\n * Public modifier `assert`.\n *\n * Throws if `predicate` returns false.\n */\n\n\n function assertModifier(predicate, defaultMessage) {\n return function () {\n return assertPredicate(predicate, arguments, defaultMessage);\n };\n }\n\n function assertPredicate(predicate, args, defaultMessage) {\n var argCount = predicate.l || predicate.length;\n var message = args[argCount];\n var ErrorType = args[argCount + 1];\n assertImpl(predicate.apply(null, args), nonEmptyString(message) ? message : defaultMessage, isFunction(ErrorType) ? ErrorType : TypeError);\n return args[0];\n }\n\n function assertImpl(value, message, ErrorType) {\n if (value) {\n return value;\n }\n\n throw new (ErrorType || Error)(message || 'Assertion failed');\n }\n /**\n * Public modifier `not`.\n *\n * Negates `predicate`.\n */\n\n\n function notModifier(predicate) {\n var modifiedPredicate = function modifiedPredicate() {\n return notImpl(predicate.apply(null, arguments));\n };\n\n modifiedPredicate.l = predicate.length;\n return modifiedPredicate;\n }\n\n function notImpl(value) {\n return !value;\n }\n /**\n * Public modifier `maybe`.\n *\n * Returns true if predicate argument is null or undefined,\n * otherwise propagates the return value from `predicate`.\n */\n\n\n function maybeModifier(predicate) {\n var modifiedPredicate = function modifiedPredicate() {\n if (not.assigned(arguments[0])) {\n return true;\n }\n\n return predicate.apply(null, arguments);\n };\n\n modifiedPredicate.l = predicate.length; // Hackishly indicate that this is a maybe.xxx predicate.\n // Without this flag, the alternative would be to iterate\n // through the maybe predicates or use indexOf to check,\n // which would be time-consuming.\n\n modifiedPredicate.m = true;\n return modifiedPredicate;\n }\n\n function maybeImpl(value) {\n if (assigned(value) === false) {\n return true;\n }\n\n return value;\n }\n /**\n * Public modifier `of`.\n *\n * Applies the chained predicate to members of the collection.\n */\n\n\n function ofModifier(target, type, predicate) {\n var modifiedPredicate = function modifiedPredicate() {\n var collection, args;\n collection = arguments[0];\n\n if (target === 'maybe' && not.assigned(collection)) {\n return true;\n }\n\n if (!type(collection)) {\n return false;\n }\n\n collection = coerceCollection(type, collection);\n args = slice.call(arguments, 1);\n\n try {\n collection.forEach(function (item) {\n if ((target !== 'maybe' || assigned(item)) && !predicate.apply(null, [item].concat(args))) {\n // TODO: Replace with for...of when ES6 is required.\n throw 0;\n }\n });\n } catch (ignore) {\n return false;\n }\n\n return true;\n };\n\n modifiedPredicate.l = predicate.length;\n return modifiedPredicate;\n }\n\n function coerceCollection(type, collection) {\n switch (type) {\n case arrayLike:\n return slice.call(collection);\n\n case object:\n return Object.keys(collection).map(function (key) {\n return collection[key];\n });\n\n default:\n return collection;\n }\n }\n\n function createModifiedPredicates(modifier, object) {\n return createModifiedFunctions([modifier, predicates, object]);\n }\n\n function createModifiedFunctions(args) {\n var modifier, object, functions, result;\n modifier = args.shift();\n object = args.pop();\n functions = args.pop();\n result = object || {};\n Object.keys(functions).forEach(function (key) {\n Object.defineProperty(result, key, {\n configurable: false,\n enumerable: true,\n writable: false,\n value: modifier.apply(null, args.concat(functions[key], messages[key]))\n });\n });\n return result;\n }\n\n function createModifiedModifier(modifier, modified) {\n return createModifiedFunctions([modifier, modified, null]);\n }\n\n function createOfPredicates(key) {\n predicates[key].of = createModifiedFunctions([ofModifier.bind(null, null), predicates[key], predicates, null]);\n }\n\n function createOfModifiers(base, modifier) {\n collections.forEach(function (key) {\n base[key].of = createModifiedModifier(modifier, predicates[key].of);\n });\n }\n\n function createMaybeOfModifiers(key) {\n maybe[key].of = createModifiedFunctions([ofModifier.bind(null, 'maybe'), predicates[key], predicates, null]);\n assert.maybe[key].of = createModifiedModifier(assertModifier, maybe[key].of);\n assert.not[key].of = createModifiedModifier(assertModifier, not[key].of);\n }\n\n function exportFunctions(functions) {\n if (typeof define === 'function' && define.amd) {\n define(function () {\n return functions;\n });\n } else if (typeof module !== 'undefined' && module !== null && module.exports) {\n module.exports = functions;\n } else {\n globals.check = functions;\n }\n }\n})(this);","// Copyright 2014 Simon Lydell\n// X11 (“MIT”) Licensed. (See LICENSE.)\nvoid function (root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define(factory);\n } else if (typeof exports === \"object\") {\n module.exports = factory();\n } else {\n root.resolveUrl = factory();\n }\n}(this, function () {\n function resolveUrl()\n /* ...urls */\n {\n var numUrls = arguments.length;\n\n if (numUrls === 0) {\n throw new Error(\"resolveUrl requires at least one argument; got none.\");\n }\n\n var base = document.createElement(\"base\");\n base.href = arguments[0];\n\n if (numUrls === 1) {\n return base.href;\n }\n\n var head = document.getElementsByTagName(\"head\")[0];\n head.insertBefore(base, head.firstChild);\n var a = document.createElement(\"a\");\n var resolved;\n\n for (var index = 1; index < numUrls; index++) {\n a.href = arguments[index];\n resolved = a.href;\n base.href = resolved;\n }\n\n head.removeChild(base);\n return resolved;\n }\n\n return resolveUrl;\n});","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/esm/extends\"));\n\n/**\n *\n * Tesseract Worker adapter for browser\n *\n * @fileoverview Tesseract Worker adapter for browser\n * @author Kevin Kwok \n * @author Guillermo Webster \n * @author Jerome Wu \n */\nvar check = require('check-types');\n\nvar resolveURL = require('resolve-url');\n\nvar axios = require('axios');\n\nvar b64toU8Array = require('./b64toU8Array');\n\nvar _require = require('../common/options'),\n defaultOptions = _require.defaultOptions;\n\nvar _require2 = require('../../package.json'),\n version = _require2.version;\n/**\n * readFromBlobOrFile\n *\n * @name readFromBlobOrFile\n * @function\n * @access private\n * @param {object} blob A blob or file objec to read\n * @param {function} res callback function after reading completes\n */\n\n\nvar readFromBlobOrFile = function readFromBlobOrFile(blob, res) {\n var fileReader = new FileReader();\n\n fileReader.onload = function () {\n res(fileReader.result);\n };\n\n fileReader.readAsArrayBuffer(blob);\n};\n/**\n * loadImage\n *\n * @name loadImage\n * @function load image from different source\n * @access private\n * @param {string, object} image - image source, supported formats:\n * string: URL string, can be relative path\n * string: base64 image\n * img HTMLElement: extract image source from src attribute\n * video HTMLElement: extract image source from poster attribute\n * canvas HTMLElement: extract image data by converting to Blob\n * File instance: data from \n * @returns {array} binary image in array format\n */\n\n\nvar loadImage = function loadImage(image) {\n if (check.string(image)) {\n // Base64 Image\n if (/data:image\\/([a-zA-Z]*);base64,([^\"]*)/.test(image)) {\n return Promise.resolve(b64toU8Array(image.split(',')[1]));\n } // Image URL\n\n\n return axios.get(resolveURL(image), {\n responseType: 'arraybuffer'\n }).then(function (resp) {\n return resp.data;\n });\n }\n\n if (check.instance(image, HTMLElement)) {\n if (image.tagName === 'IMG') {\n return loadImage(image.src);\n }\n\n if (image.tagName === 'VIDEO') {\n return loadImage(image.poster);\n }\n\n if (image.tagName === 'CANVAS') {\n return new Promise(function (res) {\n image.toBlob(function (blob) {\n readFromBlobOrFile(blob, res);\n });\n });\n }\n }\n\n if (check.instance(image, File) || check.instance(image, Blob)) {\n return new Promise(function (res) {\n readFromBlobOrFile(image, res);\n });\n }\n\n return Promise.reject();\n};\n\nvar downloadFile = function downloadFile(path, blob) {\n if (navigator.msSaveBlob) {\n // IE 10+\n navigator.msSaveBlob(blob, path);\n } else {\n var link = document.createElement('a'); // Browsers that support HTML5 download attribute\n\n if (link.download !== undefined) {\n var url = URL.createObjectURL(blob);\n link.setAttribute('href', url);\n link.setAttribute('download', path);\n link.style.visibility = 'hidden';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n }\n};\n/*\n * Default options for browser worker\n */\n\n\nexports.defaultOptions = (0, _extends2.default)({}, defaultOptions, {\n workerPath: typeof process !== 'undefined' && process.env.TESS_ENV === 'development' ? resolveURL(\"/dist/worker.dev.js?nocache=\" + Math.random().toString(36).slice(3)) : \"https://unpkg.com/tesseract.js@v\" + version + \"/dist/worker.min.js\",\n\n /*\n * If browser doesn't support WebAssembly,\n * load ASM version instead\n */\n corePath: \"https://unpkg.com/tesseract.js-core@v2.0.0-beta.10/tesseract-core.\" + (typeof WebAssembly === 'object' ? 'wasm' : 'asm') + \".js\"\n});\n/**\n * spawnWorker\n *\n * @name spawnWorker\n * @function create a new Worker in browser\n * @access public\n * @param {object} instance - TesseractWorker instance\n * @param {object} options\n * @param {string} options.workerPath - worker script path\n * @param {boolean} options.workerBlobURL - Use a blob:// URL for the worker script\n */\n\nexports.spawnWorker = function (instance, _ref) {\n var workerPath = _ref.workerPath,\n workerBlobURL = _ref.workerBlobURL;\n var worker;\n\n if (Blob && URL && workerBlobURL) {\n var blob = new Blob([\"importScripts(\\\"\" + workerPath + \"\\\");\"], {\n type: 'application/javascript'\n });\n worker = new Worker(URL.createObjectURL(blob));\n } else {\n worker = new Worker(workerPath);\n }\n\n worker.onmessage = function (_ref2) {\n var data = _ref2.data;\n\n if (data.jobId.startsWith('Job')) {\n instance.recv(data);\n } else if (data.jobId.startsWith('Download')) {\n var path = data.path,\n d = data.data,\n type = data.type;\n\n var _blob = new Blob([d], {\n type: type\n });\n\n downloadFile(path, _blob);\n }\n };\n\n return worker;\n};\n/**\n * terminateWorker\n *\n * @name terminateWorker\n * @function terminate worker\n * @access public\n * @param {object} instance TesseractWorker instance\n */\n\n\nexports.terminateWorker = function (instance) {\n instance.worker.terminate();\n};\n/**\n * sendPacket\n *\n * @name sendPacket\n * @function send packet to worker and create a job\n * @access public\n * @param {object} instance TesseractWorker instance\n * @param {object} iPacket data for worker\n */\n\n\nexports.sendPacket = function (instance, iPacket) {\n var packet = (0, _extends2.default)({}, iPacket);\n loadImage(packet.payload.image).then(function (buf) {\n return new Uint8Array(buf);\n }).then(function (img) {\n packet.payload.image = Array.from(img);\n instance.worker.postMessage(packet);\n });\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n\n return fn.apply(thisArg, args);\n };\n};","'use strict';\n\nvar utils = require('./../utils');\n\nvar settle = require('./../core/settle');\n\nvar buildURL = require('./../helpers/buildURL');\n\nvar parseHeaders = require('./../helpers/parseHeaders');\n\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\n\nvar createError = require('../core/createError');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest(); // HTTP basic authentication\n\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password || '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true); // Set the request timeout in MS\n\n request.timeout = config.timeout; // Listen for ready state\n\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n } // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n\n\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n } // Prepare the response\n\n\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n settle(resolve, reject, response); // Clean up request\n\n request = null;\n }; // Handle low level network errors\n\n\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request)); // Clean up request\n\n request = null;\n }; // Handle timeout\n\n\n request.ontimeout = function handleTimeout() {\n reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED', request)); // Clean up request\n\n request = null;\n }; // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n\n if (utils.isStandardBrowserEnv()) {\n var cookies = require('./../helpers/cookies'); // Add xsrf header\n\n\n var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ? cookies.read(config.xsrfCookieName) : undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n } // Add headers to the request\n\n\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n } // Add withCredentials to request if needed\n\n\n if (config.withCredentials) {\n request.withCredentials = true;\n } // Add responseType to request if needed\n\n\n if (config.responseType) {\n try {\n request.responseType = config.responseType;\n } catch (e) {\n // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\n // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\n if (config.responseType !== 'json') {\n throw e;\n }\n }\n } // Handle progress if needed\n\n\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n } // Not all browsers support upload events\n\n\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken) {\n // Handle cancellation\n config.cancelToken.promise.then(function onCanceled(cancel) {\n if (!request) {\n return;\n }\n\n request.abort();\n reject(cancel); // Clean up request\n\n request = null;\n });\n }\n\n if (requestData === undefined) {\n requestData = null;\n } // Send the request\n\n\n request.send(requestData);\n });\n};","'use strict';\n\nvar enhanceError = require('./enhanceError');\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\n\n\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};","'use strict';\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\n\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\nmodule.exports = Cancel;","\"use strict\";\n\nmodule.exports = {\n /*\n * OEM = OCR Engine Mode, and there are 5 possible modes.\n *\n * By default tesseract.js uses TESSERACT_LSTM_COMBINED mode, which uses LSTM when possible.\n * If you need to use some tesseract v3 features (like tessedit_char_whitelist),\n * you need to use TESSERACT_ONLY mode.\n *\n */\n OEM: {\n TESSERACT_ONLY: 0,\n LSTM_ONLY: 1,\n TESSERACT_LSTM_COMBINED: 2,\n DEFAULT: 3\n },\n\n /*\n * PSM = Page Segmentation Mode\n */\n PSM: {\n OSD_ONLY: '0',\n AUTO_OSD: '1',\n AUTO_ONLY: '2',\n AUTO: '3',\n SINGLE_COLUMN: '4',\n SINGLE_BLOCK_VERT_TEXT: '5',\n SINGLE_BLOCK: '6',\n SINGLE_LINE: '7',\n SINGLE_WORD: '8',\n SINGLE_CHAR: '9',\n SPARSE_TEXT: '10',\n SPARSE_TEXT_OSD: '11',\n RAW_LINE: '12'\n }\n};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/esm/extends\"));\n\nvar cache = require('./common/browser/cache');\n\nmodule.exports = {\n loadLang: require('./loadLang')((0, _extends2.default)({\n gunzip: require('./common/browser/gunzip')\n }, cache)),\n readImage: require('./readImage'),\n cache: cache\n};","\"use strict\";\n\nvar _require = require('idb-keyval'),\n set = _require.set,\n get = _require.get,\n del = _require.del;\n\nmodule.exports = {\n readCache: get,\n writeCache: set,\n deleteCache: del,\n checkCache: function checkCache(path) {\n return get(path).then(function (v) {\n return typeof v !== 'undefined';\n });\n }\n};","var Store = /*#__PURE__*/function () {\n function Store(dbName, storeName) {\n if (dbName === void 0) {\n dbName = 'keyval-store';\n }\n\n if (storeName === void 0) {\n storeName = 'keyval';\n }\n\n this.storeName = storeName;\n this._dbp = new Promise(function (resolve, reject) {\n var openreq = indexedDB.open(dbName, 1);\n\n openreq.onerror = function () {\n return reject(openreq.error);\n };\n\n openreq.onsuccess = function () {\n return resolve(openreq.result);\n }; // First time setup: create an empty object store\n\n\n openreq.onupgradeneeded = function () {\n openreq.result.createObjectStore(storeName);\n };\n });\n }\n\n var _proto = Store.prototype;\n\n _proto._withIDBStore = function _withIDBStore(type, callback) {\n var _this = this;\n\n return this._dbp.then(function (db) {\n return new Promise(function (resolve, reject) {\n var transaction = db.transaction(_this.storeName, type);\n\n transaction.oncomplete = function () {\n return resolve();\n };\n\n transaction.onabort = transaction.onerror = function () {\n return reject(transaction.error);\n };\n\n callback(transaction.objectStore(_this.storeName));\n });\n });\n };\n\n return Store;\n}();\n\nvar store;\n\nfunction getDefaultStore() {\n if (!store) store = new Store();\n return store;\n}\n\nfunction get(key, store) {\n if (store === void 0) {\n store = getDefaultStore();\n }\n\n var req;\n return store._withIDBStore('readonly', function (store) {\n req = store.get(key);\n }).then(function () {\n return req.result;\n });\n}\n\nfunction set(key, value, store) {\n if (store === void 0) {\n store = getDefaultStore();\n }\n\n return store._withIDBStore('readwrite', function (store) {\n store.put(value, key);\n });\n}\n\nfunction del(key, store) {\n if (store === void 0) {\n store = getDefaultStore();\n }\n\n return store._withIDBStore('readwrite', function (store) {\n store.delete(key);\n });\n}\n\nfunction clear(store) {\n if (store === void 0) {\n store = getDefaultStore();\n }\n\n return store._withIDBStore('readwrite', function (store) {\n store.clear();\n });\n}\n\nfunction keys(store) {\n if (store === void 0) {\n store = getDefaultStore();\n }\n\n var keys = [];\n return store._withIDBStore('readonly', function (store) {\n // This would be store.getAllKeys(), but it isn't supported by Edge or Safari.\n // And openKeyCursor isn't supported by Safari.\n (store.openKeyCursor || store.openCursor).call(store).onsuccess = function () {\n if (!this.result) return;\n keys.push(this.result.key);\n this.result.continue();\n };\n }).then(function () {\n return keys;\n });\n}\n\nexport { Store, get, set, del, clear, keys };","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/esm/extends\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\"));\n\nvar isURL = require('is-url');\n\nvar fileType = require('file-type');\n\nvar axios = require('axios');\n\nvar handleLang = function handleLang(modules) {\n return function (_ref) {\n var TessModule = _ref.TessModule,\n dataPath = _ref.dataPath,\n cachePath = _ref.cachePath,\n cacheMethod = _ref.cacheMethod,\n langCode = _ref.langCode;\n return function (data) {\n if (TessModule) {\n if (dataPath) {\n try {\n TessModule.FS.mkdir(dataPath);\n } catch (err) {// TODO: Do some error handling here.\n }\n }\n\n TessModule.FS.writeFile((dataPath || '.') + \"/\" + langCode + \".traineddata\", data);\n }\n\n if (['write', 'refresh', undefined].includes(cacheMethod)) {\n return modules.writeCache((cachePath || '.') + \"/\" + langCode + \".traineddata\", data).then(function () {\n return data;\n });\n }\n\n return data;\n };\n };\n};\n\nvar loadAndGunzipFile = function loadAndGunzipFile(modules) {\n return function (_ref2) {\n var langPath = _ref2.langPath,\n cachePath = _ref2.cachePath,\n cacheMethod = _ref2.cacheMethod,\n _ref2$gzip = _ref2.gzip,\n gzip = _ref2$gzip === void 0 ? true : _ref2$gzip,\n options = (0, _objectWithoutPropertiesLoose2.default)(_ref2, [\"langPath\", \"cachePath\", \"cacheMethod\", \"gzip\"]);\n return function (lang) {\n var langCode = typeof lang === 'string' ? lang : lang.code;\n\n var handleTraineddata = function handleTraineddata(data) {\n var type = fileType(data);\n\n if (type !== null && type.mime === 'application/gzip') {\n return modules.gunzip(new Uint8Array(data));\n }\n\n return new Uint8Array(data);\n };\n\n var doHandleLang = handleLang(modules)((0, _extends2.default)({\n cachePath: cachePath,\n cacheMethod: cacheMethod,\n langCode: langCode\n }, options));\n var readCache = modules.readCache;\n\n if (['refresh', 'none'].includes(cacheMethod)) {\n readCache = function readCache() {\n return Promise.resolve();\n };\n }\n\n return readCache((cachePath || '.') + \"/\" + langCode + \".traineddata\").then(function (data) {\n if (typeof data === 'undefined') {\n return Promise.reject();\n }\n\n return doHandleLang(data);\n })\n /*\n * If not found in the cache\n */\n .catch(function () {\n if (typeof lang === 'string') {\n var fetchTrainedData = function fetchTrainedData(iLangPath) {\n return axios.get(iLangPath + \"/\" + langCode + \".traineddata\" + (gzip ? '.gz' : ''), {\n responseType: 'arraybuffer'\n }).then(function (_ref3) {\n var data = _ref3.data;\n return new Uint8Array(data);\n }).then(handleTraineddata).then(doHandleLang);\n };\n /** When langPath is an URL, just do the fetch */\n\n\n if (isURL(langPath) || langPath.startsWith('chrome-extension://')\n /* for chrome extensions */\n ) {\n return fetchTrainedData(langPath);\n }\n /** When langPath is not an URL in Node.js environment */\n\n\n return modules.readCache(langPath + \"/\" + langCode + \".traineddata\" + (gzip ? '.gz' : '')).then(handleTraineddata).then(doHandleLang);\n }\n\n return Promise.resolve(lang.data).then(handleTraineddata).then(doHandleLang);\n });\n };\n };\n};\n/**\n *\n * @name loadLang\n * @function load language(s) from local cache, download from remote if not in cache.\n * @param {object} options\n * @param {array} options.langs -\n * langs to load.\n * Each item in the array can be string (ex. 'eng') or object like:\n * {\n * code: 'eng',\n * gzip: false,\n * data: Uint8Array\n * }\n * @param {object} options.TessModule - TesseractModule\n * @param {string} options.langPath - prefix path for downloading lang file\n * @param {string} options.cachePath - path to find cache\n * @param {string} options.dataPath - path to store data in mem\n * @param {boolean} options.gzip -\n * indicate whether to download gzip version from remote, default: true\n * @param {string} options.cacheMethod -\n * method of cache invaliation, should one of following options:\n * write: read cache and write back (default method)\n * readOnly: read cache and not to write back\n * refresh: not to read cache and write back\n * none: not to read cache and not to write back\n *\n */\n\n\nmodule.exports = function (modules) {\n return function (_ref4) {\n var langs = _ref4.langs,\n options = (0, _objectWithoutPropertiesLoose2.default)(_ref4, [\"langs\"]);\n return Promise.all((typeof langs === 'string' ? langs.split('+') : langs).map(loadAndGunzipFile(modules)(options)));\n };\n};","\"use strict\";\n\n/**\n * Expose `isUrl`.\n */\nmodule.exports = isUrl;\n/**\n * RegExps.\n * A URL must match #1 and then at least one of #2/#3.\n * Use two levels of REs to avoid REDOS.\n */\n\nvar protocolAndDomainRE = /^(?:\\w+:)?\\/\\/(\\S+)$/;\nvar localhostDomainRE = /^localhost[\\:?\\d]*(?:[^\\:?\\d]\\S*)?$/;\nvar nonLocalhostDomainRE = /^[^\\s\\.]+\\.\\S{2,}$/;\n/**\n * Loosely validate a URL `string`.\n *\n * @param {String} string\n * @return {Boolean}\n */\n\nfunction isUrl(string) {\n if (typeof string !== 'string') {\n return false;\n }\n\n var match = string.match(protocolAndDomainRE);\n\n if (!match) {\n return false;\n }\n\n var everythingAfterProtocol = match[1];\n\n if (!everythingAfterProtocol) {\n return false;\n }\n\n if (localhostDomainRE.test(everythingAfterProtocol) || nonLocalhostDomainRE.test(everythingAfterProtocol)) {\n return true;\n }\n\n return false;\n}","\"use strict\";\n\nmodule.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./utils');\n\nvar bind = require('./helpers/bind');\n\nvar Axios = require('./core/Axios');\n\nvar defaults = require('./defaults');\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\n\n\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context); // Copy axios.prototype to instance\n\n utils.extend(instance, Axios.prototype, context); // Copy context to instance\n\n utils.extend(instance, context);\n return instance;\n} // Create the default instance to be exported\n\n\nvar axios = createInstance(defaults); // Expose Axios class to allow class inheritance\n\naxios.Axios = Axios; // Factory for creating new instances\n\naxios.create = function create(instanceConfig) {\n return createInstance(utils.merge(defaults, instanceConfig));\n}; // Expose Cancel & CancelToken\n\n\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel'); // Expose all/spread\n\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = require('./helpers/spread');\nmodule.exports = axios; // Allow use of default import syntax in TypeScript\n\nmodule.exports.default = axios;","'use strict';\n\nvar defaults = require('./../defaults');\n\nvar utils = require('./../utils');\n\nvar InterceptorManager = require('./InterceptorManager');\n\nvar dispatchRequest = require('./dispatchRequest');\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\n\n\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\n\n\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, {\n method: 'get'\n }, this.defaults, config);\n config.method = config.method.toLowerCase(); // Hook up interceptors middleware\n\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n}; // Provide aliases for supported request methods\n\n\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\nmodule.exports = Axios;","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};","'use strict';\n\nvar createError = require('./createError');\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\n\n\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus; // Note: status is not exposed by XDomainRequest\n\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError('Request failed with status code ' + response.status, response.config, null, response.request, response));\n }\n};","'use strict';\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\n\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n return error;\n};","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).replace(/%40/gi, '@').replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+').replace(/%5B/gi, '[').replace(/%5D/gi, ']');\n}\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\n\n\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};","'use strict';\n\nvar utils = require('./../utils'); // Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\n\n\nvar ignoreDuplicateOf = ['age', 'authorization', 'content-length', 'content-type', 'etag', 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', 'last-modified', 'location', 'max-forwards', 'proxy-authorization', 'referer', 'retry-after', 'user-agent'];\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\n\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) {\n return parsed;\n }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n return parsed;\n};","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = utils.isStandardBrowserEnv() ? // Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\nfunction standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href); // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: urlParsingNode.pathname.charAt(0) === '/' ? urlParsingNode.pathname : '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n\n return function isURLSameOrigin(requestURL) {\n var parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL;\n return parsed.protocol === originURL.protocol && parsed.host === originURL.host;\n };\n}() : // Non standard browser envs (web workers, react-native) lack needed support.\nfunction nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n}();","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = utils.isStandardBrowserEnv() ? // Standard browser envs support document.cookie\nfunction standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return match ? decodeURIComponent(match[3]) : null;\n },\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n}() : // Non standard browser env (web workers, react-native) lack needed support.\nfunction nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() {\n return null;\n },\n remove: function remove() {}\n };\n}();","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n\n\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\n\n\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\n\n\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;","'use strict';\n\nvar utils = require('./../utils');\n\nvar transformData = require('./transformData');\n\nvar isCancel = require('../cancel/isCancel');\n\nvar defaults = require('../defaults');\n\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\n\nvar combineURLs = require('./../helpers/combineURLs');\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\n\n\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\n\n\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config); // Support baseURL config\n\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n } // Ensure headers exist\n\n\n config.headers = config.headers || {}; // Transform request data\n\n config.data = transformData(config.data, config.headers, config.transformRequest); // Flatten headers\n\n config.headers = utils.merge(config.headers.common || {}, config.headers[config.method] || {}, config.headers || {});\n utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], function cleanHeaderConfig(method) {\n delete config.headers[method];\n });\n var adapter = config.adapter || defaults.adapter;\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config); // Transform response data\n\n response.data = transformData(response.data, response.headers, config.transformResponse);\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config); // Transform response data\n\n if (reason && reason.response) {\n reason.response.data = transformData(reason.response.data, reason.response.headers, config.transformResponse);\n }\n }\n\n return Promise.reject(reason);\n });\n};","'use strict';\n\nvar utils = require('./../utils');\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\n\n\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n return data;\n};","'use strict';\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\n\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};","'use strict';\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\n\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '') : baseURL;\n};","'use strict';\n\nvar Cancel = require('./Cancel');\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\n\n\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\n\n\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n\n\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;","'use strict';\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\n\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};","\"use strict\";\n\nmodule.exports = require('zlibjs').gunzipSync;","/** @license zlib.js 2012 - imaya [ https://github.com/imaya/zlib.js ] The MIT License */\n(function () {\n 'use strict';\n\n function q(b) {\n throw b;\n }\n\n var t = void 0,\n v = !0;\n var B = \"undefined\" !== typeof Uint8Array && \"undefined\" !== typeof Uint16Array && \"undefined\" !== typeof Uint32Array && \"undefined\" !== typeof DataView;\n\n function G(b, a) {\n this.index = \"number\" === typeof a ? a : 0;\n this.m = 0;\n this.buffer = b instanceof (B ? Uint8Array : Array) ? b : new (B ? Uint8Array : Array)(32768);\n 2 * this.buffer.length <= this.index && q(Error(\"invalid index\"));\n this.buffer.length <= this.index && this.f();\n }\n\n G.prototype.f = function () {\n var b = this.buffer,\n a,\n c = b.length,\n d = new (B ? Uint8Array : Array)(c << 1);\n if (B) d.set(b);else for (a = 0; a < c; ++a) {\n d[a] = b[a];\n }\n return this.buffer = d;\n };\n\n G.prototype.d = function (b, a, c) {\n var d = this.buffer,\n e = this.index,\n f = this.m,\n g = d[e],\n k;\n 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);\n if (8 > a + f) g = g << a | b, f += a;else for (k = 0; k < a; ++k) {\n g = g << 1 | b >> a - k - 1 & 1, 8 === ++f && (f = 0, d[e++] = I[g], g = 0, e === d.length && (d = this.f()));\n }\n d[e] = g;\n this.buffer = d;\n this.m = f;\n this.index = e;\n };\n\n G.prototype.finish = function () {\n var b = this.buffer,\n a = this.index,\n c;\n 0 < this.m && (b[a] <<= 8 - this.m, b[a] = I[b[a]], a++);\n B ? c = b.subarray(0, a) : (b.length = a, c = b);\n return c;\n };\n\n var aa = new (B ? Uint8Array : Array)(256),\n L;\n\n for (L = 0; 256 > L; ++L) {\n for (var R = L, ba = R, ca = 7, R = R >>> 1; R; R >>>= 1) {\n ba <<= 1, ba |= R & 1, --ca;\n }\n\n aa[L] = (ba << ca & 255) >>> 0;\n }\n\n var I = aa;\n\n function ha(b, a, c) {\n var d,\n e = \"number\" === typeof a ? a : a = 0,\n f = \"number\" === typeof c ? c : b.length;\n d = -1;\n\n for (e = f & 7; e--; ++a) {\n d = d >>> 8 ^ S[(d ^ b[a]) & 255];\n }\n\n for (e = f >> 3; e--; a += 8) {\n 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];\n }\n\n return (d ^ 4294967295) >>> 0;\n }\n\n var 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, 2882616665, 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, 2362670323, 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, 2466906013, 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, 3268935591, 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, 936918E3, 2847714899, 3736837829, 1202900863, 817233897, 3183342108, 3401237130, 1404277552, 615818150, 3134207493, 3453421203, 1423857449, 601450431, 3009837614, 3294710456, 1567103746, 711928724, 3020668471, 3272380065, 1510334235, 755167117],\n S = B ? new Uint32Array(ia) : ia;\n\n function ja() {}\n\n ;\n\n function ka(b) {\n this.buffer = new (B ? Uint16Array : Array)(2 * b);\n this.length = 0;\n }\n\n ka.prototype.getParent = function (b) {\n return 2 * ((b - 2) / 4 | 0);\n };\n\n ka.prototype.push = function (b, a) {\n var c,\n d,\n e = this.buffer,\n f;\n c = this.length;\n e[this.length++] = a;\n\n for (e[this.length++] = b; 0 < c;) {\n 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;\n }\n\n return this.length;\n };\n\n ka.prototype.pop = function () {\n var b,\n a,\n c = this.buffer,\n d,\n e,\n f;\n a = c[0];\n b = c[1];\n this.length -= 2;\n c[0] = c[this.length];\n c[1] = c[this.length + 1];\n\n for (f = 0;;) {\n e = 2 * f + 2;\n if (e >= this.length) break;\n e + 2 < this.length && c[e + 2] > c[e] && (e += 2);\n 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;\n f = e;\n }\n\n return {\n index: b,\n value: a,\n length: this.length\n };\n };\n\n function T(b) {\n var a = b.length,\n c = 0,\n d = Number.POSITIVE_INFINITY,\n e,\n f,\n g,\n k,\n h,\n m,\n r,\n p,\n l,\n n;\n\n for (p = 0; p < a; ++p) {\n b[p] > c && (c = b[p]), b[p] < d && (d = b[p]);\n }\n\n e = 1 << c;\n f = new (B ? Uint32Array : Array)(e);\n g = 1;\n k = 0;\n\n for (h = 2; g <= c;) {\n for (p = 0; p < a; ++p) {\n if (b[p] === g) {\n m = 0;\n r = k;\n\n for (l = 0; l < g; ++l) {\n m = m << 1 | r & 1, r >>= 1;\n }\n\n n = g << 16 | p;\n\n for (l = m; l < e; l += h) {\n f[l] = n;\n }\n\n ++k;\n }\n }\n\n ++g;\n k <<= 1;\n h <<= 1;\n }\n\n return [f, c, d];\n }\n\n ;\n\n function na(b, a) {\n this.k = oa;\n this.F = 0;\n this.input = B && b instanceof Array ? new Uint8Array(b) : b;\n this.b = 0;\n 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));\n this.a || (this.a = new (B ? Uint8Array : Array)(32768));\n }\n\n var oa = 2,\n pa = {\n NONE: 0,\n L: 1,\n t: oa,\n X: 3\n },\n qa = [],\n U;\n\n for (U = 0; 288 > U; U++) {\n switch (v) {\n case 143 >= U:\n qa.push([U + 48, 8]);\n break;\n\n case 255 >= U:\n qa.push([U - 144 + 400, 9]);\n break;\n\n case 279 >= U:\n qa.push([U - 256 + 0, 7]);\n break;\n\n case 287 >= U:\n qa.push([U - 280 + 192, 8]);\n break;\n\n default:\n q(\"invalid literal: \" + U);\n }\n }\n\n na.prototype.h = function () {\n var b,\n a,\n c,\n d,\n e = this.input;\n\n switch (this.k) {\n case 0:\n c = 0;\n\n for (d = e.length; c < d;) {\n a = B ? e.subarray(c, c + 65535) : e.slice(c, c + 65535);\n c += a.length;\n var f = a,\n g = c === d,\n k = t,\n h = t,\n m = t,\n r = t,\n p = t,\n l = this.a,\n n = this.b;\n\n if (B) {\n for (l = new Uint8Array(this.a.buffer); l.length <= n + f.length + 5;) {\n l = new Uint8Array(l.length << 1);\n }\n\n l.set(this.a);\n }\n\n k = g ? 1 : 0;\n l[n++] = k | 0;\n h = f.length;\n m = ~h + 65536 & 65535;\n l[n++] = h & 255;\n l[n++] = h >>> 8 & 255;\n l[n++] = m & 255;\n l[n++] = m >>> 8 & 255;\n if (B) l.set(f, n), n += f.length, l = l.subarray(0, n);else {\n r = 0;\n\n for (p = f.length; r < p; ++r) {\n l[n++] = f[r];\n }\n\n l.length = n;\n }\n this.b = n;\n this.a = l;\n }\n\n break;\n\n case 1:\n var s = new G(B ? new Uint8Array(this.a.buffer) : this.a, this.b);\n s.d(1, 1, v);\n s.d(1, 2, v);\n var u = ra(this, e),\n w,\n C,\n x;\n w = 0;\n\n for (C = u.length; w < C; w++) {\n 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;\n }\n\n this.a = s.finish();\n this.b = this.a.length;\n break;\n\n case oa:\n var D = new G(B ? new Uint8Array(this.a.buffer) : this.a, this.b),\n M,\n z,\n N,\n X,\n Y,\n qb = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15],\n da,\n Fa,\n ea,\n Ga,\n la,\n ta = Array(19),\n Ha,\n Z,\n ma,\n E,\n Ia;\n M = oa;\n D.d(1, 1, v);\n D.d(M, 2, v);\n z = ra(this, e);\n da = sa(this.U, 15);\n Fa = ua(da);\n ea = sa(this.T, 7);\n Ga = ua(ea);\n\n for (N = 286; 257 < N && 0 === da[N - 1]; N--) {\n ;\n }\n\n for (X = 30; 1 < X && 0 === ea[X - 1]; X--) {\n ;\n }\n\n var Ja = N,\n Ka = X,\n K = new (B ? Uint32Array : Array)(Ja + Ka),\n y,\n O,\n A,\n fa,\n J = new (B ? Uint32Array : Array)(316),\n H,\n F,\n P = new (B ? Uint8Array : Array)(19);\n\n for (y = O = 0; y < Ja; y++) {\n K[O++] = da[y];\n }\n\n for (y = 0; y < Ka; y++) {\n K[O++] = ea[y];\n }\n\n if (!B) {\n y = 0;\n\n for (fa = P.length; y < fa; ++y) {\n P[y] = 0;\n }\n }\n\n y = H = 0;\n\n for (fa = K.length; y < fa; y += O) {\n for (O = 1; y + O < fa && K[y + O] === K[y]; ++O) {\n ;\n }\n\n A = O;\n if (0 === K[y]) {\n if (3 > A) for (; 0 < A--;) {\n J[H++] = 0, P[0]++;\n } else for (; 0 < A;) {\n 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;\n }\n } else if (J[H++] = K[y], P[K[y]]++, A--, 3 > A) for (; 0 < A--;) {\n J[H++] = K[y], P[K[y]]++;\n } else for (; 0 < A;) {\n F = 6 > A ? A : 6, F > A - 3 && F < A && (F = A - 3), J[H++] = 16, J[H++] = F - 3, P[16]++, A -= F;\n }\n }\n\n b = B ? J.subarray(0, H) : J.slice(0, H);\n la = sa(P, 7);\n\n for (E = 0; 19 > E; E++) {\n ta[E] = la[qb[E]];\n }\n\n for (Y = 19; 4 < Y && 0 === ta[Y - 1]; Y--) {\n ;\n }\n\n Ha = ua(la);\n D.d(N - 257, 5, v);\n D.d(X - 1, 5, v);\n D.d(Y - 4, 4, v);\n\n for (E = 0; E < Y; E++) {\n D.d(ta[E], 3, v);\n }\n\n E = 0;\n\n for (Ia = b.length; E < Ia; E++) {\n if (Z = b[E], D.d(Ha[Z], la[Z], v), 16 <= Z) {\n E++;\n\n switch (Z) {\n case 16:\n ma = 2;\n break;\n\n case 17:\n ma = 3;\n break;\n\n case 18:\n ma = 7;\n break;\n\n default:\n q(\"invalid code: \" + Z);\n }\n\n D.d(b[E], ma, v);\n }\n }\n\n var La = [Fa, da],\n Ma = [Ga, ea],\n Q,\n Na,\n ga,\n wa,\n Oa,\n Pa,\n Qa,\n Ra;\n Oa = La[0];\n Pa = La[1];\n Qa = Ma[0];\n Ra = Ma[1];\n Q = 0;\n\n for (Na = z.length; Q < Na; ++Q) {\n 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;\n }\n\n this.a = D.finish();\n this.b = this.a.length;\n break;\n\n default:\n q(\"invalid compression type\");\n }\n\n return this.a;\n };\n\n function va(b, a) {\n this.length = b;\n this.N = a;\n }\n\n var xa = function () {\n function b(a) {\n switch (v) {\n case 3 === a:\n return [257, a - 3, 0];\n\n case 4 === a:\n return [258, a - 4, 0];\n\n case 5 === a:\n return [259, a - 5, 0];\n\n case 6 === a:\n return [260, a - 6, 0];\n\n case 7 === a:\n return [261, a - 7, 0];\n\n case 8 === a:\n return [262, a - 8, 0];\n\n case 9 === a:\n return [263, a - 9, 0];\n\n case 10 === a:\n return [264, a - 10, 0];\n\n case 12 >= a:\n return [265, a - 11, 1];\n\n case 14 >= a:\n return [266, a - 13, 1];\n\n case 16 >= a:\n return [267, a - 15, 1];\n\n case 18 >= a:\n return [268, a - 17, 1];\n\n case 22 >= a:\n return [269, a - 19, 2];\n\n case 26 >= a:\n return [270, a - 23, 2];\n\n case 30 >= a:\n return [271, a - 27, 2];\n\n case 34 >= a:\n return [272, a - 31, 2];\n\n case 42 >= a:\n return [273, a - 35, 3];\n\n case 50 >= a:\n return [274, a - 43, 3];\n\n case 58 >= a:\n return [275, a - 51, 3];\n\n case 66 >= a:\n return [276, a - 59, 3];\n\n case 82 >= a:\n return [277, a - 67, 4];\n\n case 98 >= a:\n return [278, a - 83, 4];\n\n case 114 >= a:\n return [279, a - 99, 4];\n\n case 130 >= a:\n return [280, a - 115, 4];\n\n case 162 >= a:\n return [281, a - 131, 5];\n\n case 194 >= a:\n return [282, a - 163, 5];\n\n case 226 >= a:\n return [283, a - 195, 5];\n\n case 257 >= a:\n return [284, a - 227, 5];\n\n case 258 === a:\n return [285, a - 258, 0];\n\n default:\n q(\"invalid length: \" + a);\n }\n }\n\n var a = [],\n c,\n d;\n\n for (c = 3; 258 >= c; c++) {\n d = b(c), a[c] = d[2] << 24 | d[1] << 16 | d[0];\n }\n\n return a;\n }(),\n ya = B ? new Uint32Array(xa) : xa;\n\n function ra(b, a) {\n function c(a, c) {\n var b = a.N,\n d = [],\n f = 0,\n e;\n e = ya[a.length];\n d[f++] = e & 65535;\n d[f++] = e >> 16 & 255;\n d[f++] = e >> 24;\n var g;\n\n switch (v) {\n case 1 === b:\n g = [0, b - 1, 0];\n break;\n\n case 2 === b:\n g = [1, b - 2, 0];\n break;\n\n case 3 === b:\n g = [2, b - 3, 0];\n break;\n\n case 4 === b:\n g = [3, b - 4, 0];\n break;\n\n case 6 >= b:\n g = [4, b - 5, 1];\n break;\n\n case 8 >= b:\n g = [5, b - 7, 1];\n break;\n\n case 12 >= b:\n g = [6, b - 9, 2];\n break;\n\n case 16 >= b:\n g = [7, b - 13, 2];\n break;\n\n case 24 >= b:\n g = [8, b - 17, 3];\n break;\n\n case 32 >= b:\n g = [9, b - 25, 3];\n break;\n\n case 48 >= b:\n g = [10, b - 33, 4];\n break;\n\n case 64 >= b:\n g = [11, b - 49, 4];\n break;\n\n case 96 >= b:\n g = [12, b - 65, 5];\n break;\n\n case 128 >= b:\n g = [13, b - 97, 5];\n break;\n\n case 192 >= b:\n g = [14, b - 129, 6];\n break;\n\n case 256 >= b:\n g = [15, b - 193, 6];\n break;\n\n case 384 >= b:\n g = [16, b - 257, 7];\n break;\n\n case 512 >= b:\n g = [17, b - 385, 7];\n break;\n\n case 768 >= b:\n g = [18, b - 513, 8];\n break;\n\n case 1024 >= b:\n g = [19, b - 769, 8];\n break;\n\n case 1536 >= b:\n g = [20, b - 1025, 9];\n break;\n\n case 2048 >= b:\n g = [21, b - 1537, 9];\n break;\n\n case 3072 >= b:\n g = [22, b - 2049, 10];\n break;\n\n case 4096 >= b:\n g = [23, b - 3073, 10];\n break;\n\n case 6144 >= b:\n g = [24, b - 4097, 11];\n break;\n\n case 8192 >= b:\n g = [25, b - 6145, 11];\n break;\n\n case 12288 >= b:\n g = [26, b - 8193, 12];\n break;\n\n case 16384 >= b:\n g = [27, b - 12289, 12];\n break;\n\n case 24576 >= b:\n g = [28, b - 16385, 13];\n break;\n\n case 32768 >= b:\n g = [29, b - 24577, 13];\n break;\n\n default:\n q(\"invalid distance\");\n }\n\n e = g;\n d[f++] = e[0];\n d[f++] = e[1];\n d[f++] = e[2];\n var h, k;\n h = 0;\n\n for (k = d.length; h < k; ++h) {\n l[n++] = d[h];\n }\n\n u[d[0]]++;\n w[d[3]]++;\n s = a.length + c - 1;\n p = null;\n }\n\n var d,\n e,\n f,\n g,\n k,\n h = {},\n m,\n r,\n p,\n l = B ? new Uint16Array(2 * a.length) : [],\n n = 0,\n s = 0,\n u = new (B ? Uint32Array : Array)(286),\n w = new (B ? Uint32Array : Array)(30),\n C = b.F,\n x;\n\n if (!B) {\n for (f = 0; 285 >= f;) {\n u[f++] = 0;\n }\n\n for (f = 0; 29 >= f;) {\n w[f++] = 0;\n }\n }\n\n u[256] = 1;\n d = 0;\n\n for (e = a.length; d < e; ++d) {\n f = k = 0;\n\n for (g = 3; f < g && d + f !== e; ++f) {\n k = k << 8 | a[d + f];\n }\n\n h[k] === t && (h[k] = []);\n m = h[k];\n\n if (!(0 < s--)) {\n for (; 0 < m.length && 32768 < d - m[0];) {\n m.shift();\n }\n\n if (d + 3 >= e) {\n p && c(p, -1);\n f = 0;\n\n for (g = e - d; f < g; ++f) {\n x = a[d + f], l[n++] = x, ++u[x];\n }\n\n break;\n }\n\n 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]);\n }\n\n m.push(d);\n }\n\n l[n++] = 256;\n u[256]++;\n b.U = u;\n b.T = w;\n return B ? l.subarray(0, n) : l;\n }\n\n function za(b, a, c) {\n var d,\n e,\n f = 0,\n g,\n k,\n h,\n m,\n r = b.length;\n k = 0;\n m = c.length;\n\n a: for (; k < m; k++) {\n d = c[m - k - 1];\n g = 3;\n\n if (3 < f) {\n for (h = f; 3 < h; h--) {\n if (b[d + h - 1] !== b[a + h - 1]) continue a;\n }\n\n g = f;\n }\n\n for (; 258 > g && a + g < r && b[d + g] === b[a + g];) {\n ++g;\n }\n\n g > f && (e = d, f = g);\n if (258 === g) break;\n }\n\n return new va(f, a - e);\n }\n\n function sa(b, a) {\n var c = b.length,\n d = new ka(572),\n e = new (B ? Uint8Array : Array)(c),\n f,\n g,\n k,\n h,\n m;\n if (!B) for (h = 0; h < c; h++) {\n e[h] = 0;\n }\n\n for (h = 0; h < c; ++h) {\n 0 < b[h] && d.push(h, b[h]);\n }\n\n f = Array(d.length / 2);\n g = new (B ? Uint32Array : Array)(d.length / 2);\n if (1 === f.length) return e[d.pop().index] = 1, e;\n h = 0;\n\n for (m = d.length / 2; h < m; ++h) {\n f[h] = d.pop(), g[h] = f[h].value;\n }\n\n k = Aa(g, g.length, a);\n h = 0;\n\n for (m = f.length; h < m; ++h) {\n e[f[h].index] = k[h];\n }\n\n return e;\n }\n\n function Aa(b, a, c) {\n function d(b) {\n var c = h[b][m[b]];\n c === a ? (d(b + 1), d(b + 1)) : --g[c];\n ++m[b];\n }\n\n var e = new (B ? Uint16Array : Array)(c),\n f = new (B ? Uint8Array : Array)(c),\n g = new (B ? Uint8Array : Array)(a),\n k = Array(c),\n h = Array(c),\n m = Array(c),\n r = (1 << c) - a,\n p = 1 << c - 1,\n l,\n n,\n s,\n u,\n w;\n e[c - 1] = a;\n\n for (n = 0; n < c; ++n) {\n r < p ? f[n] = 0 : (f[n] = 1, r -= p), r <<= 1, e[c - 2 - n] = (e[c - 1 - n] / 2 | 0) + a;\n }\n\n e[0] = f[0];\n k[0] = Array(e[0]);\n h[0] = Array(e[0]);\n\n for (n = 1; n < c; ++n) {\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]);\n }\n\n for (l = 0; l < a; ++l) {\n g[l] = c;\n }\n\n for (s = 0; s < e[c - 1]; ++s) {\n k[c - 1][s] = b[s], h[c - 1][s] = s;\n }\n\n for (l = 0; l < c; ++l) {\n m[l] = 0;\n }\n\n 1 === f[c - 1] && (--g[0], ++m[c - 1]);\n\n for (n = c - 2; 0 <= n; --n) {\n u = l = 0;\n w = m[n + 1];\n\n for (s = 0; s < e[n]; s++) {\n 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);\n }\n\n m[n] = 0;\n 1 === f[n] && d(n);\n }\n\n return g;\n }\n\n function ua(b) {\n var a = new (B ? Uint16Array : Array)(b.length),\n c = [],\n d = [],\n e = 0,\n f,\n g,\n k,\n h;\n f = 0;\n\n for (g = b.length; f < g; f++) {\n c[b[f]] = (c[b[f]] | 0) + 1;\n }\n\n f = 1;\n\n for (g = 16; f <= g; f++) {\n d[f] = e, e += c[f] | 0, e <<= 1;\n }\n\n f = 0;\n\n for (g = b.length; f < g; f++) {\n e = d[b[f]];\n d[b[f]] += 1;\n k = a[f] = 0;\n\n for (h = b[f]; k < h; k++) {\n a[f] = a[f] << 1 | e & 1, e >>>= 1;\n }\n }\n\n return a;\n }\n\n ;\n\n function Ba(b, a) {\n this.input = b;\n this.b = this.c = 0;\n this.g = {};\n 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));\n this.l || (this.l = {});\n }\n\n Ba.prototype.h = function () {\n var b,\n a,\n c,\n d,\n e,\n f,\n g,\n k,\n h = new (B ? Uint8Array : Array)(32768),\n m = 0,\n r = this.input,\n p = this.c,\n l = this.filename,\n n = this.w;\n h[m++] = 31;\n h[m++] = 139;\n h[m++] = 8;\n b = 0;\n this.g.fname && (b |= Ca);\n this.g.fcomment && (b |= Da);\n this.g.fhcrc && (b |= Ea);\n h[m++] = b;\n a = (Date.now ? Date.now() : +new Date()) / 1E3 | 0;\n h[m++] = a & 255;\n h[m++] = a >>> 8 & 255;\n h[m++] = a >>> 16 & 255;\n h[m++] = a >>> 24 & 255;\n h[m++] = 0;\n h[m++] = Sa;\n\n if (this.g.fname !== t) {\n g = 0;\n\n for (k = l.length; g < k; ++g) {\n f = l.charCodeAt(g), 255 < f && (h[m++] = f >>> 8 & 255), h[m++] = f & 255;\n }\n\n h[m++] = 0;\n }\n\n if (this.g.comment) {\n g = 0;\n\n for (k = n.length; g < k; ++g) {\n f = n.charCodeAt(g), 255 < f && (h[m++] = f >>> 8 & 255), h[m++] = f & 255;\n }\n\n h[m++] = 0;\n }\n\n this.g.fhcrc && (c = ha(h, 0, m) & 65535, h[m++] = c & 255, h[m++] = c >>> 8 & 255);\n this.l.outputBuffer = h;\n this.l.outputIndex = m;\n e = new na(r, this.l);\n h = e.h();\n m = e.b;\n 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));\n d = ha(r, t, t);\n h[m++] = d & 255;\n h[m++] = d >>> 8 & 255;\n h[m++] = d >>> 16 & 255;\n h[m++] = d >>> 24 & 255;\n k = r.length;\n h[m++] = k & 255;\n h[m++] = k >>> 8 & 255;\n h[m++] = k >>> 16 & 255;\n h[m++] = k >>> 24 & 255;\n this.c = p;\n B && m < h.length && (this.a = h = h.subarray(0, m));\n return h;\n };\n\n var Sa = 255,\n Ea = 2,\n Ca = 8,\n Da = 16;\n\n function V(b, a) {\n this.o = [];\n this.p = 32768;\n this.e = this.j = this.c = this.s = 0;\n this.input = B ? new Uint8Array(b) : b;\n this.u = !1;\n this.q = Ta;\n this.K = !1;\n 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);\n\n switch (this.q) {\n case Ua:\n this.b = 32768;\n this.a = new (B ? Uint8Array : Array)(32768 + this.p + 258);\n break;\n\n case Ta:\n this.b = 0;\n this.a = new (B ? Uint8Array : Array)(this.p);\n this.f = this.S;\n this.z = this.O;\n this.r = this.Q;\n break;\n\n default:\n q(Error(\"invalid inflate mode\"));\n }\n }\n\n var Ua = 0,\n Ta = 1;\n\n V.prototype.i = function () {\n for (; !this.u;) {\n var b = W(this, 3);\n b & 1 && (this.u = v);\n b >>>= 1;\n\n switch (b) {\n case 0:\n var a = this.input,\n c = this.c,\n d = this.a,\n e = this.b,\n f = a.length,\n g = t,\n k = t,\n h = d.length,\n m = t;\n this.e = this.j = 0;\n c + 1 >= f && q(Error(\"invalid uncompressed block header: LEN\"));\n g = a[c++] | a[c++] << 8;\n c + 1 >= f && q(Error(\"invalid uncompressed block header: NLEN\"));\n k = a[c++] | a[c++] << 8;\n g === ~k && q(Error(\"invalid uncompressed block header: length verify\"));\n c + g > a.length && q(Error(\"input buffer is broken\"));\n\n switch (this.q) {\n case Ua:\n for (; e + g > d.length;) {\n m = h - e;\n g -= m;\n if (B) d.set(a.subarray(c, c + m), e), e += m, c += m;else for (; m--;) {\n d[e++] = a[c++];\n }\n this.b = e;\n d = this.f();\n e = this.b;\n }\n\n break;\n\n case Ta:\n for (; e + g > d.length;) {\n d = this.f({\n B: 2\n });\n }\n\n break;\n\n default:\n q(Error(\"invalid inflate mode\"));\n }\n\n if (B) d.set(a.subarray(c, c + g), e), e += g, c += g;else for (; g--;) {\n d[e++] = a[c++];\n }\n this.c = c;\n this.b = e;\n this.a = d;\n break;\n\n case 1:\n this.r(Va, Wa);\n break;\n\n case 2:\n 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 n[Xa[z]] = W(this, 3);\n }\n\n if (!B) {\n z = l;\n\n for (l = n.length; z < l; ++z) {\n n[Xa[z]] = 0;\n }\n }\n\n s = T(n);\n C = new (B ? Uint8Array : Array)(r + p);\n z = 0;\n\n for (N = r + p; z < N;) {\n switch (x = Ya(this, s), x) {\n case 16:\n for (M = 3 + W(this, 2); M--;) {\n C[z++] = D;\n }\n\n break;\n\n case 17:\n for (M = 3 + W(this, 3); M--;) {\n C[z++] = 0;\n }\n\n D = 0;\n break;\n\n case 18:\n for (M = 11 + W(this, 7); M--;) {\n C[z++] = 0;\n }\n\n D = 0;\n break;\n\n default:\n D = C[z++] = x;\n }\n }\n\n u = B ? T(C.subarray(0, r)) : T(C.slice(0, r));\n w = B ? T(C.subarray(r)) : T(C.slice(r));\n this.r(u, w);\n break;\n\n default:\n q(Error(\"unknown BTYPE: \" + b));\n }\n }\n\n return this.z();\n };\n\n var Za = [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15],\n Xa = B ? new Uint16Array(Za) : Za,\n $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],\n ab = B ? new Uint16Array($a) : $a,\n 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],\n cb = B ? new Uint8Array(bb) : bb,\n 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],\n eb = B ? new Uint16Array(db) : db,\n fb = [0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13],\n gb = B ? new Uint8Array(fb) : fb,\n hb = new (B ? Uint8Array : Array)(288),\n $,\n ib;\n $ = 0;\n\n for (ib = hb.length; $ < ib; ++$) {\n hb[$] = 143 >= $ ? 8 : 255 >= $ ? 9 : 279 >= $ ? 7 : 8;\n }\n\n var Va = T(hb),\n jb = new (B ? Uint8Array : Array)(30),\n kb,\n lb;\n kb = 0;\n\n for (lb = jb.length; kb < lb; ++kb) {\n jb[kb] = 5;\n }\n\n var Wa = T(jb);\n\n function W(b, a) {\n for (var c = b.j, d = b.e, e = b.input, f = b.c, g = e.length, k; d < a;) {\n f >= g && q(Error(\"input buffer is broken\")), c |= e[f++] << d, d += 8;\n }\n\n k = c & (1 << a) - 1;\n b.j = c >>> a;\n b.e = d - a;\n b.c = f;\n return k;\n }\n\n function Ya(b, a) {\n 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);) {\n c |= e[f++] << d, d += 8;\n }\n\n m = k[c & (1 << h) - 1];\n r = m >>> 16;\n r > d && q(Error(\"invalid code length: \" + r));\n b.j = c >> r;\n b.e = d - r;\n b.c = f;\n return m & 65535;\n }\n\n V.prototype.r = function (b, a) {\n var c = this.a,\n d = this.b;\n this.A = b;\n\n for (var e = c.length - 258, f, g, k, h; 256 !== (f = Ya(this, b));) {\n if (256 > f) d >= e && (this.b = d, c = this.f(), d = this.b), c[d++] = f;else {\n g = f - 257;\n h = ab[g];\n 0 < cb[g] && (h += W(this, cb[g]));\n f = Ya(this, a);\n k = eb[f];\n 0 < gb[f] && (k += W(this, gb[f]));\n d >= e && (this.b = d, c = this.f(), d = this.b);\n\n for (; h--;) {\n c[d] = c[d++ - k];\n }\n }\n }\n\n for (; 8 <= this.e;) {\n this.e -= 8, this.c--;\n }\n\n this.b = d;\n };\n\n V.prototype.Q = function (b, a) {\n var c = this.a,\n d = this.b;\n this.A = b;\n\n for (var e = c.length, f, g, k, h; 256 !== (f = Ya(this, b));) {\n if (256 > f) d >= e && (c = this.f(), e = c.length), c[d++] = f;else {\n g = f - 257;\n h = ab[g];\n 0 < cb[g] && (h += W(this, cb[g]));\n f = Ya(this, a);\n k = eb[f];\n 0 < gb[f] && (k += W(this, gb[f]));\n d + h > e && (c = this.f(), e = c.length);\n\n for (; h--;) {\n c[d] = c[d++ - k];\n }\n }\n }\n\n for (; 8 <= this.e;) {\n this.e -= 8, this.c--;\n }\n\n this.b = d;\n };\n\n V.prototype.f = function () {\n var b = new (B ? Uint8Array : Array)(this.b - 32768),\n a = this.b - 32768,\n c,\n d,\n e = this.a;\n if (B) b.set(e.subarray(32768, b.length));else {\n c = 0;\n\n for (d = b.length; c < d; ++c) {\n b[c] = e[c + 32768];\n }\n }\n this.o.push(b);\n this.s += b.length;\n if (B) e.set(e.subarray(a, a + 32768));else for (c = 0; 32768 > c; ++c) {\n e[c] = e[a + c];\n }\n this.b = 32768;\n return e;\n };\n\n V.prototype.S = function (b) {\n var a,\n c = this.input.length / this.c + 1 | 0,\n d,\n e,\n f,\n g = this.input,\n k = this.a;\n b && (\"number\" === typeof b.B && (c = b.B), \"number\" === typeof b.M && (c += b.M));\n 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;\n B ? (a = new Uint8Array(e), a.set(k)) : a = k;\n return this.a = a;\n };\n\n V.prototype.z = function () {\n var b = 0,\n a = this.a,\n c = this.o,\n d,\n e = new (B ? Uint8Array : Array)(this.s + (this.b - 32768)),\n f,\n g,\n k,\n h;\n if (0 === c.length) return B ? this.a.subarray(32768, this.b) : this.a.slice(32768, this.b);\n f = 0;\n\n for (g = c.length; f < g; ++f) {\n d = c[f];\n k = 0;\n\n for (h = d.length; k < h; ++k) {\n e[b++] = d[k];\n }\n }\n\n f = 32768;\n\n for (g = this.b; f < g; ++f) {\n e[b++] = a[f];\n }\n\n this.o = [];\n return this.buffer = e;\n };\n\n V.prototype.O = function () {\n var b,\n a = this.b;\n 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);\n return this.buffer = b;\n };\n\n function mb(b) {\n this.input = b;\n this.c = 0;\n this.G = [];\n this.R = !1;\n }\n\n mb.prototype.i = function () {\n for (var b = this.input.length; this.c < b;) {\n var a = new ja(),\n c = t,\n d = t,\n e = t,\n f = t,\n g = t,\n k = t,\n h = t,\n m = t,\n r = t,\n p = this.input,\n l = this.c;\n a.C = p[l++];\n a.D = p[l++];\n (31 !== a.C || 139 !== a.D) && q(Error(\"invalid file signature:\" + a.C + \",\" + a.D));\n a.v = p[l++];\n\n switch (a.v) {\n case 8:\n break;\n\n default:\n q(Error(\"unknown compression method: \" + a.v));\n }\n\n a.n = p[l++];\n m = p[l++] | p[l++] << 8 | p[l++] << 16 | p[l++] << 24;\n a.$ = new Date(1E3 * m);\n a.ba = p[l++];\n a.aa = p[l++];\n 0 < (a.n & 4) && (a.W = p[l++] | p[l++] << 8, l += a.W);\n\n if (0 < (a.n & Ca)) {\n h = [];\n\n for (k = 0; 0 < (g = p[l++]);) {\n h[k++] = String.fromCharCode(g);\n }\n\n a.name = h.join(\"\");\n }\n\n if (0 < (a.n & Da)) {\n h = [];\n\n for (k = 0; 0 < (g = p[l++]);) {\n h[k++] = String.fromCharCode(g);\n }\n\n a.w = h.join(\"\");\n }\n\n 0 < (a.n & Ea) && (a.P = ha(p, 0, l) & 65535, a.P !== (p[l++] | p[l++] << 8) && q(Error(\"invalid header crc16\")));\n c = p[p.length - 4] | p[p.length - 3] << 8 | p[p.length - 2] << 16 | p[p.length - 1] << 24;\n p.length - l - 4 - 4 < 512 * c && (f = c);\n d = new V(p, {\n index: l,\n bufferSize: f\n });\n a.data = e = d.i();\n l = d.c;\n a.Y = r = (p[l++] | p[l++] << 8 | p[l++] << 16 | p[l++] << 24) >>> 0;\n ha(e, t, t) !== r && q(Error(\"invalid CRC-32 checksum: 0x\" + ha(e, t, t).toString(16) + \" / 0x\" + r.toString(16)));\n a.Z = c = (p[l++] | p[l++] << 8 | p[l++] << 16 | p[l++] << 24) >>> 0;\n (e.length & 4294967295) !== c && q(Error(\"invalid input size: \" + (e.length & 4294967295) + \" / \" + c));\n this.G.push(a);\n this.c = l;\n }\n\n this.R = v;\n var n = this.G,\n s,\n u,\n w = 0,\n C = 0,\n x;\n s = 0;\n\n for (u = n.length; s < u; ++s) {\n C += n[s].data.length;\n }\n\n if (B) {\n x = new Uint8Array(C);\n\n for (s = 0; s < u; ++s) {\n x.set(n[s].data, w), w += n[s].data.length;\n }\n } else {\n x = [];\n\n for (s = 0; s < u; ++s) {\n x[s] = n[s].data;\n }\n\n x = Array.prototype.concat.apply([], x);\n }\n\n return x;\n };\n\n function nb(b) {\n if (\"string\" === typeof b) {\n var a = b.split(\"\"),\n c,\n d;\n c = 0;\n\n for (d = a.length; c < d; c++) {\n a[c] = (a[c].charCodeAt(0) & 255) >>> 0;\n }\n\n b = a;\n }\n\n for (var e = 1, f = 0, g = b.length, k, h = 0; 0 < g;) {\n k = 1024 < g ? 1024 : g;\n g -= k;\n\n do {\n e += b[h++], f += e;\n } while (--k);\n\n e %= 65521;\n f %= 65521;\n }\n\n return (f << 16 | e) >>> 0;\n }\n\n ;\n\n function ob(b, a) {\n var c, d;\n this.input = b;\n this.c = 0;\n if (a || !(a = {})) a.index && (this.c = a.index), a.verify && (this.V = a.verify);\n c = b[this.c++];\n d = b[this.c++];\n\n switch (c & 15) {\n case pb:\n this.method = pb;\n break;\n\n default:\n q(Error(\"unsupported compression method\"));\n }\n\n 0 !== ((c << 8) + d) % 31 && q(Error(\"invalid fcheck flag:\" + ((c << 8) + d) % 31));\n d & 32 && q(Error(\"fdict flag is not supported\"));\n this.J = new V(b, {\n index: this.c,\n bufferSize: a.bufferSize,\n bufferType: a.bufferType,\n resize: a.resize\n });\n }\n\n ob.prototype.i = function () {\n var b = this.input,\n a,\n c;\n a = this.J.i();\n this.c = this.J.c;\n 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\")));\n return a;\n };\n\n var pb = 8;\n\n function rb(b, a) {\n this.input = b;\n this.a = new (B ? Uint8Array : Array)(32768);\n this.k = sb.t;\n var c = {},\n d;\n if ((a || !(a = {})) && \"number\" === typeof a.compressionType) this.k = a.compressionType;\n\n for (d in a) {\n c[d] = a[d];\n }\n\n c.outputBuffer = this.a;\n this.I = new na(this.input, c);\n }\n\n var sb = pa;\n\n rb.prototype.h = function () {\n var b,\n a,\n c,\n d,\n e,\n f,\n g,\n k = 0;\n g = this.a;\n b = pb;\n\n switch (b) {\n case pb:\n a = Math.LOG2E * Math.log(32768) - 8;\n break;\n\n default:\n q(Error(\"invalid compression method\"));\n }\n\n c = a << 4 | b;\n g[k++] = c;\n\n switch (b) {\n case pb:\n switch (this.k) {\n case sb.NONE:\n e = 0;\n break;\n\n case sb.L:\n e = 1;\n break;\n\n case sb.t:\n e = 2;\n break;\n\n default:\n q(Error(\"unsupported compression type\"));\n }\n\n break;\n\n default:\n q(Error(\"invalid compression method\"));\n }\n\n d = e << 6 | 0;\n g[k++] = d | 31 - (256 * c + d) % 31;\n f = nb(this.input);\n this.I.b = k;\n g = this.I.h();\n k = g.length;\n B && (g = new Uint8Array(g.buffer), g.length <= k + 4 && (this.a = new Uint8Array(g.length + 4), this.a.set(g), g = this.a), g = g.subarray(0, k + 4));\n g[k++] = f >> 24 & 255;\n g[k++] = f >> 16 & 255;\n g[k++] = f >> 8 & 255;\n g[k++] = f & 255;\n return g;\n };\n\n exports.deflate = tb;\n exports.deflateSync = ub;\n exports.inflate = vb;\n exports.inflateSync = wb;\n exports.gzip = xb;\n exports.gzipSync = yb;\n exports.gunzip = zb;\n exports.gunzipSync = Ab;\n\n function tb(b, a, c) {\n process.nextTick(function () {\n var d, e;\n\n try {\n e = ub(b, c);\n } catch (f) {\n d = f;\n }\n\n a(d, e);\n });\n }\n\n function ub(b, a) {\n var c;\n c = new rb(b).h();\n a || (a = {});\n return a.H ? c : Bb(c);\n }\n\n function vb(b, a, c) {\n process.nextTick(function () {\n var d, e;\n\n try {\n e = wb(b, c);\n } catch (f) {\n d = f;\n }\n\n a(d, e);\n });\n }\n\n function wb(b, a) {\n var c;\n b.subarray = b.slice;\n c = new ob(b).i();\n a || (a = {});\n return a.noBuffer ? c : Bb(c);\n }\n\n function xb(b, a, c) {\n process.nextTick(function () {\n var d, e;\n\n try {\n e = yb(b, c);\n } catch (f) {\n d = f;\n }\n\n a(d, e);\n });\n }\n\n function yb(b, a) {\n var c;\n b.subarray = b.slice;\n c = new Ba(b).h();\n a || (a = {});\n return a.H ? c : Bb(c);\n }\n\n function zb(b, a, c) {\n process.nextTick(function () {\n var d, e;\n\n try {\n e = Ab(b, c);\n } catch (f) {\n d = f;\n }\n\n a(d, e);\n });\n }\n\n function Ab(b, a) {\n var c;\n b.subarray = b.slice;\n c = new mb(b).i();\n a || (a = {});\n return a.H ? c : Bb(c);\n }\n\n function Bb(b) {\n var a = new Buffer(b.length),\n c,\n d;\n c = 0;\n\n for (d = b.length; c < d; ++c) {\n a[c] = b[c];\n }\n\n return a;\n }\n\n ;\n}).call(this);","\"use strict\";\n\nvar bmp = require('bmp-js');\n\nvar fileType = require('file-type');\n\nmodule.exports = function (TessModule, iBuf, yres) {\n if (yres === void 0) {\n yres = 70;\n }\n\n var buf = Buffer.from(iBuf);\n var type = fileType(buf);\n var bytesPerPixel = 0;\n var data = null;\n var pix = null;\n var w = 0;\n var h = 0;\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\n if (type && type.mime === 'image/bmp') {\n var 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 var ptr = TessModule._malloc(buf.length * Uint8Array.BYTES_PER_ELEMENT);\n\n TessModule.HEAPU8.set(buf, ptr);\n pix = TessModule._pixReadMem(ptr, buf.length);\n\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, yres, 'i32');\n }\n\n var _Array$fill$map = Array(2).fill(0).map(function (v, idx) {\n return TessModule.getValue(pix + idx * 4, 'i32');\n });\n\n w = _Array$fill$map[0];\n h = _Array$fill$map[1];\n }\n\n return {\n w: w,\n h: h,\n bytesPerPixel: bytesPerPixel,\n data: data,\n pix: pix\n };\n};","/**\n * @author shaozilee\n *\n * support 1bit 4bit 8bit 24bit decode\n * encode with 24bit\n * \n */\nvar encode = require('./lib/encoder'),\n decode = require('./lib/decoder');\n\nmodule.exports = {\n encode: encode,\n decode: decode\n};","/**\n * @author shaozilee\n *\n * BMP format encoder,encode 24bit BMP\n * Not support quality compression\n *\n */\nfunction BmpEncoder(imgData) {\n this.buffer = imgData.data;\n this.width = imgData.width;\n this.height = imgData.height;\n this.extraBytes = this.width % 4;\n this.rgbSize = this.height * (3 * this.width + this.extraBytes);\n this.headerInfoSize = 40;\n this.data = [];\n /******************header***********************/\n\n this.flag = \"BM\";\n this.reserved = 0;\n this.offset = 54;\n this.fileSize = this.rgbSize + this.offset;\n this.planes = 1;\n this.bitPP = 24;\n this.compress = 0;\n this.hr = 0;\n this.vr = 0;\n this.colors = 0;\n this.importantColors = 0;\n}\n\nBmpEncoder.prototype.encode = function () {\n var tempBuffer = new Buffer(this.offset + this.rgbSize);\n this.pos = 0;\n tempBuffer.write(this.flag, this.pos, 2);\n this.pos += 2;\n tempBuffer.writeUInt32LE(this.fileSize, this.pos);\n this.pos += 4;\n tempBuffer.writeUInt32LE(this.reserved, this.pos);\n this.pos += 4;\n tempBuffer.writeUInt32LE(this.offset, this.pos);\n this.pos += 4;\n tempBuffer.writeUInt32LE(this.headerInfoSize, this.pos);\n this.pos += 4;\n tempBuffer.writeUInt32LE(this.width, this.pos);\n this.pos += 4;\n tempBuffer.writeInt32LE(-this.height, this.pos);\n this.pos += 4;\n tempBuffer.writeUInt16LE(this.planes, this.pos);\n this.pos += 2;\n tempBuffer.writeUInt16LE(this.bitPP, this.pos);\n this.pos += 2;\n tempBuffer.writeUInt32LE(this.compress, this.pos);\n this.pos += 4;\n tempBuffer.writeUInt32LE(this.rgbSize, this.pos);\n this.pos += 4;\n tempBuffer.writeUInt32LE(this.hr, this.pos);\n this.pos += 4;\n tempBuffer.writeUInt32LE(this.vr, this.pos);\n this.pos += 4;\n tempBuffer.writeUInt32LE(this.colors, this.pos);\n this.pos += 4;\n tempBuffer.writeUInt32LE(this.importantColors, this.pos);\n this.pos += 4;\n var i = 0;\n var rowBytes = 3 * this.width + this.extraBytes;\n\n for (var y = 0; y < this.height; y++) {\n for (var x = 0; x < this.width; x++) {\n var p = this.pos + y * rowBytes + x * 3;\n i++; //a\n\n tempBuffer[p] = this.buffer[i++]; //b\n\n tempBuffer[p + 1] = this.buffer[i++]; //g\n\n tempBuffer[p + 2] = this.buffer[i++]; //r\n }\n\n if (this.extraBytes > 0) {\n var fillOffset = this.pos + y * rowBytes + this.width * 3;\n tempBuffer.fill(0, fillOffset, fillOffset + this.extraBytes);\n }\n }\n\n return tempBuffer;\n};\n\nmodule.exports = function (imgData, quality) {\n if (typeof quality === 'undefined') quality = 100;\n var encoder = new BmpEncoder(imgData);\n var data = encoder.encode();\n return {\n data: data,\n width: imgData.width,\n height: imgData.height\n };\n};","/**\n * @author shaozilee\n *\n * Bmp format decoder,support 1bit 4bit 8bit 24bit bmp\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\n if (this.bitPP < 15) {\n var len = this.colors === 0 ? 1 << this.bitPP : this.colors;\n this.palette = new Array(len);\n\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\n if (this.height < 0) {\n this.height *= -1;\n this.bottom_up = false;\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\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n\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\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 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 } 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 var setPixelData = 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\n this.data.fill(0xff);\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++); //absolute mode\n\n if (a == 0) {\n if (b == 0) {\n //line end\n if (this.bottom_up) {\n lines--;\n } else {\n lines++;\n }\n\n location = lines * this.width * 4;\n low_nibble = false;\n continue;\n } else if (b == 1) {\n //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\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\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 } else {\n //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\n low_nibble = !low_nibble;\n }\n }\n }\n } else {\n var xlen = Math.ceil(this.width / 2);\n var mode = xlen % 4;\n\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n\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 var before = b >> 4;\n var after = b & 0x0F;\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 if (x * 2 + 1 >= this.width) break;\n rgb = this.palette[after];\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 if (mode != 0) {\n this.pos += 4 - mode;\n }\n }\n }\n};\n\nBmpDecoder.prototype.bit8 = function () {\n //RLE-8\n if (this.compress == 1) {\n var setPixelData = 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\n this.data.fill(0xff);\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++); //absolute mode\n\n if (a == 0) {\n if (b == 0) {\n //line end\n if (this.bottom_up) {\n lines--;\n } else {\n lines++;\n }\n\n location = lines * this.width * 4;\n continue;\n } else if (b == 1) {\n //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\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\n if (b & 1 == 1) {\n this.pos++;\n }\n }\n } else {\n //encoded mode\n for (var i = 0; i < a; i++) {\n setPixelData.call(this, b);\n }\n }\n }\n } else {\n var mode = this.width % 4;\n\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n\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\n if (b < this.palette.length) {\n var rgb = this.palette[b];\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 } 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\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\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n\n for (var x = 0; x < this.width; x++) {\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 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 } //skip extra bytes\n\n\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit16 = function () {\n var dif_w = this.width % 2 * 2; //default xrgb555\n\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 var ns = [0, 0, 0];\n\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\n ns[1] += ns[0];\n ns[2] += ns[1];\n ns[0] = 8 - ns[0];\n ns[1] -= 8;\n 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\n for (var x = 0; x < this.width; x++) {\n var B = this.buffer.readUInt16LE(this.pos);\n this.pos += 2;\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 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 } //skip extra bytes\n\n\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\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 } //skip extra bytes\n\n\n this.pos += this.width % 4;\n }\n};\n/**\n * add 32bit decode func\n * @author soubok\n */\n\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\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n\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 } else {\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n\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\nBmpDecoder.prototype.getData = function () {\n return this.data;\n};\n\nmodule.exports = function (bmpData) {\n var decoder = new BmpDecoder(bmpData);\n return decoder;\n};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _extends3 = _interopRequireDefault(require(\"@babel/runtime/helpers/esm/extends\"));\n\n/**\n *\n * The core part of tesseract.js to execute the OCR jobs.\n *\n * @fileoverview Worker for OCR jobs\n * @author Kevin Kwok \n * @author Guillermo Webster \n * @author Jerome Wu \n */\nvar check = require('check-types');\n\nvar resolveURL = typeof window !== 'undefined' && typeof window.document !== 'undefined' ? require('resolve-url') : function (s) {\n return s;\n};\n\nvar adapter = require('../node');\n\nvar circularize = require('./circularize');\n\nvar TesseractJob = require('./TesseractJob');\n/**\n * TesseractWorker\n * @name TesseractWorker\n * @function execute TesseractJob with a queue mechanism\n * @access public\n */\n\n\nvar TesseractWorker = /*#__PURE__*/function () {\n /**\n * constructor\n *\n * @name constructor\n * @function initialize the worker\n * @access public\n * @param {object} options - worker configurations\n * @param {string} options.workerPath -\n * A remote path to load worker script.\n * In browser-like environment, it is downloaded from a CDN service.\n * Please update this option if you self-host the worker script.\n * In Node.js environment, this option is not used as the worker script is in local.\n * @param {boolean} [options.workerBlobURL=true] - Use a blob: URL for the worker script\n * @param {string} options.corePath -\n * A remote path to load tesseract.js-core script.\n * In browser-like environment, it is downloaded from a CDN service.\n * Please update this option if you self-host the core script.\n * In Node.js environment, this option is not used as the core script is in local.\n * @param {string} options.langPath -\n * A remote path to load *.traineddata.gz, it is download from a CDN service.\n * Please update this option if you self-host the worker script.\n * @param {string} [options.cachePath=.] - @see {@link https://github.com/jeromewu/tesseract.js-utils/blob/master/src/loadLang.js}\n * @param {string} [options.cacheMethod=write] - @see {@link https://github.com/jeromewu/tesseract.js-utils/blob/master/src/loadLang.js}\n * @param {string} [options.dataPath=.] - @see {@link https://github.com/jeromewu/tesseract.js-utils/blob/master/src/loadLang.js}\n *\n */\n function TesseractWorker(options) {\n var _this = this;\n\n if (options === void 0) {\n options = {};\n }\n\n this.worker = null;\n this.options = (0, _extends3.default)({}, adapter.defaultOptions, {}, options);\n ['corePath', 'workerPath', 'langPath'].forEach(function (key) {\n if (check.not.undefined(options[key])) {\n var _extends2;\n\n _this.options = (0, _extends3.default)({}, _this.options, (_extends2 = {}, _extends2[key] = resolveURL(options[key]), _extends2));\n }\n });\n this._currentJob = null;\n this._queue = [];\n }\n /**\n * recognize\n *\n * @name recognize\n * @function recognize text in given image\n * @access public\n * @param {Buffer, string} image - image to be recognized\n * @param {string, array} [langs=eng] - languages to recognize\n * @param {object} params - tesseract parameters\n *\n */\n\n\n var _proto = TesseractWorker.prototype;\n\n _proto.recognize = function recognize(image, langs, params) {\n if (langs === void 0) {\n langs = 'eng';\n }\n\n if (params === void 0) {\n params = {};\n }\n\n return this._sendJob('recognize', image, langs, params);\n }\n /**\n * detect\n *\n * @name detect\n * @function detect language of the text in the image\n * @access public\n * @param {Buffer, string} image - image to be recognized\n * @param {object} params - tesseract parameters\n *\n */\n ;\n\n _proto.detect = function detect(image, params) {\n if (params === void 0) {\n params = {};\n }\n\n return this._sendJob('detect', image, 'osd', params);\n }\n /**\n * recv\n *\n * @name recv\n * @function handle completed job\n * @access public\n * @param {object} packet job data\n */\n ;\n\n _proto.recv = function recv(packet) {\n if (this._currentJob.id === packet.jobId) {\n this._currentJob.handle((0, _extends3.default)({}, packet, {\n data: packet.status === 'resolve' && packet.action === 'recognize' ? circularize(packet.data) : packet.data\n }));\n } else {\n console.warn(\"Job ID \" + packet.jobId + \" not known.\");\n }\n }\n /**\n * dequeue\n *\n * @name dequeue\n * @function dequeue and execute the rear job\n * @access public\n */\n ;\n\n _proto.dequeue = function dequeue() {\n this._currentJob = null;\n\n if (this._queue.length) {\n this._queue[0]();\n }\n }\n /**\n * terminate\n *\n * @name terminate\n * @function terminate the worker\n * @access public\n *\n */\n ;\n\n _proto.terminate = function terminate() {\n if (this.worker) {\n adapter.terminateWorker(this);\n }\n\n this.worker = null;\n this._currentJob = null;\n this._queue = [];\n }\n /**\n * _sendJob\n *\n * @name _sendJob\n * @function append a new job to the job queue\n * @access private\n * @param {string} type job type, should be recognize or detect\n * @param {Buffer, string} image image to recognize\n * @param {string} lang language to recognize\n * @param {object} params tesseract parameters\n */\n ;\n\n _proto._sendJob = function _sendJob(type, image, langs, params) {\n var _this2 = this;\n\n return this._delay(function (job) {\n job.send(type, {\n image: image,\n langs: langs,\n params: params,\n options: _this2.options\n });\n });\n }\n /**\n * _delay\n *\n * @name _delay\n * @function delays the fn to execute until it is on the rear of the queue\n * @access private\n * @param {function} fn A handler function for the job\n */\n ;\n\n _proto._delay = function _delay(fn) {\n var _this3 = this;\n\n if (check.null(this.worker)) {\n this.worker = adapter.spawnWorker(this, this.options);\n }\n\n var job = new TesseractJob(this);\n\n this._queue.push(function () {\n _this3._queue.shift();\n\n _this3._currentJob = job;\n fn(job);\n });\n\n if (check.null(this._currentJob)) {\n this.dequeue();\n }\n\n return job;\n };\n\n return TesseractWorker;\n}();\n\nmodule.exports = TesseractWorker;","\"use strict\";\n\nmodule.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./utils');\n\nvar bind = require('./helpers/bind');\n\nvar Axios = require('./core/Axios');\n\nvar defaults = require('./defaults');\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\n\n\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context); // Copy axios.prototype to instance\n\n utils.extend(instance, Axios.prototype, context); // Copy context to instance\n\n utils.extend(instance, context);\n return instance;\n} // Create the default instance to be exported\n\n\nvar axios = createInstance(defaults); // Expose Axios class to allow class inheritance\n\naxios.Axios = Axios; // Factory for creating new instances\n\naxios.create = function create(instanceConfig) {\n return createInstance(utils.merge(defaults, instanceConfig));\n}; // Expose Cancel & CancelToken\n\n\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel'); // Expose all/spread\n\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = require('./helpers/spread');\nmodule.exports = axios; // Allow use of default import syntax in TypeScript\n\nmodule.exports.default = axios;","'use strict';\n\nvar defaults = require('./../defaults');\n\nvar utils = require('./../utils');\n\nvar InterceptorManager = require('./InterceptorManager');\n\nvar dispatchRequest = require('./dispatchRequest');\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\n\n\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\n\n\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = utils.merge({\n url: arguments[0]\n }, arguments[1]);\n }\n\n config = utils.merge(defaults, {\n method: 'get'\n }, this.defaults, config);\n config.method = config.method.toLowerCase(); // Hook up interceptors middleware\n\n var chain = [dispatchRequest, undefined];\n var promise = Promise.resolve(config);\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n chain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n}; // Provide aliases for supported request methods\n\n\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url\n }));\n };\n});\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function (url, data, config) {\n return this.request(utils.merge(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\nmodule.exports = Axios;","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};","'use strict';\n\nvar createError = require('./createError');\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\n\n\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus; // Note: status is not exposed by XDomainRequest\n\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError('Request failed with status code ' + response.status, response.config, null, response.request, response));\n }\n};","'use strict';\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\n\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n return error;\n};","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).replace(/%40/gi, '@').replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+').replace(/%5B/gi, '[').replace(/%5D/gi, ']');\n}\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\n\n\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};","'use strict';\n\nvar utils = require('./../utils'); // Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\n\n\nvar ignoreDuplicateOf = ['age', 'authorization', 'content-length', 'content-type', 'etag', 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', 'last-modified', 'location', 'max-forwards', 'proxy-authorization', 'referer', 'retry-after', 'user-agent'];\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\n\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) {\n return parsed;\n }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n return parsed;\n};","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = utils.isStandardBrowserEnv() ? // Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\nfunction standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href); // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: urlParsingNode.pathname.charAt(0) === '/' ? urlParsingNode.pathname : '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n\n return function isURLSameOrigin(requestURL) {\n var parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL;\n return parsed.protocol === originURL.protocol && parsed.host === originURL.host;\n };\n}() : // Non standard browser envs (web workers, react-native) lack needed support.\nfunction nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n}();","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = utils.isStandardBrowserEnv() ? // Standard browser envs support document.cookie\nfunction standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return match ? decodeURIComponent(match[3]) : null;\n },\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n}() : // Non standard browser env (web workers, react-native) lack needed support.\nfunction nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() {\n return null;\n },\n remove: function remove() {}\n };\n}();","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n\n\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected\n });\n return this.handlers.length - 1;\n};\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\n\n\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\n\n\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;","'use strict';\n\nvar utils = require('./../utils');\n\nvar transformData = require('./transformData');\n\nvar isCancel = require('../cancel/isCancel');\n\nvar defaults = require('../defaults');\n\nvar isAbsoluteURL = require('./../helpers/isAbsoluteURL');\n\nvar combineURLs = require('./../helpers/combineURLs');\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\n\n\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n}\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\n\n\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config); // Support baseURL config\n\n if (config.baseURL && !isAbsoluteURL(config.url)) {\n config.url = combineURLs(config.baseURL, config.url);\n } // Ensure headers exist\n\n\n config.headers = config.headers || {}; // Transform request data\n\n config.data = transformData(config.data, config.headers, config.transformRequest); // Flatten headers\n\n config.headers = utils.merge(config.headers.common || {}, config.headers[config.method] || {}, config.headers || {});\n utils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], function cleanHeaderConfig(method) {\n delete config.headers[method];\n });\n var adapter = config.adapter || defaults.adapter;\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config); // Transform response data\n\n response.data = transformData(response.data, response.headers, config.transformResponse);\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config); // Transform response data\n\n if (reason && reason.response) {\n reason.response.data = transformData(reason.response.data, reason.response.headers, config.transformResponse);\n }\n }\n\n return Promise.reject(reason);\n });\n};","'use strict';\n\nvar utils = require('./../utils');\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\n\n\nmodule.exports = function transformData(data, headers, fns) {\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn(data, headers);\n });\n return data;\n};","'use strict';\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\n\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d\\+\\-\\.]*:)?\\/\\//i.test(url);\n};","'use strict';\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\n\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '') : baseURL;\n};","'use strict';\n\nvar Cancel = require('./Cancel');\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\n\n\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n var token = this;\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\n\n\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n\n\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;","'use strict';\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\n\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};","\"use strict\";\n\nmodule.exports = function (s) {\n return new Uint8Array(atob(s).split('').map(function (c) {\n return c.charCodeAt(0);\n }));\n};","\"use strict\";\n\nvar _require = require('./types'),\n OEM = _require.OEM,\n PSM = _require.PSM;\n\nmodule.exports = {\n defaultOptions: {\n /*\n * default path for downloading *.traineddata, this URL basically\n * points to a github page, not using jsDelivr as there is is limitation\n * of 20 MB.\n */\n langPath: 'https://tessdata.projectnaptha.com/4.0.0',\n\n /*\n * Use BlobURL for worker script by default\n */\n workerBlobURL: true\n },\n\n /*\n * default params for recognize()\n */\n defaultParams: {\n tessedit_ocr_engine_mode: OEM.LSTM_ONLY,\n tessedit_pageseg_mode: PSM.SINGLE_BLOCK,\n tessedit_char_whiltelist: '',\n tessjs_create_pdf: '0',\n tessjs_create_hocr: '1',\n tessjs_create_tsv: '1',\n tessjs_create_box: '0',\n tessjs_create_unlv: '0',\n tessjs_create_osd: '0',\n tessjs_textonly_pdf: '0',\n tessjs_pdf_name: 'tesseract.js-ocr-result',\n tessjs_pdf_title: 'Tesseract.js OCR Result',\n tessjs_pdf_auto_download: true,\n tessjs_pdf_bin: false,\n tessjs_image_rectangle_left: 0,\n tessjs_image_rectangle_top: 0,\n tessjs_image_rectangle_width: -1,\n tessjs_image_rectangle_height: -1\n }\n};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/esm/extends\"));\n\n/**\n * The result of dump.js is a big JSON tree\n * which can be easily serialized (for instance\n * to be sent from a webworker to the main app\n * or through Node's IPC), but we want\n * a (circular) DOM-like interface for walking\n * through the data.\n *\n * @fileoverview DOM-like interface for walking through data\n * @author Kevin Kwok \n * @author Guillermo Webster \n * @author Jerome Wu \n */\nmodule.exports = function (iPage) {\n var page = (0, _extends2.default)({}, iPage, {\n paragraphs: [],\n lines: [],\n words: [],\n symbols: []\n });\n page.blocks.forEach(function (iBlock) {\n var block = (0, _extends2.default)({}, iBlock, {\n page: page,\n lines: [],\n words: [],\n symbols: []\n });\n block.paragraphs.forEach(function (iPara) {\n var para = (0, _extends2.default)({}, iPara, {\n block: block,\n page: page,\n words: [],\n symbols: []\n });\n para.lines.forEach(function (iLine) {\n var line = (0, _extends2.default)({}, iLine, {\n paragraph: para,\n block: block,\n page: page,\n symbols: []\n });\n line.words.forEach(function (iWord) {\n var word = (0, _extends2.default)({}, iWord, {\n line: line,\n paragraph: para,\n block: block,\n page: page\n });\n word.symbols.forEach(function (iSym) {\n var sym = (0, _extends2.default)({}, iSym, {\n word: word,\n line: line,\n paragraph: para,\n block: block,\n page: page\n });\n sym.line.symbols.push(sym);\n sym.paragraph.symbols.push(sym);\n sym.block.symbols.push(sym);\n sym.page.symbols.push(sym);\n });\n word.paragraph.words.push(word);\n word.block.words.push(word);\n word.page.words.push(word);\n });\n line.block.lines.push(line);\n line.page.lines.push(line);\n });\n para.page.paragraphs.push(para);\n });\n });\n return page;\n};","\"use strict\";\n\n/**\n *\n * The job exectued by worker, each job is basically a recognition of an image.\n *\n * @fileoverview Job excuted by Worker\n * @author Kevin Kwok \n * @author Guillermo Webster \n * @author Jerome Wu \n */\nvar adapter = require('../node/');\n/** A global job counter as part of job id */\n\n\nvar jobCounter = 0;\n\nvar TesseractJob = /*#__PURE__*/function () {\n /**\n * constructor\n *\n * @name constructor\n * @function initial a TesseractJob\n * @access public\n * @param {object} worker - An instance of TesseractWorker\n */\n function TesseractJob(worker) {\n jobCounter += 1;\n this.id = \"Job-\" + jobCounter + \"-\" + Math.random().toString(16).slice(3, 8);\n this._worker = worker;\n /**\n * As all the callback functions are saved in an array.\n * Basically you can register more than callback function\n * for then, catch, progress and finally.\n */\n\n this._resolve = [];\n this._reject = [];\n this._progress = [];\n this._finally = [];\n }\n /**\n * then\n *\n * @name then\n * @function A function to chain like Promise\n * @access public\n * @param {function} resolve - called when the job succeeds\n * @param {function} reject - called when the job fails\n */\n\n\n var _proto = TesseractJob.prototype;\n\n _proto.then = function then(resolve, reject) {\n var _this = this;\n\n return new Promise(function (res, rej) {\n if (!_this._resolve.push) {\n res(_this._result);\n } else {\n _this._resolve.push(res);\n }\n\n _this.catch(rej);\n }).then(resolve, reject);\n }\n /**\n * catch\n *\n * @name catch\n * @function register a function to call when there is an error\n * @access public\n * @param {function} reject - callback function for error\n */\n ;\n\n _proto.catch = function _catch(reject) {\n if (this._reject.push) {\n this._reject.push(reject);\n } else {\n reject(this._reject);\n }\n\n return this;\n }\n /**\n * progress\n *\n * @name progress\n * @function register a function to show progress of the recognition,\n * use res.progress to print the message\n * @access public\n * @param {function} fn - callback function for progress information\n */\n ;\n\n _proto.progress = function progress(fn) {\n this._progress.push(fn);\n\n return this;\n }\n /**\n * finally\n *\n * @name finally\n * @function registry a callback function for final\n * @access public\n * @param {function} fn - callback function for final\n */\n ;\n\n _proto.finally = function _finally(fn) {\n this._finally.push(fn);\n\n return this;\n }\n /**\n * send\n *\n * @name send\n * @function send specific action with payload a worker\n * @access public\n * @param {string} action - action to trigger, should be \"recognize\" or \"detect\"\n * @param {object} payload - data to be consumed\n */\n ;\n\n _proto.send = function send(action, payload) {\n adapter.sendPacket(this._worker, {\n jobId: this.id,\n action: action,\n payload: payload\n });\n }\n /**\n * handle\n *\n * @name handle\n * @function execute packet action\n * @access public\n * @param {object} packet action and payload to handle\n */\n ;\n\n _proto.handle = function handle(packet) {\n var data = packet.data;\n var runFinallyCbs = false;\n\n if (packet.status === 'resolve') {\n if (this._resolve.length === 0) console.log(data);\n\n this._resolve.forEach(function (fn) {\n var ret = fn(data);\n\n if (ret && typeof ret.then === 'function') {\n console.warn('TesseractJob instances do not chain like ES6 Promises. To convert it into a real promise, use Promise.resolve.');\n }\n });\n\n this._resolve = data;\n\n this._worker.dequeue();\n\n runFinallyCbs = true;\n } else if (packet.status === 'reject') {\n if (this._reject.length === 0) console.error(data);\n\n this._reject.forEach(function (fn) {\n return fn(data);\n });\n\n this._reject = data;\n\n this._worker.dequeue();\n\n runFinallyCbs = true;\n } else if (packet.status === 'progress') {\n this._progress.forEach(function (fn) {\n return fn(data);\n });\n } else {\n console.warn('Message type unknown', packet.status);\n }\n\n if (runFinallyCbs) {\n this._finally.forEach(function (fn) {\n return fn(data);\n });\n }\n };\n\n return TesseractJob;\n}();\n\nmodule.exports = TesseractJob;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/esm/extends\"));\n\n/**\n *\n * Entry point for tesseract.js, should be the entry when bundling.\n *\n * @fileoverview entry point for tesseract.js\n * @author Kevin Kwok \n * @author Guillermo Webster \n * @author Jerome Wu \n */\nvar utils = require('tesseract.js-utils');\n\nvar TesseractWorker = require('./common/TesseractWorker');\n\nvar types = require('./common/types');\n\nmodule.exports = (0, _extends2.default)({\n /** Worker for OCR, @see common/TesseractWorker.js */\n TesseractWorker: TesseractWorker,\n\n /** Utilities for tesseract.js, @see {@link https://www.npmjs.com/package/tesseract.js-utils} */\n utils: utils\n}, types);"],"sourceRoot":""} \ No newline at end of file