{"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('<?xml ')) {\n    return {\n      ext: 'xml',\n      mime: 'application/xml'\n    };\n  }\n\n  if (check([0x42, 0x4F, 0x4F, 0x4B, 0x4D, 0x4F, 0x42, 0x49], {\n    offset: 60\n  })) {\n    return {\n      ext: 'mobi',\n      mime: 'application/x-mobipocket-ebook'\n    };\n  } // File Type Box (https://en.wikipedia.org/wiki/ISO_base_media_file_format)\n\n\n  if (check([0x66, 0x74, 0x79, 0x70], {\n    offset: 4\n  })) {\n    if (check([0x6D, 0x69, 0x66, 0x31], {\n      offset: 8\n    })) {\n      return {\n        ext: 'heic',\n        mime: 'image/heif'\n      };\n    }\n\n    if (check([0x6D, 0x73, 0x66, 0x31], {\n      offset: 8\n    })) {\n      return {\n        ext: 'heic',\n        mime: 'image/heif-sequence'\n      };\n    }\n\n    if (check([0x68, 0x65, 0x69, 0x63], {\n      offset: 8\n    }) || check([0x68, 0x65, 0x69, 0x78], {\n      offset: 8\n    })) {\n      return {\n        ext: 'heic',\n        mime: 'image/heic'\n      };\n    }\n\n    if (check([0x68, 0x65, 0x76, 0x63], {\n      offset: 8\n    }) || check([0x68, 0x65, 0x76, 0x78], {\n      offset: 8\n    })) {\n      return {\n        ext: 'heic',\n        mime: 'image/heic-sequence'\n      };\n    }\n  }\n\n  if (check([0xAB, 0x4B, 0x54, 0x58, 0x20, 0x31, 0x31, 0xBB, 0x0D, 0x0A, 0x1A, 0x0A])) {\n    return {\n      ext: 'ktx',\n      mime: 'image/ktx'\n    };\n  }\n\n  if (check([0x44, 0x49, 0x43, 0x4D], {\n    offset: 128\n  })) {\n    return {\n      ext: 'dcm',\n      mime: 'application/dicom'\n    };\n  } // Musepack, SV7\n\n\n  if (check([0x4D, 0x50, 0x2B])) {\n    return {\n      ext: 'mpc',\n      mime: 'audio/x-musepack'\n    };\n  } // Musepack, SV8\n\n\n  if (check([0x4D, 0x50, 0x43, 0x4B])) {\n    return {\n      ext: 'mpc',\n      mime: 'audio/x-musepack'\n    };\n  }\n\n  if (check([0x42, 0x45, 0x47, 0x49, 0x4E, 0x3A])) {\n    return {\n      ext: 'ics',\n      mime: 'text/calendar'\n    };\n  }\n\n  if (check([0x67, 0x6C, 0x54, 0x46, 0x02, 0x00, 0x00, 0x00])) {\n    return {\n      ext: 'glb',\n      mime: 'model/gltf-binary'\n    };\n  }\n\n  if (check([0xD4, 0xC3, 0xB2, 0xA1]) || check([0xA1, 0xB2, 0xC3, 0xD4])) {\n    return {\n      ext: 'pcap',\n      mime: 'application/vnd.tcpdump.pcap'\n    };\n  }\n\n  return null;\n};\n\nmodule.exports = fileType; // TODO: Remove this for the next major release\n\nmodule.exports.default = fileType;\nObject.defineProperty(fileType, 'minimumBytes', {\n  value: 4100\n});\n\nmodule.exports.stream = function (readableStream) {\n  return new Promise(function (resolve, reject) {\n    // Using `eval` to work around issues when bundling with Webpack\n    var stream = eval('require')('stream'); // eslint-disable-line no-eval\n\n    readableStream.once('readable', function () {\n      var pass = new stream.PassThrough();\n      var chunk = readableStream.read(module.exports.minimumBytes) || readableStream.read();\n\n      try {\n        pass.fileType = fileType(chunk);\n      } catch (error) {\n        reject(error);\n      }\n\n      readableStream.unshift(chunk);\n\n      if (stream.pipeline) {\n        resolve(stream.pipeline(readableStream, pass, function () {}));\n      } else {\n        resolve(readableStream.pipe(pass));\n      }\n    });\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};","/*!\n * Determine if an object is a Buffer\n *\n * @author   Feross Aboukhadijeh <https://feross.org>\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 <antimatter15@gmail.com>\n * @author Guillermo Webster <gui@mit.edu>\n * @author Jerome Wu <jeromewus@gmail.com>\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 <input type=\"file\" />\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 \"<scheme>://\" 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 <antimatter15@gmail.com>\n * @author Guillermo Webster <gui@mit.edu>\n * @author Jerome Wu <jeromewus@gmail.com>\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 \"<scheme>://\" 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 <antimatter15@gmail.com>\n * @author Guillermo Webster <gui@mit.edu>\n * @author Jerome Wu <jeromewus@gmail.com>\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 <antimatter15@gmail.com>\n * @author Guillermo Webster <gui@mit.edu>\n * @author Jerome Wu <jeromewus@gmail.com>\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 <antimatter15@gmail.com>\n * @author Guillermo Webster <gui@mit.edu>\n * @author Jerome Wu <jeromewus@gmail.com>\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":""}