您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
https://gitee.com/kumatea/tesseract-dist/raw/master/2.1.5/tesseract-fast.min.js
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.greasyforks.org/scripts/437298/1100275/tesseract-fastminjs.js
!(function (e, t) { "object" == typeof exports && "object" == typeof module ? (module.exports = t()) : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? (exports.Tesseract = t()) : (e.Tesseract = t()); })(window, function () { return (function (e) { var t = {}; function r(n) { if (t[n]) return t[n].exports; var o = (t[n] = { i: n, l: !1, exports: {} }); return e[n].call(o.exports, o, o.exports, r), (o.l = !0), o.exports; } return ( (r.m = e), (r.c = t), (r.d = function (e, t, n) { r.o(e, t) || Object.defineProperty(e, t, { enumerable: !0, get: n }); }), (r.r = function (e) { "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(e, "__esModule", { value: !0 }); }), (r.t = function (e, t) { if ((1 & t && (e = r(e)), 8 & t)) return e; if (4 & t && "object" == typeof e && e && e.__esModule) return e; var n = Object.create(null); if ((r.r(n), Object.defineProperty(n, "default", { enumerable: !0, value: e }), 2 & t && "string" != typeof e)) for (var o in e) r.d( n, o, function (t) { return e[t]; }.bind(null, o) ); return n; }), (r.n = function (e) { var t = e && e.__esModule ? function () { return e.default; } : function () { return e; }; return r.d(t, "a", t), t; }), (r.o = function (e, t) { return Object.prototype.hasOwnProperty.call(e, t); }), (r.p = ""), r((r.s = 12)) ); })([ function (e, t, r) { var n; !(function (o) { "use strict"; function i(e, t, r) { var n, o = document.createElement("img"); function a(t, a) { a && console.log(a), t && i.isInstanceOf("Blob", t) ? ((e = t), (n = i.createObjectURL(e))) : ((n = e), r && r.crossOrigin && (o.crossOrigin = r.crossOrigin)), (o.src = n); } return ( (o.onerror = function (a) { return i.onerror(o, a, e, n, t, r); }), (o.onload = function (a) { return i.onload(o, a, e, n, t, r); }), "string" == typeof e ? (i.hasMetaOption(r) ? i.fetchBlob(e, a, r) : a(), o) : i.isInstanceOf("Blob", e) || i.isInstanceOf("File", e) ? (n = i.createObjectURL(e)) ? ((o.src = n), o) : i.readFile(e, function (e) { var r = e.target; r && r.result ? (o.src = r.result) : t && t(e); }) : void 0 ); } var a = (o.createObjectURL && o) || (o.URL && URL.revokeObjectURL && URL) || (o.webkitURL && webkitURL); function c(e, t) { !e || "blob:" !== e.slice(0, 5) || (t && t.noRevoke) || i.revokeObjectURL(e); } (i.hasMetaOption = function (e) { return e && e.meta; }), (i.fetchBlob = function (e, t) { t(); }), (i.isInstanceOf = function (e, t) { return Object.prototype.toString.call(t) === "[object " + e + "]"; }), (i.transform = function (e, t, r, n, o) { r(e, o); }), (i.onerror = function (e, t, r, n, o, i) { c(n, i), o && o.call(e, t); }), (i.onload = function (e, t, r, n, o, a) { c(n, a), o && i.transform(e, a, o, r, { originalWidth: e.naturalWidth || e.width, originalHeight: e.naturalHeight || e.height }); }), (i.createObjectURL = function (e) { return !!a && a.createObjectURL(e); }), (i.revokeObjectURL = function (e) { return !!a && a.revokeObjectURL(e); }), (i.readFile = function (e, t, r) { if (o.FileReader) { var n = new FileReader(); if (((n.onload = n.onerror = t), n[(r = r || "readAsDataURL")])) return n[r](e), n; } return !1; }), void 0 === (n = function () { return i; }.call(t, r, t, e)) || (e.exports = n); })(("undefined" != typeof window && window) || this); }, function (e, t, r) { var n, o, i; !(function (a) { "use strict"; (o = [r(0)]), void 0 === (i = "function" == typeof (n = function (e) { var t = "undefined" != typeof Blob && (Blob.prototype.slice || Blob.prototype.webkitSlice || Blob.prototype.mozSlice); (e.blobSlice = t && function () { var e = this.slice || this.webkitSlice || this.mozSlice; return e.apply(this, arguments); }), (e.metaDataParsers = { jpeg: { 65505: [], 65517: [] } }), (e.parseMetaData = function (t, r, n, o) { o = o || {}; var i = this, a = (n = n || {}).maxMetaDataSize || 262144; (!!("undefined" != typeof DataView && t && t.size >= 12 && "image/jpeg" === t.type && e.blobSlice) && e.readFile( e.blobSlice.call(t, 0, a), function (t) { if (t.target.error) return console.log(t.target.error), void r(o); var a, c, s, u, l = t.target.result, f = new DataView(l), p = 2, d = f.byteLength - 4, h = p; if (65496 === f.getUint16(0)) { for (; p < d && (((a = f.getUint16(p)) >= 65504 && a <= 65519) || 65534 === a); ) { if (p + (c = f.getUint16(p + 2) + 2) > f.byteLength) { console.log("Invalid meta data: Invalid segment size."); break; } if ((s = e.metaDataParsers.jpeg[a]) && !n.disableMetaDataParsers) for (u = 0; u < s.length; u += 1) s[u].call(i, f, p, c, o, n); h = p += c; } !n.disableImageHead && h > 6 && (l.slice ? (o.imageHead = l.slice(0, h)) : (o.imageHead = new Uint8Array(l).subarray(0, h))); } else console.log("Invalid JPEG file: Missing JPEG marker."); r(o); }, "readAsArrayBuffer" )) || r(o); }), (e.replaceHead = function (t, r, n) { e.parseMetaData( t, function (o) { n(new Blob([r, e.blobSlice.call(t, o.imageHead.byteLength)], { type: "image/jpeg" })); }, { maxMetaDataSize: 256, disableMetaDataParsers: !0 } ); }); var r = e.transform; e.transform = function (t, n, o, i, a) { e.hasMetaOption(n) ? e.parseMetaData( i, function (a) { r.call(e, t, n, o, i, a); }, n, a ) : r.apply(e, arguments); }; }) ? n.apply(t, o) : n) || (e.exports = i); })(); }, function (e, t) { e.exports = function (e, t) { return "".concat(e, "-").concat(t, "-").concat(Math.random().toString(16).slice(3, 8)); }; }, function (e, t) { var r = this, n = !1; (t.logging = n), (t.setLogging = function (e) { n = e; }), (t.log = function () { for (var e = arguments.length, t = new Array(e), o = 0; o < e; o++) t[o] = arguments[o]; return n ? console.log.apply(r, t) : null; }); }, function (e, t) { var r, n, o = (e.exports = {}); function i() { throw new Error("setTimeout has not been defined"); } function a() { throw new Error("clearTimeout has not been defined"); } function c(e) { if (r === setTimeout) return setTimeout(e, 0); if ((r === i || !r) && setTimeout) return (r = setTimeout), setTimeout(e, 0); try { return r(e, 0); } catch (t) { try { return r.call(null, e, 0); } catch (t) { return r.call(this, e, 0); } } } !(function () { try { r = "function" == typeof setTimeout ? setTimeout : i; } catch (e) { r = i; } try { n = "function" == typeof clearTimeout ? clearTimeout : a; } catch (e) { n = a; } })(); var s, u = [], l = !1, f = -1; function p() { l && s && ((l = !1), s.length ? (u = s.concat(u)) : (f = -1), u.length && d()); } function d() { if (!l) { var e = c(p); l = !0; for (var t = u.length; t; ) { for (s = u, u = []; ++f < t; ) s && s[f].run(); (f = -1), (t = u.length); } (s = null), (l = !1), (function (e) { if (n === clearTimeout) return clearTimeout(e); if ((n === a || !n) && clearTimeout) return (n = clearTimeout), clearTimeout(e); try { n(e); } catch (t) { try { return n.call(null, e); } catch (t) { return n.call(this, e); } } })(e); } } function h(e, t) { (this.fun = e), (this.array = t); } function g() {} (o.nextTick = function (e) { var t = new Array(arguments.length - 1); if (arguments.length > 1) for (var r = 1; r < arguments.length; r++) t[r - 1] = arguments[r]; u.push(new h(e, t)), 1 !== u.length || l || c(d); }), (h.prototype.run = function () { this.fun.apply(null, this.array); }), (o.title = "browser"), (o.browser = !0), (o.env = {}), (o.argv = []), (o.version = ""), (o.versions = {}), (o.on = g), (o.addListener = g), (o.once = g), (o.off = g), (o.removeListener = g), (o.removeAllListeners = g), (o.emit = g), (o.prependListener = g), (o.prependOnceListener = g), (o.listeners = function (e) { return []; }), (o.binding = function (e) { throw new Error("process.binding is not supported"); }), (o.cwd = function () { return "/"; }), (o.chdir = function (e) { throw new Error("process.chdir is not supported"); }), (o.umask = function () { return 0; }); }, function (e, t, r) { var n, o; void 0 === (o = "function" == typeof (n = function () { return function () { var e = arguments.length; if (0 === e) throw new Error("resolveUrl requires at least one argument; got none."); var t = document.createElement("base"); if (((t.href = arguments[0]), 1 === e)) return t.href; var r = document.getElementsByTagName("head")[0]; r.insertBefore(t, r.firstChild); for (var n, o = document.createElement("a"), i = 1; i < e; i++) (o.href = arguments[i]), (n = o.href), (t.href = n); return r.removeChild(t), n; }; }) ? n.call(t, r, t, e) : n) || (e.exports = o); }, function (e, t, r) { var n = r(2), o = 0; e.exports = function (e) { var t = e.id, r = e.action, i = e.payload, a = void 0 === i ? {} : i, c = t; return void 0 === c && ((c = n("Job", o)), (o += 1)), { id: c, action: r, payload: a }; }; }, function (e, t, r) { function n(e, t, r, n, o, i, a) { try { var c = e[i](a), s = c.value; } catch (e) { return void r(e); } c.done ? t(s) : Promise.resolve(s).then(n, o); } function o(e) { return function () { var t = this, r = arguments; return new Promise(function (o, i) { var a = e.apply(t, r); function c(e) { n(a, o, i, c, s, "next", e); } function s(e) { n(a, o, i, c, s, "throw", e); } c(void 0); }); }; } function i(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function (t) { return Object.getOwnPropertyDescriptor(e, t).enumerable; })), r.push.apply(r, n); } return r; } function a(e) { for (var t = 1; t < arguments.length; t++) { var r = null != arguments[t] ? arguments[t] : {}; t % 2 ? i(Object(r), !0).forEach(function (t) { c(e, t, r[t]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : i(Object(r)).forEach(function (t) { Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t)); }); } return e; } function c(e, t, r) { return t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = r), e; } function s(e, t) { if (null == e) return {}; var r, n, o = (function (e, t) { if (null == e) return {}; var r, n, o = {}, i = Object.keys(e); for (n = 0; n < i.length; n++) (r = i[n]), t.indexOf(r) >= 0 || (o[r] = e[r]); return o; })(e, t); if (Object.getOwnPropertySymbols) { var i = Object.getOwnPropertySymbols(e); for (n = 0; n < i.length; n++) (r = i[n]), t.indexOf(r) >= 0 || (Object.prototype.propertyIsEnumerable.call(e, r) && (o[r] = e[r])); } return o; } var u = r(16), l = r(19), f = r(6), p = r(3).log, d = r(2), h = r(20).defaultOEM, g = r(21), m = g.defaultOptions, y = g.spawnWorker, b = g.terminateWorker, v = g.onMessage, w = g.loadImage, A = g.send, S = 0; e.exports = function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, t = d("Worker", S), r = u(a({}, m, {}, e)), n = r.logger, i = r.errorHandler, c = s(r, ["logger", "errorHandler"]), g = {}, O = {}, x = y(c); S += 1; var E = function (e, t) { g[e] = t; }, P = function (e, t) { O[e] = t; }, j = function (e) { var r = e.id, n = e.action, o = e.payload; return new Promise(function (e, i) { p("[".concat(t, "]: Start ").concat(r, ", action=").concat(n)), E(n, e), P(n, i), A(x, { workerId: t, jobId: r, action: n, payload: o }); }); }, k = function (e) { return j(f({ id: e, action: "load", payload: { options: c } })); }, L = function (e, t, r) { return j(f({ id: r, action: "FS", payload: { method: "writeFile", args: [e, t] } })); }, R = function (e, t) { return j(f({ id: t, action: "FS", payload: { method: "readFile", args: [e, { encoding: "utf8" }] } })); }, I = function (e, t) { return j(f({ id: t, action: "FS", payload: { method: "unlink", args: [e] } })); }, D = function (e, t, r) { return j(f({ id: r, action: "FS", payload: { method: e, args: t } })); }, T = function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "eng", t = arguments.length > 1 ? arguments[1] : void 0; return j(f({ id: t, action: "loadLanguage", payload: { langs: e, options: c } })); }, C = function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "eng", t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : h, r = arguments.length > 2 ? arguments[2] : void 0; return j(f({ id: r, action: "initialize", payload: { langs: e, oem: t } })); }, B = function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, t = arguments.length > 1 ? arguments[1] : void 0; return j(f({ id: t, action: "setParameters", payload: { params: e } })); }, F = (function () { var e = o( regeneratorRuntime.mark(function e(t) { var r, n, o = arguments; return regeneratorRuntime.wrap(function (e) { for (;;) switch ((e.prev = e.next)) { case 0: return (r = o.length > 1 && void 0 !== o[1] ? o[1] : {}), (n = o.length > 2 ? o[2] : void 0), (e.t0 = j), (e.t1 = f), (e.t2 = n), (e.next = 7), w(t); case 7: return (e.t3 = e.sent), (e.t4 = r), (e.t5 = { image: e.t3, options: e.t4 }), (e.t6 = { id: e.t2, action: "recognize", payload: e.t5 }), (e.t7 = (0, e.t1)(e.t6)), e.abrupt("return", (0, e.t0)(e.t7)); case 13: case "end": return e.stop(); } }, e); }) ); return function (t) { return e.apply(this, arguments); }; })(), M = function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "Tesseract OCR Result", t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1], r = arguments.length > 2 ? arguments[2] : void 0; return j(f({ id: r, action: "getPDF", payload: { title: e, textonly: t } })); }, U = (function () { var e = o( regeneratorRuntime.mark(function e(t, r) { return regeneratorRuntime.wrap(function (e) { for (;;) switch ((e.prev = e.next)) { case 0: return (e.t0 = j), (e.t1 = f), (e.t2 = r), (e.next = 5), w(t); case 5: return (e.t3 = e.sent), (e.t4 = { image: e.t3 }), (e.t5 = { id: e.t2, action: "detect", payload: e.t4 }), (e.t6 = (0, e.t1)(e.t5)), e.abrupt("return", (0, e.t0)(e.t6)); case 10: case "end": return e.stop(); } }, e); }) ); return function (t, r) { return e.apply(this, arguments); }; })(), N = (function () { var e = o( regeneratorRuntime.mark(function e() { return regeneratorRuntime.wrap(function (e) { for (;;) switch ((e.prev = e.next)) { case 0: return null !== x && (b(x), (x = null)), e.abrupt("return", Promise.resolve()); case 2: case "end": return e.stop(); } }, e); }) ); return function () { return e.apply(this, arguments); }; })(); return ( v(x, function (e) { var t = e.workerId, r = e.jobId, o = e.status, c = e.action, s = e.data; if ("resolve" === o) { p("[".concat(t, "]: Complete ").concat(r)); var u = s; "recognize" === c ? (u = l(s)) : "getPDF" === c && (u = Array.from(a({}, s, { length: Object.keys(s).length }))), g[c]({ jobId: r, data: u }); } else if ("reject" === o) { if ((O[c](s), !i)) throw Error(s); i(s); } else "progress" === o && n(a({}, s, { userJobId: r })); }), { id: t, worker: x, setResolve: E, setReject: P, load: k, writeText: L, readText: R, removeFile: I, FS: D, loadLanguage: T, initialize: C, setParameters: B, recognize: F, getPDF: M, detect: U, terminate: N } ); }; }, function (e, t) { e.exports = { TESSERACT_ONLY: 0, LSTM_ONLY: 1, TESSERACT_LSTM_COMBINED: 2, DEFAULT: 3 }; }, function (e, t, r) { var n, o, i; !(function (a) { "use strict"; (o = [r(0)]), void 0 === (i = "function" == typeof (n = function (e) { var t = e.transform; (e.transform = function (r, n, o, i, a) { t.call(e, e.scale(r, n, a), n, o, i, a); }), (e.transformCoordinates = function () {}), (e.getTransformedOptions = function (e, t) { var r, n, o, i, a = t.aspectRatio; if (!a) return t; for (n in ((r = {}), t)) Object.prototype.hasOwnProperty.call(t, n) && (r[n] = t[n]); return (r.crop = !0), (o = e.naturalWidth || e.width) / (i = e.naturalHeight || e.height) > a ? ((r.maxWidth = i * a), (r.maxHeight = i)) : ((r.maxWidth = o), (r.maxHeight = o / a)), r; }), (e.renderImageToCanvas = function (e, t, r, n, o, i, a, c, s, u, l) { var f = e.getContext("2d"); return !1 === l.imageSmoothingEnabled ? (f.imageSmoothingEnabled = !1) : l.imageSmoothingQuality && (f.imageSmoothingQuality = l.imageSmoothingQuality), f.drawImage(t, r, n, o, i, a, c, s, u), e; }), (e.hasCanvasOption = function (e) { return e.canvas || e.crop || !!e.aspectRatio; }), (e.scale = function (t, r, n) { r = r || {}; var o, i, a, c, s, u, l, f, p, d, h, g = document.createElement("canvas"), m = t.getContext || (e.hasCanvasOption(r) && g.getContext), y = t.naturalWidth || t.width, b = t.naturalHeight || t.height, v = y, w = b; function A() { var e = Math.max((a || v) / v, (c || w) / w); e > 1 && ((v *= e), (w *= e)); } function S() { var e = Math.min((o || v) / v, (i || w) / w); e < 1 && ((v *= e), (w *= e)); } if ( (m && ((l = (r = e.getTransformedOptions(t, r, n)).left || 0), (f = r.top || 0), r.sourceWidth ? ((s = r.sourceWidth), void 0 !== r.right && void 0 === r.left && (l = y - s - r.right)) : (s = y - l - (r.right || 0)), r.sourceHeight ? ((u = r.sourceHeight), void 0 !== r.bottom && void 0 === r.top && (f = b - u - r.bottom)) : (u = b - f - (r.bottom || 0)), (v = s), (w = u)), (o = r.maxWidth), (i = r.maxHeight), (a = r.minWidth), (c = r.minHeight), m && o && i && r.crop ? ((v = o), (w = i), (h = s / u - o / i) < 0 ? ((u = (i * s) / o), void 0 === r.top && void 0 === r.bottom && (f = (b - u) / 2)) : h > 0 && ((s = (o * u) / i), void 0 === r.left && void 0 === r.right && (l = (y - s) / 2))) : ((r.contain || r.cover) && ((a = o = o || a), (c = i = i || c)), r.cover ? (S(), A()) : (A(), S())), m) ) { if (((p = r.pixelRatio) > 1 && ((g.style.width = v + "px"), (g.style.height = w + "px"), (v *= p), (w *= p), g.getContext("2d").scale(p, p)), (d = r.downsamplingRatio) > 0 && d < 1 && v < s && w < u)) for (; s * d > v; ) (g.width = s * d), (g.height = u * d), e.renderImageToCanvas(g, t, l, f, s, u, 0, 0, g.width, g.height, r), (l = 0), (f = 0), (s = g.width), (u = g.height), ((t = document.createElement("canvas")).width = s), (t.height = u), e.renderImageToCanvas(t, g, 0, 0, s, u, 0, 0, s, u, r); return (g.width = v), (g.height = w), e.transformCoordinates(g, r), e.renderImageToCanvas(g, t, l, f, s, u, 0, 0, v, w, r); } return (t.width = v), (t.height = w), t; }); }) ? n.apply(t, o) : n) || (e.exports = i); })(); }, function (e, t, r) { var n, o, i; !(function (a) { "use strict"; (o = [r(0), r(1)]), void 0 === (i = "function" == typeof (n = function (e) { function t(e) { e && (Object.defineProperty(this, "map", { value: this.privateIFDs[e].map }), Object.defineProperty(this, "tags", { value: (this.tags && this.tags[e]) || {} })); } (t.prototype.map = { Orientation: 274, Thumbnail: 513, Exif: 34665, GPSInfo: 34853, Interoperability: 40965 }), (t.prototype.privateIFDs = { 34665: { name: "Exif", map: {} }, 34853: { name: "GPSInfo", map: {} }, 40965: { name: "Interoperability", map: {} } }), (t.prototype.get = function (e) { return this[e] || this[this.map[e]]; }); var r = { 1: { getValue: function (e, t) { return e.getUint8(t); }, size: 1, }, 2: { getValue: function (e, t) { return String.fromCharCode(e.getUint8(t)); }, size: 1, ascii: !0, }, 3: { getValue: function (e, t, r) { return e.getUint16(t, r); }, size: 2, }, 4: { getValue: function (e, t, r) { return e.getUint32(t, r); }, size: 4, }, 5: { getValue: function (e, t, r) { return e.getUint32(t, r) / e.getUint32(t + 4, r); }, size: 8, }, 9: { getValue: function (e, t, r) { return e.getInt32(t, r); }, size: 4, }, 10: { getValue: function (e, t, r) { return e.getInt32(t, r) / e.getInt32(t + 4, r); }, size: 8, }, }; function n(e, t, n, o, i, a) { var c, s, u, l, f, p, d = r[o]; if (d) { if (!((s = (c = d.size * i) > 4 ? t + e.getUint32(n + 8, a) : n + 8) + c > e.byteLength)) { if (1 === i) return d.getValue(e, s, a); for (u = [], l = 0; l < i; l += 1) u[l] = d.getValue(e, s + l * d.size, a); if (d.ascii) { for (f = "", l = 0; l < u.length && "\0" !== (p = u[l]); l += 1) f += p; return f; } return u; } console.log("Invalid Exif data: Invalid data offset."); } else console.log("Invalid Exif data: Invalid tag type."); } function o(e, t, r, o, i, a, c, s) { var u, l, f, p, d, h; if (r + 6 > e.byteLength) console.log("Invalid Exif data: Invalid directory offset."); else { if (!((l = r + 2 + 12 * (u = e.getUint16(r, o))) + 4 > e.byteLength)) { for (f = 0; f < u; f += 1) (p = r + 2 + 12 * f), (d = e.getUint16(p, o)), (c && !c[d]) || (s && !0 === s[d]) || ((h = n(e, t, p, e.getUint16(p + 2, o), e.getUint32(p + 4, o), o)), (i[d] = h), a && (a[d] = p)); return e.getUint32(l, o); } console.log("Invalid Exif data: Invalid directory size."); } } (r[7] = r[1]), (e.parseExifData = function (e, r, n, i, a) { if (!a.disableExif) { var c, s, u = a.includeExifTags, l = a.excludeExifTags || { 34665: { 37500: !0 } }, f = r + 10; if (1165519206 === e.getUint32(r + 4)) if (f + 8 > e.byteLength) console.log("Invalid Exif data: Invalid segment size."); else if (0 === e.getUint16(r + 8)) { switch (e.getUint16(f)) { case 18761: c = !0; break; case 19789: c = !1; break; default: return void console.log("Invalid Exif data: Invalid byte alignment marker."); } 42 === e.getUint16(f + 2, c) ? ((s = e.getUint32(f + 4, c)), (i.exif = new t()), a.disableExifOffsets || ((i.exifOffsets = new t()), (i.exifTiffOffset = f), (i.exifLittleEndian = c)), (s = o(e, f, f + s, c, i.exif, i.exifOffsets, u, l)) && !a.disableExifThumbnail && ((s = o(e, f, f + s, c, i.exif, i.exifOffsets, u, l)), i.exif[513] && i.exif[514] && (i.exif[513] = (function (e, t, r) { if (r && !(t + r > e.byteLength)) return new Blob([e.buffer.slice(t, t + r)], { type: "image/jpeg" }); console.log("Invalid Exif data: Invalid thumbnail data."); })(e, f + i.exif[513], i.exif[514]))), Object.keys(i.exif.privateIFDs).forEach(function (r) { !(function (e, r, n, i, a, c, s) { var u = e.exif[r]; u && ((e.exif[r] = new t(r)), e.exifOffsets && (e.exifOffsets[r] = new t(r)), o(n, i, i + u, a, e.exif[r], e.exifOffsets && e.exifOffsets[r], c && c[r], s && s[r])); })(i, r, e, f, c, u, l); })) : console.log("Invalid Exif data: Missing TIFF marker."); } else console.log("Invalid Exif data: Missing byte alignment offset."); } }), e.metaDataParsers.jpeg[65505].push(e.parseExifData), (e.exifWriters = { 274: function (e, t, r) { return new DataView(e, t.exifOffsets[274] + 8, 2).setUint16(0, r, t.exifLittleEndian), e; }, }), (e.writeExifData = function (t, r, n, o) { e.exifWriters[r.exif.map[n]](t, r, o); }), (e.ExifMap = t); }) ? n.apply(t, o) : n) || (e.exports = i); })(); }, function (e, t, r) { var n, o, i; !(function (a) { "use strict"; (o = [r(0), r(1)]), void 0 === (i = "function" == typeof (n = function (e) { function t() {} function r(e, t, r, n, o) { return "binary" === t.types[e] ? new Blob([r.buffer.slice(n, n + o)]) : "Uint16" === t.types[e] ? r.getUint16(n) : (function (e, t, r) { for (var n = "", o = t + r, i = t; i < o; i += 1) n += String.fromCharCode(e.getUint8(i)); return n; })(r, n, o); } function n(e, t) { return void 0 === e ? t : e instanceof Array ? (e.push(t), e) : [e, t]; } function o(e, t, o, i, a, c) { for (var s, u, l, f = t + o, p = t; p < f; ) 28 === e.getUint8(p) && 2 === e.getUint8(p + 1) && ((l = e.getUint8(p + 2)), (a && !a[l]) || (c && c[l]) || ((u = e.getInt16(p + 3)), (s = r(l, i.iptc, e, p + 5, u)), (i.iptc[l] = n(i.iptc[l], s)), i.iptcOffsets && (i.iptcOffsets[l] = p))), (p += 1); } function i(e, t) { return 943868237 === e.getUint32(t) && 1028 === e.getUint16(t + 4); } function a(e, t) { var r = e.getUint8(t + 7); return r % 2 != 0 && (r += 1), 0 === r && (r = 4), r; } (t.prototype.map = { ObjectName: 5 }), (t.prototype.types = { 0: "Uint16", 200: "Uint16", 201: "Uint16", 202: "binary" }), (t.prototype.get = function (e) { return this[e] || this[this.map[e]]; }), (e.parseIptcData = function (e, r, n, c, s) { if (!s.disableIptc) for (var u = r + n; r + 8 < u; ) { if (i(e, r)) { var l = a(e, r), f = r + 8 + l; if (f > u) { console.log("Invalid IPTC data: Invalid segment offset."); break; } var p = e.getUint16(r + 6 + l); if (r + p > u) { console.log("Invalid IPTC data: Invalid segment size."); break; } return (c.iptc = new t()), s.disableIptcOffsets || (c.iptcOffsets = new t()), void o(e, f, p, c, s.includeIptcTags, s.excludeIptcTags || { 202: !0 }); } r += 1; } }), e.metaDataParsers.jpeg[65517].push(e.parseIptcData), (e.IptcMap = t); }) ? n.apply(t, o) : n) || (e.exports = i); })(); }, function (e, t, r) { function n(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function (t) { return Object.getOwnPropertyDescriptor(e, t).enumerable; })), r.push.apply(r, n); } return r; } function o(e, t, r) { return t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = r), e; } r(13); var i = r(15), a = r(7), c = r(35), s = r(36), u = r(8), l = r(37), f = r(3).setLogging; e.exports = (function (e) { for (var t = 1; t < arguments.length; t++) { var r = null != arguments[t] ? arguments[t] : {}; t % 2 ? n(Object(r), !0).forEach(function (t) { o(e, t, r[t]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : n(Object(r)).forEach(function (t) { Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t)); }); } return e; })({ languages: s, OEM: u, PSM: l, createScheduler: i, createWorker: a, setLogging: f }, c); }, function (e, t, r) { (function (e) { function t(e) { return (t = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e; } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e; })(e); } var r = (function (e) { "use strict"; var r = Object.prototype, n = r.hasOwnProperty, o = "function" == typeof Symbol ? Symbol : {}, i = o.iterator || "@@iterator", a = o.asyncIterator || "@@asyncIterator", c = o.toStringTag || "@@toStringTag"; function s(e, t, r, n) { var o = t && t.prototype instanceof f ? t : f, i = Object.create(o.prototype), a = new O(n || []); return ( (i._invoke = (function (e, t, r) { var n = "suspendedStart"; return function (o, i) { if ("executing" === n) throw new Error("Generator is already running"); if ("completed" === n) { if ("throw" === o) throw i; return E(); } for (r.method = o, r.arg = i; ; ) { var a = r.delegate; if (a) { var c = w(a, r); if (c) { if (c === l) continue; return c; } } if ("next" === r.method) r.sent = r._sent = r.arg; else if ("throw" === r.method) { if ("suspendedStart" === n) throw ((n = "completed"), r.arg); r.dispatchException(r.arg); } else "return" === r.method && r.abrupt("return", r.arg); n = "executing"; var s = u(e, t, r); if ("normal" === s.type) { if (((n = r.done ? "completed" : "suspendedYield"), s.arg === l)) continue; return { value: s.arg, done: r.done }; } "throw" === s.type && ((n = "completed"), (r.method = "throw"), (r.arg = s.arg)); } }; })(e, r, a)), i ); } function u(e, t, r) { try { return { type: "normal", arg: e.call(t, r) }; } catch (e) { return { type: "throw", arg: e }; } } e.wrap = s; var l = {}; function f() {} function p() {} function d() {} var h = {}; h[i] = function () { return this; }; var g = Object.getPrototypeOf, m = g && g(g(x([]))); m && m !== r && n.call(m, i) && (h = m); var y = (d.prototype = f.prototype = Object.create(h)); function b(e) { ["next", "throw", "return"].forEach(function (t) { e[t] = function (e) { return this._invoke(t, e); }; }); } function v(e) { var r; this._invoke = function (o, i) { function a() { return new Promise(function (r, a) { !(function r(o, i, a, c) { var s = u(e[o], e, i); if ("throw" !== s.type) { var l = s.arg, f = l.value; return f && "object" === t(f) && n.call(f, "__await") ? Promise.resolve(f.__await).then( function (e) { r("next", e, a, c); }, function (e) { r("throw", e, a, c); } ) : Promise.resolve(f).then( function (e) { (l.value = e), a(l); }, function (e) { return r("throw", e, a, c); } ); } c(s.arg); })(o, i, r, a); }); } return (r = r ? r.then(a, a) : a()); }; } function w(e, t) { var r = e.iterator[t.method]; if (void 0 === r) { if (((t.delegate = null), "throw" === t.method)) { if (e.iterator.return && ((t.method = "return"), (t.arg = void 0), w(e, t), "throw" === t.method)) return l; (t.method = "throw"), (t.arg = new TypeError("The iterator does not provide a 'throw' method")); } return l; } var n = u(r, e.iterator, t.arg); if ("throw" === n.type) return (t.method = "throw"), (t.arg = n.arg), (t.delegate = null), l; var o = n.arg; return o ? o.done ? ((t[e.resultName] = o.value), (t.next = e.nextLoc), "return" !== t.method && ((t.method = "next"), (t.arg = void 0)), (t.delegate = null), l) : o : ((t.method = "throw"), (t.arg = new TypeError("iterator result is not an object")), (t.delegate = null), l); } function A(e) { var t = { tryLoc: e[0] }; 1 in e && (t.catchLoc = e[1]), 2 in e && ((t.finallyLoc = e[2]), (t.afterLoc = e[3])), this.tryEntries.push(t); } function S(e) { var t = e.completion || {}; (t.type = "normal"), delete t.arg, (e.completion = t); } function O(e) { (this.tryEntries = [{ tryLoc: "root" }]), e.forEach(A, this), this.reset(!0); } function x(e) { if (e) { var t = e[i]; if (t) return t.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var r = -1, o = function t() { for (; ++r < e.length; ) if (n.call(e, r)) return (t.value = e[r]), (t.done = !1), t; return (t.value = void 0), (t.done = !0), t; }; return (o.next = o); } } return { next: E }; } function E() { return { value: void 0, done: !0 }; } return ( (p.prototype = y.constructor = d), (d.constructor = p), (d[c] = p.displayName = "GeneratorFunction"), (e.isGeneratorFunction = function (e) { var t = "function" == typeof e && e.constructor; return !!t && (t === p || "GeneratorFunction" === (t.displayName || t.name)); }), (e.mark = function (e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, d) : ((e.__proto__ = d), c in e || (e[c] = "GeneratorFunction")), (e.prototype = Object.create(y)), e; }), (e.awrap = function (e) { return { __await: e }; }), b(v.prototype), (v.prototype[a] = function () { return this; }), (e.AsyncIterator = v), (e.async = function (t, r, n, o) { var i = new v(s(t, r, n, o)); return e.isGeneratorFunction(r) ? i : i.next().then(function (e) { return e.done ? e.value : i.next(); }); }), b(y), (y[c] = "Generator"), (y[i] = function () { return this; }), (y.toString = function () { return "[object Generator]"; }), (e.keys = function (e) { var t = []; for (var r in e) t.push(r); return ( t.reverse(), function r() { for (; t.length; ) { var n = t.pop(); if (n in e) return (r.value = n), (r.done = !1), r; } return (r.done = !0), r; } ); }), (e.values = x), (O.prototype = { constructor: O, reset: function (e) { if (((this.prev = 0), (this.next = 0), (this.sent = this._sent = void 0), (this.done = !1), (this.delegate = null), (this.method = "next"), (this.arg = void 0), this.tryEntries.forEach(S), !e)) for (var t in this) "t" === t.charAt(0) && n.call(this, t) && !isNaN(+t.slice(1)) && (this[t] = void 0); }, stop: function () { this.done = !0; var e = this.tryEntries[0].completion; if ("throw" === e.type) throw e.arg; return this.rval; }, dispatchException: function (e) { if (this.done) throw e; var t = this; function r(r, n) { return (a.type = "throw"), (a.arg = e), (t.next = r), n && ((t.method = "next"), (t.arg = void 0)), !!n; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return r("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), s = n.call(i, "finallyLoc"); if (c && s) { if (this.prev < i.catchLoc) return r(i.catchLoc, !0); if (this.prev < i.finallyLoc) return r(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return r(i.catchLoc, !0); } else { if (!s) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return r(i.finallyLoc); } } } }, abrupt: function (e, t) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === e || "continue" === e) && i.tryLoc <= t && t <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return (a.type = e), (a.arg = t), i ? ((this.method = "next"), (this.next = i.finallyLoc), l) : this.complete(a); }, complete: function (e, t) { if ("throw" === e.type) throw e.arg; return ( "break" === e.type || "continue" === e.type ? (this.next = e.arg) : "return" === e.type ? ((this.rval = this.arg = e.arg), (this.method = "return"), (this.next = "end")) : "normal" === e.type && t && (this.next = t), l ); }, finish: function (e) { for (var t = this.tryEntries.length - 1; t >= 0; --t) { var r = this.tryEntries[t]; if (r.finallyLoc === e) return this.complete(r.completion, r.afterLoc), S(r), l; } }, catch: function (e) { for (var t = this.tryEntries.length - 1; t >= 0; --t) { var r = this.tryEntries[t]; if (r.tryLoc === e) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; S(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function (e, t, r) { return (this.delegate = { iterator: x(e), resultName: t, nextLoc: r }), "next" === this.method && (this.arg = void 0), l; }, }), e ); })("object" === t(e) ? e.exports : {}); try { regeneratorRuntime = r; } catch (e) { Function("r", "regeneratorRuntime = r")(r); } }.call(this, r(14)(e))); }, function (e, t) { e.exports = function (e) { return ( e.webpackPolyfill || ((e.deprecate = function () {}), (e.paths = []), e.children || (e.children = []), Object.defineProperty(e, "loaded", { enumerable: !0, get: function () { return e.l; }, }), Object.defineProperty(e, "id", { enumerable: !0, get: function () { return e.i; }, }), (e.webpackPolyfill = 1)), e ); }; }, function (e, t, r) { var n = this; function o(e) { return ( (function (e) { if (Array.isArray(e)) { for (var t = 0, r = new Array(e.length); t < e.length; t++) r[t] = e[t]; return r; } })(e) || (function (e) { if (Symbol.iterator in Object(e) || "[object Arguments]" === Object.prototype.toString.call(e)) return Array.from(e); })(e) || (function () { throw new TypeError("Invalid attempt to spread non-iterable instance"); })() ); } function i(e, t, r, n, o, i, a) { try { var c = e[i](a), s = c.value; } catch (e) { return void r(e); } c.done ? t(s) : Promise.resolve(s).then(n, o); } function a(e) { return function () { var t = this, r = arguments; return new Promise(function (n, o) { var a = e.apply(t, r); function c(e) { i(a, n, o, c, s, "next", e); } function s(e) { i(a, n, o, c, s, "throw", e); } c(void 0); }); }; } var c = r(6), s = r(3).log, u = r(2), l = 0; e.exports = function () { var e = u("Scheduler", l), t = {}, r = {}, i = []; l += 1; var f = function () { return Object.keys(t).length; }, p = function () { if (0 !== i.length) for (var e = Object.keys(t), n = 0; n < e.length; n += 1) if (void 0 === r[e[n]]) { i[0](t[e[n]]); break; } }, d = function (t, u) { return new Promise(function (l, f) { var d = c({ action: t, payload: u }); i.push( (function () { var e = a( regeneratorRuntime.mark(function e(a) { return regeneratorRuntime.wrap( function (e) { for (;;) switch ((e.prev = e.next)) { case 0: return i.shift(), (r[a.id] = d), (e.prev = 2), (e.t0 = l), (e.next = 6), a[t].apply(n, [].concat(o(u), [d.id])); case 6: (e.t1 = e.sent), (0, e.t0)(e.t1), (e.next = 13); break; case 10: (e.prev = 10), (e.t2 = e.catch(2)), f(e.t2); case 13: return (e.prev = 13), delete r[a.id], p(), e.finish(13); case 17: case "end": return e.stop(); } }, e, null, [[2, 10, 13, 17]] ); }) ); return function (t) { return e.apply(this, arguments); }; })() ), s("[".concat(e, "]: Add ").concat(d.id, " to JobQueue")), s("[".concat(e, "]: JobQueue length=").concat(i.length)), p(); }); }; return { addWorker: function (r) { return (t[r.id] = r), s("[".concat(e, "]: Add ").concat(r.id)), s("[".concat(e, "]: Number of workers=").concat(f())), p(), r.id; }, addJob: (function () { var t = a( regeneratorRuntime.mark(function t(r) { var n, o, i, a = arguments; return regeneratorRuntime.wrap(function (t) { for (;;) switch ((t.prev = t.next)) { case 0: if (0 !== f()) { t.next = 2; break; } throw Error("[".concat(e, "]: You need to have at least one worker before adding jobs")); case 2: for (n = a.length, o = new Array(n > 1 ? n - 1 : 0), i = 1; i < n; i++) o[i - 1] = a[i]; return t.abrupt("return", d(r, o)); case 4: case "end": return t.stop(); } }, t); }) ); return function (e) { return t.apply(this, arguments); }; })(), terminate: (function () { var e = a( regeneratorRuntime.mark(function e() { return regeneratorRuntime.wrap(function (e) { for (;;) switch ((e.prev = e.next)) { case 0: Object.keys(t).forEach( (function () { var e = a( regeneratorRuntime.mark(function e(r) { return regeneratorRuntime.wrap(function (e) { for (;;) switch ((e.prev = e.next)) { case 0: return (e.next = 2), t[r].terminate(); case 2: case "end": return e.stop(); } }, e); }) ); return function (t) { return e.apply(this, arguments); }; })() ), (i = []); case 2: case "end": return e.stop(); } }, e); }) ); return function () { return e.apply(this, arguments); }; })(), getQueueLen: function () { return i.length; }, getNumWorkers: f, }; }; }, function (e, t, r) { function n(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function (t) { return Object.getOwnPropertyDescriptor(e, t).enumerable; })), r.push.apply(r, n); } return r; } function o(e, t, r) { return t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = r), e; } var i = "browser" === r(17)("type") ? r(5) : function (e) { return e; }; e.exports = function (e) { var t = (function (e) { for (var t = 1; t < arguments.length; t++) { var r = null != arguments[t] ? arguments[t] : {}; t % 2 ? n(Object(r), !0).forEach(function (t) { o(e, t, r[t]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : n(Object(r)).forEach(function (t) { Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t)); }); } return e; })({}, e); return ( ["corePath", "workerPath", "langPath"].forEach(function (r) { void 0 !== e[r] && (t[r] = i(t[r])); }), t ); }; }, function (e, t, r) { (function (t) { function n(e) { return (n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e; } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e; })(e); } var o = r(18); e.exports = function (e) { var r = {}; return ( "undefined" != typeof WorkerGlobalScope ? (r.type = "webworker") : o() ? (r.type = "electron") : "object" === ("undefined" == typeof window ? "undefined" : n(window)) ? (r.type = "browser") : "object" === (void 0 === t ? "undefined" : n(t)) && (r.type = "node"), void 0 === e ? r : r[e] ); }; }.call(this, r(4))); }, function (e, t, r) { (function (t) { function r(e) { return (r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e; } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e; })(e); } e.exports = function () { return ( ("undefined" != typeof window && "object" === r(window.process) && "renderer" === window.process.type) || !(void 0 === t || "object" !== r(t.versions) || !t.versions.electron) || ("object" === ("undefined" == typeof navigator ? "undefined" : r(navigator)) && "string" == typeof navigator.userAgent && navigator.userAgent.indexOf("Electron") >= 0) ); }; }.call(this, r(4))); }, function (e, t) { function r(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function (t) { return Object.getOwnPropertyDescriptor(e, t).enumerable; })), r.push.apply(r, n); } return r; } function n(e) { for (var t = 1; t < arguments.length; t++) { var n = null != arguments[t] ? arguments[t] : {}; t % 2 ? r(Object(n), !0).forEach(function (t) { o(e, t, n[t]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : r(Object(n)).forEach(function (t) { Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t)); }); } return e; } function o(e, t, r) { return t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = r), e; } e.exports = function (e) { var t = [], r = [], o = [], i = [], a = []; return ( e.blocks.forEach(function (c) { c.paragraphs.forEach(function (t) { t.lines.forEach(function (r) { r.words.forEach(function (o) { o.symbols.forEach(function (i) { a.push(n({}, i, { page: e, block: c, paragraph: t, line: r, word: o })); }), i.push(n({}, o, { page: e, block: c, paragraph: t, line: r })); }), o.push(n({}, r, { page: e, block: c, paragraph: t })); }), r.push(n({}, t, { page: e, block: c })); }), t.push(n({}, c, { page: e })); }), n({}, e, { blocks: t, paragraphs: r, lines: o, words: i, symbols: a }) ); }; }, function (e, t, r) { var n = r(8); e.exports = { defaultOEM: n.DEFAULT }; }, function (e, t, r) { var n = r(22), o = r(25), i = r(26), a = r(27), c = r(28), s = r(29); e.exports = { defaultOptions: n, spawnWorker: o, terminateWorker: i, onMessage: a, send: c, loadImage: s }; }, function (e, t, r) { (function (t) { function n(e) { return (n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e; } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e; })(e); } function o(e, t) { var r = Object.keys(e); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); t && (n = n.filter(function (t) { return Object.getOwnPropertyDescriptor(e, t).enumerable; })), r.push.apply(r, n); } return r; } function i(e, t, r) { return t in e ? Object.defineProperty(e, t, { value: r, enumerable: !0, configurable: !0, writable: !0 }) : (e[t] = r), e; } var a = r(5), c = r(23), s = c.version, u = c.dependencies, l = r(24); e.exports = (function (e) { for (var t = 1; t < arguments.length; t++) { var r = null != arguments[t] ? arguments[t] : {}; t % 2 ? o(Object(r), !0).forEach(function (t) { i(e, t, r[t]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(r)) : o(Object(r)).forEach(function (t) { Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(r, t)); }); } return e; })({}, l, { workerPath: void 0 !== t && "development" === t.env.TESS_ENV ? a("/dist/worker.dev.js?nocache=".concat(Math.random().toString(36).slice(3))) : "https://unpkg.com/tesseract.js@v".concat(s, "/dist/worker.min.js"), corePath: "https://unpkg.com/tesseract.js-core@v".concat(u["tesseract.js-core"].substring(1), "/tesseract-core.").concat("object" === ("undefined" == typeof WebAssembly ? "undefined" : n(WebAssembly)) ? "wasm" : "asm", ".js"), }); }.call(this, r(4))); }, function (e) { e.exports = JSON.parse( '{"name":"tesseract.js","version":"2.1.5","description":"Pure Javascript Multilingual OCR","main":"src/index.js","types":"src/index.d.ts","unpkg":"dist/tesseract.min.js","jsdelivr":"dist/tesseract.min.js","scripts":{"start":"node scripts/server.js","build":"rimraf dist && webpack --config scripts/webpack.config.prod.js","profile:tesseract":"webpack-bundle-analyzer dist/tesseract-stats.json","profile:worker":"webpack-bundle-analyzer dist/worker-stats.json","prepublishOnly":"npm run build","wait":"rimraf dist && wait-on http://localhost:3000/dist/tesseract.dev.js","test":"npm-run-all -p -r start test:all","test:all":"npm-run-all wait test:browser:* test:node:all","test:node":"nyc mocha --exit --bail --require ./scripts/test-helper.js","test:node:all":"npm run test:node -- ./tests/*.test.js","test:browser-tpl":"mocha-headless-chrome -a incognito -a no-sandbox -a disable-setuid-sandbox -a disable-logging -t 300000","test:browser:detect":"npm run test:browser-tpl -- -f ./tests/detect.test.html","test:browser:recognize":"npm run test:browser-tpl -- -f ./tests/recognize.test.html","test:browser:scheduler":"npm run test:browser-tpl -- -f ./tests/scheduler.test.html","test:browser:FS":"npm run test:browser-tpl -- -f ./tests/FS.test.html","lint":"eslint src","lint:fix":"eslint --fix src","postinstall":"opencollective-postinstall || true"},"browser":{"./src/worker/node/index.js":"./src/worker/browser/index.js"},"author":"","contributors":["jeromewu"],"license":"Apache-2.0","devDependencies":{"@babel/core":"^7.7.7","@babel/preset-env":"^7.7.7","acorn":"^6.4.0","babel-loader":"^8.1.0","cors":"^2.8.5","eslint":"^7.2.0","eslint-config-airbnb-base":"^14.2.0","eslint-plugin-import":"^2.22.1","expect.js":"^0.3.1","express":"^4.17.1","mocha":"^8.1.3","mocha-headless-chrome":"^2.0.3","npm-run-all":"^4.1.5","nyc":"^15.1.0","rimraf":"^2.7.1","wait-on":"^3.3.0","webpack":"^4.44.2","webpack-bundle-analyzer":"^3.6.0","webpack-cli":"^3.3.12","webpack-dev-middleware":"^3.7.2"},"dependencies":{"blueimp-load-image":"^3.0.0","bmp-js":"^0.1.0","file-type":"^12.4.1","idb-keyval":"^3.2.0","is-electron":"^2.2.0","is-url":"^1.2.4","jpeg-autorotate":"^7.1.1","node-fetch":"^2.6.0","opencollective-postinstall":"^2.0.2","regenerator-runtime":"^0.13.3","resolve-url":"^0.2.1","tesseract.js-core":"^2.2.0","zlibjs":"^0.3.1"},"repository":{"type":"git","url":"https://github.com/naptha/tesseract.js.git"},"bugs":{"url":"https://github.com/naptha/tesseract.js/issues"},"homepage":"https://github.com/naptha/tesseract.js","collective":{"type":"opencollective","url":"https://opencollective.com/tesseractjs"}}' ); }, function (e, t) { e.exports = { langPath: "https://gh.kmtea.eu/https://raw.githubusercontent.com/naptha/tessdata/gh-pages/4.0.0_best", workerBlobURL: !0, logger: function () {} }; }, function (e, t) { e.exports = function (e) { var t, r = e.workerPath, n = e.workerBlobURL; if (Blob && URL && n) { var o = new Blob(['importScripts("'.concat(r, '");')], { type: "application/javascript" }); t = new Worker(URL.createObjectURL(o)); } else t = new Worker(r); return t; }; }, function (e, t) { e.exports = function (e) { e.terminate(); }; }, function (e, t) { e.exports = function (e, t) { e.onmessage = function (e) { var r = e.data; t(r); }; }; }, function (e, t) { function r(e, t, r, n, o, i, a) { try { var c = e[i](a), s = c.value; } catch (e) { return void r(e); } c.done ? t(s) : Promise.resolve(s).then(n, o); } e.exports = (function () { var e, t = ((e = regeneratorRuntime.mark(function e(t, r) { return regeneratorRuntime.wrap(function (e) { for (;;) switch ((e.prev = e.next)) { case 0: t.postMessage(r); case 1: case "end": return e.stop(); } }, e); })), function () { var t = this, n = arguments; return new Promise(function (o, i) { var a = e.apply(t, n); function c(e) { r(a, o, i, c, s, "next", e); } function s(e) { r(a, o, i, c, s, "throw", e); } c(void 0); }); }); return function (e, r) { return t.apply(this, arguments); }; })(); }, function (e, t, r) { function n(e, t, r, n, o, i, a) { try { var c = e[i](a), s = c.value; } catch (e) { return void r(e); } c.done ? t(s) : Promise.resolve(s).then(n, o); } function o(e) { return function () { var t = this, r = arguments; return new Promise(function (o, i) { var a = e.apply(t, r); function c(e) { n(a, o, i, c, s, "next", e); } function s(e) { n(a, o, i, c, s, "throw", e); } c(void 0); }); }; } var i = r(5), a = r(30), c = function (e) { return new Promise(function (t, r) { var n = new FileReader(); (n.onload = function () { t(n.result); }), (n.onerror = function (e) { var t = e.target.error.code; r(Error("File could not be read! Code=".concat(t))); }), n.readAsArrayBuffer(e); }); }, s = function (e) { return new Promise(function (t) { a( e, function (e) { return e.toBlob(t); }, { orientation: !0, canvas: !0 } ); }); }, u = (function () { var e = o( regeneratorRuntime.mark(function e(t) { var r, n, a, l; return regeneratorRuntime.wrap(function (e) { for (;;) switch ((e.prev = e.next)) { case 0: if (((r = t), void 0 !== t)) { e.next = 3; break; } return e.abrupt("return", "undefined"); case 3: if ("string" != typeof t) { e.next = 24; break; } if (!t.endsWith(".pbm")) { e.next = 13; break; } return (e.next = 7), fetch(i(t)); case 7: return (n = e.sent), (e.next = 10), n.arrayBuffer(); case 10: (r = e.sent), (e.next = 22); break; case 13: return (a = t), /data:image\/([a-zA-Z]*);base64,([^"]*)/.test(t) || (a = i(t)), (e.t0 = c), (e.next = 18), s(a); case 18: return (e.t1 = e.sent), (e.next = 21), (0, e.t0)(e.t1); case 21: r = e.sent; case 22: e.next = 47; break; case 24: if (!(t instanceof HTMLElement)) { e.next = 38; break; } if ("IMG" !== t.tagName) { e.next = 29; break; } return (e.next = 28), u(t.src); case 28: r = e.sent; case 29: if ("VIDEO" !== t.tagName) { e.next = 33; break; } return (e.next = 32), u(t.poster); case 32: r = e.sent; case 33: if ("CANVAS" !== t.tagName) { e.next = 36; break; } return ( (e.next = 36), new Promise(function (e) { t.toBlob( (function () { var t = o( regeneratorRuntime.mark(function t(n) { return regeneratorRuntime.wrap(function (t) { for (;;) switch ((t.prev = t.next)) { case 0: return (t.next = 2), c(n); case 2: (r = t.sent), e(); case 4: case "end": return t.stop(); } }, t); }) ); return function (e) { return t.apply(this, arguments); }; })() ); }) ); case 36: e.next = 47; break; case 38: if (!(t instanceof File || t instanceof Blob)) { e.next = 47; break; } if (((l = t), t.name.endsWith(".pbm"))) { e.next = 44; break; } return (e.next = 43), s(l); case 43: l = e.sent; case 44: return (e.next = 46), c(l); case 46: r = e.sent; case 47: return e.abrupt("return", new Uint8Array(r)); case 48: case "end": return e.stop(); } }, e); }) ); return function (t) { return e.apply(this, arguments); }; })(); e.exports = u; }, function (e, t, r) { (e.exports = r(0)), r(9), r(1), r(31), r(10), r(32), r(11), r(33), r(34); }, function (e, t, r) { var n, o, i; !(function (a) { "use strict"; (o = [r(0)]), void 0 === (i = "function" == typeof (n = function (e) { "undefined" != typeof fetch && "undefined" != typeof Request ? (e.fetchBlob = function (e, t, r) { fetch(new Request(e, r)) .then(function (e) { return e.blob(); }) .then(t) .catch(function (e) { t(null, e); }); }) : "undefined" != typeof XMLHttpRequest && "undefined" != typeof ProgressEvent && (e.fetchBlob = function (e, t, r) { r = r || {}; var n = new XMLHttpRequest(); n.open(r.method || "GET", e), r.headers && Object.keys(r.headers).forEach(function (e) { n.setRequestHeader(e, r.headers[e]); }), (n.withCredentials = "include" === r.credentials), (n.responseType = "blob"), (n.onload = function () { t(n.response); }), (n.onerror = n.onabort = n.ontimeout = function (e) { t(null, e); }), n.send(r.body); }); }) ? n.apply(t, o) : n) || (e.exports = i); })(); }, function (e, t, r) { var n, o, i; function a(e) { return (a = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (e) { return typeof e; } : function (e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e; })(e); } !(function (c) { "use strict"; (o = [r(0), r(10)]), void 0 === (i = "function" == typeof (n = function (e) { var t = e.ExifMap.prototype; (t.tags = { 256: "ImageWidth", 257: "ImageHeight", 258: "BitsPerSample", 259: "Compression", 262: "PhotometricInterpretation", 274: "Orientation", 277: "SamplesPerPixel", 284: "PlanarConfiguration", 530: "YCbCrSubSampling", 531: "YCbCrPositioning", 282: "XResolution", 283: "YResolution", 296: "ResolutionUnit", 273: "StripOffsets", 278: "RowsPerStrip", 279: "StripByteCounts", 513: "JPEGInterchangeFormat", 514: "JPEGInterchangeFormatLength", 301: "TransferFunction", 318: "WhitePoint", 319: "PrimaryChromaticities", 529: "YCbCrCoefficients", 532: "ReferenceBlackWhite", 306: "DateTime", 270: "ImageDescription", 271: "Make", 272: "Model", 305: "Software", 315: "Artist", 33432: "Copyright", 34665: { 36864: "ExifVersion", 40960: "FlashpixVersion", 40961: "ColorSpace", 40962: "PixelXDimension", 40963: "PixelYDimension", 42240: "Gamma", 37121: "ComponentsConfiguration", 37122: "CompressedBitsPerPixel", 37500: "MakerNote", 37510: "UserComment", 40964: "RelatedSoundFile", 36867: "DateTimeOriginal", 36868: "DateTimeDigitized", 37520: "SubSecTime", 37521: "SubSecTimeOriginal", 37522: "SubSecTimeDigitized", 33434: "ExposureTime", 33437: "FNumber", 34850: "ExposureProgram", 34852: "SpectralSensitivity", 34855: "PhotographicSensitivity", 34856: "OECF", 34864: "SensitivityType", 34865: "StandardOutputSensitivity", 34866: "RecommendedExposureIndex", 34867: "ISOSpeed", 34868: "ISOSpeedLatitudeyyy", 34869: "ISOSpeedLatitudezzz", 37377: "ShutterSpeedValue", 37378: "ApertureValue", 37379: "BrightnessValue", 37380: "ExposureBias", 37381: "MaxApertureValue", 37382: "SubjectDistance", 37383: "MeteringMode", 37384: "LightSource", 37385: "Flash", 37396: "SubjectArea", 37386: "FocalLength", 41483: "FlashEnergy", 41484: "SpatialFrequencyResponse", 41486: "FocalPlaneXResolution", 41487: "FocalPlaneYResolution", 41488: "FocalPlaneResolutionUnit", 41492: "SubjectLocation", 41493: "ExposureIndex", 41495: "SensingMethod", 41728: "FileSource", 41729: "SceneType", 41730: "CFAPattern", 41985: "CustomRendered", 41986: "ExposureMode", 41987: "WhiteBalance", 41988: "DigitalZoomRatio", 41989: "FocalLengthIn35mmFilm", 41990: "SceneCaptureType", 41991: "GainControl", 41992: "Contrast", 41993: "Saturation", 41994: "Sharpness", 41995: "DeviceSettingDescription", 41996: "SubjectDistanceRange", 42016: "ImageUniqueID", 42032: "CameraOwnerName", 42033: "BodySerialNumber", 42034: "LensSpecification", 42035: "LensMake", 42036: "LensModel", 42037: "LensSerialNumber", }, 34853: { 0: "GPSVersionID", 1: "GPSLatitudeRef", 2: "GPSLatitude", 3: "GPSLongitudeRef", 4: "GPSLongitude", 5: "GPSAltitudeRef", 6: "GPSAltitude", 7: "GPSTimeStamp", 8: "GPSSatellites", 9: "GPSStatus", 10: "GPSMeasureMode", 11: "GPSDOP", 12: "GPSSpeedRef", 13: "GPSSpeed", 14: "GPSTrackRef", 15: "GPSTrack", 16: "GPSImgDirectionRef", 17: "GPSImgDirection", 18: "GPSMapDatum", 19: "GPSDestLatitudeRef", 20: "GPSDestLatitude", 21: "GPSDestLongitudeRef", 22: "GPSDestLongitude", 23: "GPSDestBearingRef", 24: "GPSDestBearing", 25: "GPSDestDistanceRef", 26: "GPSDestDistance", 27: "GPSProcessingMethod", 28: "GPSAreaInformation", 29: "GPSDateStamp", 30: "GPSDifferential", 31: "GPSHPositioningError", }, 40965: { 1: "InteroperabilityIndex" }, }), (t.stringValues = { ExposureProgram: { 0: "Undefined", 1: "Manual", 2: "Normal program", 3: "Aperture priority", 4: "Shutter priority", 5: "Creative program", 6: "Action program", 7: "Portrait mode", 8: "Landscape mode" }, MeteringMode: { 0: "Unknown", 1: "Average", 2: "CenterWeightedAverage", 3: "Spot", 4: "MultiSpot", 5: "Pattern", 6: "Partial", 255: "Other" }, LightSource: { 0: "Unknown", 1: "Daylight", 2: "Fluorescent", 3: "Tungsten (incandescent light)", 4: "Flash", 9: "Fine weather", 10: "Cloudy weather", 11: "Shade", 12: "Daylight fluorescent (D 5700 - 7100K)", 13: "Day white fluorescent (N 4600 - 5400K)", 14: "Cool white fluorescent (W 3900 - 4500K)", 15: "White fluorescent (WW 3200 - 3700K)", 17: "Standard light A", 18: "Standard light B", 19: "Standard light C", 20: "D55", 21: "D65", 22: "D75", 23: "D50", 24: "ISO studio tungsten", 255: "Other", }, Flash: { 0: "Flash did not fire", 1: "Flash fired", 5: "Strobe return light not detected", 7: "Strobe return light detected", 9: "Flash fired, compulsory flash mode", 13: "Flash fired, compulsory flash mode, return light not detected", 15: "Flash fired, compulsory flash mode, return light detected", 16: "Flash did not fire, compulsory flash mode", 24: "Flash did not fire, auto mode", 25: "Flash fired, auto mode", 29: "Flash fired, auto mode, return light not detected", 31: "Flash fired, auto mode, return light detected", 32: "No flash function", 65: "Flash fired, red-eye reduction mode", 69: "Flash fired, red-eye reduction mode, return light not detected", 71: "Flash fired, red-eye reduction mode, return light detected", 73: "Flash fired, compulsory flash mode, red-eye reduction mode", 77: "Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected", 79: "Flash fired, compulsory flash mode, red-eye reduction mode, return light detected", 89: "Flash fired, auto mode, red-eye reduction mode", 93: "Flash fired, auto mode, return light not detected, red-eye reduction mode", 95: "Flash fired, auto mode, return light detected, red-eye reduction mode", }, SensingMethod: { 1: "Undefined", 2: "One-chip color area sensor", 3: "Two-chip color area sensor", 4: "Three-chip color area sensor", 5: "Color sequential area sensor", 7: "Trilinear sensor", 8: "Color sequential linear sensor", }, SceneCaptureType: { 0: "Standard", 1: "Landscape", 2: "Portrait", 3: "Night scene" }, SceneType: { 1: "Directly photographed" }, CustomRendered: { 0: "Normal process", 1: "Custom process" }, WhiteBalance: { 0: "Auto white balance", 1: "Manual white balance" }, GainControl: { 0: "None", 1: "Low gain up", 2: "High gain up", 3: "Low gain down", 4: "High gain down" }, Contrast: { 0: "Normal", 1: "Soft", 2: "Hard" }, Saturation: { 0: "Normal", 1: "Low saturation", 2: "High saturation" }, Sharpness: { 0: "Normal", 1: "Soft", 2: "Hard" }, SubjectDistanceRange: { 0: "Unknown", 1: "Macro", 2: "Close view", 3: "Distant view" }, FileSource: { 3: "DSC" }, ComponentsConfiguration: { 0: "", 1: "Y", 2: "Cb", 3: "Cr", 4: "R", 5: "G", 6: "B" }, Orientation: { 1: "top-left", 2: "top-right", 3: "bottom-right", 4: "bottom-left", 5: "left-top", 6: "right-top", 7: "right-bottom", 8: "left-bottom" }, }), (t.getText = function (e) { var t = this.get(e); switch (e) { case "LightSource": case "Flash": case "MeteringMode": case "ExposureProgram": case "SensingMethod": case "SceneCaptureType": case "SceneType": case "CustomRendered": case "WhiteBalance": case "GainControl": case "Contrast": case "Saturation": case "Sharpness": case "SubjectDistanceRange": case "FileSource": case "Orientation": return this.stringValues[e][t]; case "ExifVersion": case "FlashpixVersion": if (!t) return; return String.fromCharCode(t[0], t[1], t[2], t[3]); case "ComponentsConfiguration": if (!t) return; return this.stringValues[e][t[0]] + this.stringValues[e][t[1]] + this.stringValues[e][t[2]] + this.stringValues[e][t[3]]; case "GPSVersionID": if (!t) return; return t[0] + "." + t[1] + "." + t[2] + "." + t[3]; } return String(t); }), (t.getAll = function () { var e, t, r, n = {}; for (e in this) Object.prototype.hasOwnProperty.call(this, e) && ((t = this[e]) && t.getAll ? (n[this.privateIFDs[e].name] = t.getAll()) : (r = this.tags[e]) && (n[r] = this.getText(r))); return n; }), (t.getName = function (e) { var t = this.tags[e]; return "object" === a(t) ? this.privateIFDs[e].name : t; }), (function () { var e, r, n, o = t.tags; for (e in o) if (Object.prototype.hasOwnProperty.call(o, e)) if ((r = t.privateIFDs[e])) for (e in (n = o[e])) Object.prototype.hasOwnProperty.call(n, e) && (r.map[n[e]] = Number(e)); else t.map[o[e]] = Number(e); })(); }) ? n.apply(t, o) : n) || (e.exports = i); })(); }, function (e, t, r) { var n, o, i; !(function (a) { "use strict"; (o = [r(0), r(11)]), void 0 === (i = "function" == typeof (n = function (e) { var t = e.IptcMap.prototype; (t.tags = { 0: "ApplicationRecordVersion", 3: "ObjectTypeReference", 4: "ObjectAttributeReference", 5: "ObjectName", 7: "EditStatus", 8: "EditorialUpdate", 10: "Urgency", 12: "SubjectReference", 15: "Category", 20: "SupplementalCategories", 22: "FixtureIdentifier", 25: "Keywords", 26: "ContentLocationCode", 27: "ContentLocationName", 30: "ReleaseDate", 35: "ReleaseTime", 37: "ExpirationDate", 38: "ExpirationTime", 40: "SpecialInstructions", 42: "ActionAdvised", 45: "ReferenceService", 47: "ReferenceDate", 50: "ReferenceNumber", 55: "DateCreated", 60: "TimeCreated", 62: "DigitalCreationDate", 63: "DigitalCreationTime", 65: "OriginatingProgram", 70: "ProgramVersion", 75: "ObjectCycle", 80: "Byline", 85: "BylineTitle", 90: "City", 92: "Sublocation", 95: "State", 100: "CountryCode", 101: "Country", 103: "OriginalTransmissionReference", 105: "Headline", 110: "Credit", 115: "Source", 116: "CopyrightNotice", 118: "Contact", 120: "Caption", 121: "LocalCaption", 122: "Writer", 125: "RasterizedCaption", 130: "ImageType", 131: "ImageOrientation", 135: "LanguageIdentifier", 150: "AudioType", 151: "AudioSamplingRate", 152: "AudioSamplingResolution", 153: "AudioDuration", 154: "AudioOutcue", 184: "JobID", 185: "MasterDocumentID", 186: "ShortDocumentID", 187: "UniqueDocumentID", 188: "OwnerID", 200: "ObjectPreviewFileFormat", 201: "ObjectPreviewFileVersion", 202: "ObjectPreviewData", 221: "Prefs", 225: "ClassifyState", 228: "SimilarityIndex", 230: "DocumentNotes", 231: "DocumentHistory", 232: "ExifCameraInfo", 255: "CatalogSets", }), (t.stringValues = { 10: { 0: "0 (reserved)", 1: "1 (most urgent)", 2: "2", 3: "3", 4: "4", 5: "5 (normal urgency)", 6: "6", 7: "7", 8: "8 (least urgent)", 9: "9 (user-defined priority)" }, 75: { a: "Morning", b: "Both Morning and Evening", p: "Evening" }, 131: { L: "Landscape", P: "Portrait", S: "Square" }, }), (t.getText = function (e) { var t = this.get(e), r = this.map[e], n = this.stringValues[r]; return n ? n[t] : String(t); }), (t.getAll = function () { var e, t, r = {}; for (e in this) Object.prototype.hasOwnProperty.call(this, e) && (t = this.tags[e]) && (r[t] = this.getText(t)); return r; }), (t.getName = function (e) { return this.tags[e]; }), (function () { var e, r = t.tags, n = t.map || {}; for (e in r) Object.prototype.hasOwnProperty.call(r, e) && (n[r[e]] = Number(e)); })(); }) ? n.apply(t, o) : n) || (e.exports = i); })(); }, function (e, t, r) { var n, o, i; !(function (a) { "use strict"; (o = [r(0), r(9), r(1)]), void 0 === (i = "function" == typeof (n = function (e) { var t = e.hasCanvasOption, r = e.hasMetaOption, n = e.transformCoordinates, o = e.getTransformedOptions; (i = document.createElement("img")), (i.onload = function () { e.orientation = 1 === i.width && 2 === i.height; }), (i.src = "data:image/jpeg;base64,/9j/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAYAAAAAAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAAEAAgMBEQACEQEDEQH/xABKAAEAAAAAAAAAAAAAAAAAAAALEAEAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwA/8H//2Q=="), (e.hasCanvasOption = function (r) { return (!0 == !!r.orientation && !e.orientation) || (r.orientation > 1 && r.orientation < 9) || t.call(e, r); }), (e.hasMetaOption = function (t) { return (t && !0 === t.orientation && !e.orientation) || r.call(e, t); }), (e.transformCoordinates = function (t, r) { n.call(e, t, r); var o = t.getContext("2d"), i = t.width, a = t.height, c = t.style.width, s = t.style.height, u = r.orientation; if (u > 1 && u < 9) switch ((u > 4 && ((t.width = a), (t.height = i), (t.style.width = s), (t.style.height = c)), u)) { case 2: o.translate(i, 0), o.scale(-1, 1); break; case 3: o.translate(i, a), o.rotate(Math.PI); break; case 4: o.translate(0, a), o.scale(1, -1); break; case 5: o.rotate(0.5 * Math.PI), o.scale(1, -1); break; case 6: o.rotate(0.5 * Math.PI), o.translate(0, -a); break; case 7: o.rotate(0.5 * Math.PI), o.translate(i, -a), o.scale(-1, 1); break; case 8: o.rotate(-0.5 * Math.PI), o.translate(-i, 0); } }), (e.getTransformedOptions = function (t, r, n) { var i, a, c = o.call(e, t, r), s = c.orientation; if (!0 === s) { if (e.orientation) return c; s = n && n.exif && n.exif.get("Orientation"); } if (!(s > 1 && s < 9)) return c; for (a in ((i = {}), c)) Object.prototype.hasOwnProperty.call(c, a) && (i[a] = c[a]); switch (((i.orientation = s), s)) { case 2: (i.left = c.right), (i.right = c.left); break; case 3: (i.left = c.right), (i.top = c.bottom), (i.right = c.left), (i.bottom = c.top); break; case 4: (i.top = c.bottom), (i.bottom = c.top); break; case 5: (i.left = c.top), (i.top = c.left), (i.right = c.bottom), (i.bottom = c.right); break; case 6: (i.left = c.top), (i.top = c.right), (i.right = c.bottom), (i.bottom = c.left); break; case 7: (i.left = c.bottom), (i.top = c.right), (i.right = c.top), (i.bottom = c.left); break; case 8: (i.left = c.bottom), (i.top = c.left), (i.right = c.top), (i.bottom = c.right); } return i.orientation > 4 && ((i.maxWidth = c.maxHeight), (i.maxHeight = c.maxWidth), (i.minWidth = c.minHeight), (i.minHeight = c.minWidth), (i.sourceWidth = c.sourceHeight), (i.sourceHeight = c.sourceWidth)), i; }); var i; }) ? n.apply(t, o) : n) || (e.exports = i); })(); }, function (e, t, r) { function n(e, t, r, n, o, i, a) { try { var c = e[i](a), s = c.value; } catch (e) { return void r(e); } c.done ? t(s) : Promise.resolve(s).then(n, o); } function o(e) { return function () { var t = this, r = arguments; return new Promise(function (o, i) { var a = e.apply(t, r); function c(e) { n(a, o, i, c, s, "next", e); } function s(e) { n(a, o, i, c, s, "throw", e); } c(void 0); }); }; } var i = r(7), a = (function () { var e = o( regeneratorRuntime.mark(function e(t, r, n) { var a; return regeneratorRuntime.wrap(function (e) { for (;;) switch ((e.prev = e.next)) { case 0: return (a = i(n)), (e.next = 3), a.load(); case 3: return (e.next = 5), a.loadLanguage(r); case 5: return (e.next = 7), a.initialize(r); case 7: return e.abrupt( "return", a.recognize(t).finally( o( regeneratorRuntime.mark(function e() { return regeneratorRuntime.wrap(function (e) { for (;;) switch ((e.prev = e.next)) { case 0: return (e.next = 2), a.terminate(); case 2: case "end": return e.stop(); } }, e); }) ) ) ); case 8: case "end": return e.stop(); } }, e); }) ); return function (t, r, n) { return e.apply(this, arguments); }; })(), c = (function () { var e = o( regeneratorRuntime.mark(function e(t, r) { var n; return regeneratorRuntime.wrap(function (e) { for (;;) switch ((e.prev = e.next)) { case 0: return (n = i(r)), (e.next = 3), n.load(); case 3: return (e.next = 5), n.loadLanguage("osd"); case 5: return (e.next = 7), n.initialize("osd"); case 7: return e.abrupt( "return", n.detect(t).finally( o( regeneratorRuntime.mark(function e() { return regeneratorRuntime.wrap(function (e) { for (;;) switch ((e.prev = e.next)) { case 0: return (e.next = 2), n.terminate(); case 2: case "end": return e.stop(); } }, e); }) ) ) ); case 8: case "end": return e.stop(); } }, e); }) ); return function (t, r) { return e.apply(this, arguments); }; })(); e.exports = { recognize: a, detect: c }; }, function (e, t) { e.exports = { AFR: "afr", AMH: "amh", ARA: "ara", ASM: "asm", AZE: "aze", AZE_CYRL: "aze_cyrl", BEL: "bel", BEN: "ben", BOD: "bod", BOS: "bos", BUL: "bul", CAT: "cat", CEB: "ceb", CES: "ces", CHI_SIM: "chi_sim", CHI_TRA: "chi_tra", CHR: "chr", CYM: "cym", DAN: "dan", DEU: "deu", DZO: "dzo", ELL: "ell", ENG: "eng", ENM: "enm", EPO: "epo", EST: "est", EUS: "eus", FAS: "fas", FIN: "fin", FRA: "fra", FRK: "frk", FRM: "frm", GLE: "gle", GLG: "glg", GRC: "grc", GUJ: "guj", HAT: "hat", HEB: "heb", HIN: "hin", HRV: "hrv", HUN: "hun", IKU: "iku", IND: "ind", ISL: "isl", ITA: "ita", ITA_OLD: "ita_old", JAV: "jav", JPN: "jpn", KAN: "kan", KAT: "kat", KAT_OLD: "kat_old", KAZ: "kaz", KHM: "khm", KIR: "kir", KOR: "kor", KUR: "kur", LAO: "lao", LAT: "lat", LAV: "lav", LIT: "lit", MAL: "mal", MAR: "mar", MKD: "mkd", MLT: "mlt", MSA: "msa", MYA: "mya", NEP: "nep", NLD: "nld", NOR: "nor", ORI: "ori", PAN: "pan", POL: "pol", POR: "por", PUS: "pus", RON: "ron", RUS: "rus", SAN: "san", SIN: "sin", SLK: "slk", SLV: "slv", SPA: "spa", SPA_OLD: "spa_old", SQI: "sqi", SRP: "srp", SRP_LATN: "srp_latn", SWA: "swa", SWE: "swe", SYR: "syr", TAM: "tam", TEL: "tel", TGK: "tgk", TGL: "tgl", THA: "tha", TIR: "tir", TUR: "tur", UIG: "uig", UKR: "ukr", URD: "urd", UZB: "uzb", UZB_CYRL: "uzb_cyrl", VIE: "vie", YID: "yid", }; }, function (e, t) { e.exports = { OSD_ONLY: "0", AUTO_OSD: "1", AUTO_ONLY: "2", AUTO: "3", SINGLE_COLUMN: "4", SINGLE_BLOCK_VERT_TEXT: "5", SINGLE_BLOCK: "6", SINGLE_LINE: "7", SINGLE_WORD: "8", CIRCLE_WORD: "9", SINGLE_CHAR: "10", SPARSE_TEXT: "11", SPARSE_TEXT_OSD: "12", }; }, ]); });