{"version":3,"file":"2b7b2d2a-cfbf60bb0213ba890680.js","mappings":"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","sources":["webpack://marine-debris-tracker/./node_modules/pdfjs-dist/build/pdf.js"],"sourcesContent":["require(\"core-js/modules/es.promise.finally.js\");\nrequire(\"core-js/modules/esnext.promise.all-settled.js\");\n/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2020 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n if (typeof exports === 'object' && typeof module === 'object') module.exports = factory();else if (typeof define === 'function' && define.amd) define(\"pdfjs-dist/build/pdf\", [], factory);else if (typeof exports === 'object') exports[\"pdfjs-dist/build/pdf\"] = factory();else root[\"pdfjs-dist/build/pdf\"] = root.pdfjsLib = factory();\n})(this, function () {\n return /******/function (modules) {\n // webpackBootstrap\n /******/ // The module cache\n /******/\n var installedModules = {};\n /******/\n /******/ // The require function\n /******/\n function __w_pdfjs_require__(moduleId) {\n /******/\n /******/ // Check if module is in cache\n /******/if (installedModules[moduleId]) {\n /******/return installedModules[moduleId].exports;\n /******/\n }\n /******/ // Create a new module (and put it into the cache)\n /******/\n var module = installedModules[moduleId] = {\n /******/i: moduleId,\n /******/l: false,\n /******/exports: {}\n /******/\n };\n /******/\n /******/ // Execute the module function\n /******/\n modules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n /******/\n /******/ // Flag the module as loaded\n /******/\n module.l = true;\n /******/\n /******/ // Return the exports of the module\n /******/\n return module.exports;\n /******/\n }\n /******/\n /******/\n /******/ // expose the modules object (__webpack_modules__)\n /******/\n __w_pdfjs_require__.m = modules;\n /******/\n /******/ // expose the module cache\n /******/\n __w_pdfjs_require__.c = installedModules;\n /******/\n /******/ // define getter function for harmony exports\n /******/\n __w_pdfjs_require__.d = function (exports, name, getter) {\n /******/if (!__w_pdfjs_require__.o(exports, name)) {\n /******/Object.defineProperty(exports, name, {\n enumerable: true,\n get: getter\n });\n /******/\n }\n /******/\n };\n /******/\n /******/ // define __esModule on exports\n /******/\n __w_pdfjs_require__.r = function (exports) {\n /******/if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n /******/Object.defineProperty(exports, Symbol.toStringTag, {\n value: 'Module'\n });\n /******/\n }\n /******/\n Object.defineProperty(exports, '__esModule', {\n value: true\n });\n /******/\n };\n /******/\n /******/ // create a fake namespace object\n /******/ // mode & 1: value is a module id, require it\n /******/ // mode & 2: merge all properties of value into the ns\n /******/ // mode & 4: return value when already ns object\n /******/ // mode & 8|1: behave like require\n /******/\n __w_pdfjs_require__.t = function (value, mode) {\n /******/if (mode & 1) value = __w_pdfjs_require__(value);\n /******/\n if (mode & 8) return value;\n /******/\n if (mode & 4 && typeof value === 'object' && value && value.__esModule) return value;\n /******/\n var ns = Object.create(null);\n /******/\n __w_pdfjs_require__.r(ns);\n /******/\n Object.defineProperty(ns, 'default', {\n enumerable: true,\n value: value\n });\n /******/\n if (mode & 2 && typeof value != 'string') for (var key in value) __w_pdfjs_require__.d(ns, key, function (key) {\n return value[key];\n }.bind(null, key));\n /******/\n return ns;\n /******/\n };\n /******/\n /******/ // getDefaultExport function for compatibility with non-harmony modules\n /******/\n __w_pdfjs_require__.n = function (module) {\n /******/var getter = module && module.__esModule ? /******/function getDefault() {\n return module['default'];\n } : /******/function getModuleExports() {\n return module;\n };\n /******/\n __w_pdfjs_require__.d(getter, 'a', getter);\n /******/\n return getter;\n /******/\n };\n /******/\n /******/ // Object.prototype.hasOwnProperty.call\n /******/\n __w_pdfjs_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\n /******/\n /******/ // __webpack_public_path__\n /******/\n __w_pdfjs_require__.p = \"\";\n /******/\n /******/\n /******/ // Load entry module and return exports\n /******/\n return __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n /******/\n }\n /************************************************************************/\n /******/([( /* 0 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(exports, \"addLinkAttributes\", {\n enumerable: true,\n get: function () {\n return _display_utils.addLinkAttributes;\n }\n });\n Object.defineProperty(exports, \"getFilenameFromUrl\", {\n enumerable: true,\n get: function () {\n return _display_utils.getFilenameFromUrl;\n }\n });\n Object.defineProperty(exports, \"LinkTarget\", {\n enumerable: true,\n get: function () {\n return _display_utils.LinkTarget;\n }\n });\n Object.defineProperty(exports, \"loadScript\", {\n enumerable: true,\n get: function () {\n return _display_utils.loadScript;\n }\n });\n Object.defineProperty(exports, \"PDFDateString\", {\n enumerable: true,\n get: function () {\n return _display_utils.PDFDateString;\n }\n });\n Object.defineProperty(exports, \"RenderingCancelledException\", {\n enumerable: true,\n get: function () {\n return _display_utils.RenderingCancelledException;\n }\n });\n Object.defineProperty(exports, \"build\", {\n enumerable: true,\n get: function () {\n return _api.build;\n }\n });\n Object.defineProperty(exports, \"getDocument\", {\n enumerable: true,\n get: function () {\n return _api.getDocument;\n }\n });\n Object.defineProperty(exports, \"LoopbackPort\", {\n enumerable: true,\n get: function () {\n return _api.LoopbackPort;\n }\n });\n Object.defineProperty(exports, \"PDFDataRangeTransport\", {\n enumerable: true,\n get: function () {\n return _api.PDFDataRangeTransport;\n }\n });\n Object.defineProperty(exports, \"PDFWorker\", {\n enumerable: true,\n get: function () {\n return _api.PDFWorker;\n }\n });\n Object.defineProperty(exports, \"version\", {\n enumerable: true,\n get: function () {\n return _api.version;\n }\n });\n Object.defineProperty(exports, \"CMapCompressionType\", {\n enumerable: true,\n get: function () {\n return _util.CMapCompressionType;\n }\n });\n Object.defineProperty(exports, \"createObjectURL\", {\n enumerable: true,\n get: function () {\n return _util.createObjectURL;\n }\n });\n Object.defineProperty(exports, \"createPromiseCapability\", {\n enumerable: true,\n get: function () {\n return _util.createPromiseCapability;\n }\n });\n Object.defineProperty(exports, \"createValidAbsoluteUrl\", {\n enumerable: true,\n get: function () {\n return _util.createValidAbsoluteUrl;\n }\n });\n Object.defineProperty(exports, \"InvalidPDFException\", {\n enumerable: true,\n get: function () {\n return _util.InvalidPDFException;\n }\n });\n Object.defineProperty(exports, \"MissingPDFException\", {\n enumerable: true,\n get: function () {\n return _util.MissingPDFException;\n }\n });\n Object.defineProperty(exports, \"OPS\", {\n enumerable: true,\n get: function () {\n return _util.OPS;\n }\n });\n Object.defineProperty(exports, \"PasswordResponses\", {\n enumerable: true,\n get: function () {\n return _util.PasswordResponses;\n }\n });\n Object.defineProperty(exports, \"PermissionFlag\", {\n enumerable: true,\n get: function () {\n return _util.PermissionFlag;\n }\n });\n Object.defineProperty(exports, \"removeNullCharacters\", {\n enumerable: true,\n get: function () {\n return _util.removeNullCharacters;\n }\n });\n Object.defineProperty(exports, \"shadow\", {\n enumerable: true,\n get: function () {\n return _util.shadow;\n }\n });\n Object.defineProperty(exports, \"UnexpectedResponseException\", {\n enumerable: true,\n get: function () {\n return _util.UnexpectedResponseException;\n }\n });\n Object.defineProperty(exports, \"UNSUPPORTED_FEATURES\", {\n enumerable: true,\n get: function () {\n return _util.UNSUPPORTED_FEATURES;\n }\n });\n Object.defineProperty(exports, \"Util\", {\n enumerable: true,\n get: function () {\n return _util.Util;\n }\n });\n Object.defineProperty(exports, \"VerbosityLevel\", {\n enumerable: true,\n get: function () {\n return _util.VerbosityLevel;\n }\n });\n Object.defineProperty(exports, \"AnnotationLayer\", {\n enumerable: true,\n get: function () {\n return _annotation_layer.AnnotationLayer;\n }\n });\n Object.defineProperty(exports, \"apiCompatibilityParams\", {\n enumerable: true,\n get: function () {\n return _api_compatibility.apiCompatibilityParams;\n }\n });\n Object.defineProperty(exports, \"GlobalWorkerOptions\", {\n enumerable: true,\n get: function () {\n return _worker_options.GlobalWorkerOptions;\n }\n });\n Object.defineProperty(exports, \"renderTextLayer\", {\n enumerable: true,\n get: function () {\n return _text_layer.renderTextLayer;\n }\n });\n Object.defineProperty(exports, \"SVGGraphics\", {\n enumerable: true,\n get: function () {\n return _svg.SVGGraphics;\n }\n });\n var _display_utils = __w_pdfjs_require__(1);\n var _api = __w_pdfjs_require__(5);\n var _util = __w_pdfjs_require__(2);\n var _annotation_layer = __w_pdfjs_require__(19);\n var _api_compatibility = __w_pdfjs_require__(9);\n var _worker_options = __w_pdfjs_require__(12);\n var _text_layer = __w_pdfjs_require__(20);\n var _svg = __w_pdfjs_require__(21);\n const pdfjsVersion = '2.6.347';\n const pdfjsBuild = '3be9c65f';\n {\n const {\n isNodeJS\n } = __w_pdfjs_require__(4);\n if (isNodeJS) {\n const PDFNodeStream = __w_pdfjs_require__(22).PDFNodeStream;\n (0, _api.setPDFNetworkStreamFactory)(params => {\n return new PDFNodeStream(params);\n });\n } else {\n const PDFNetworkStream = __w_pdfjs_require__(25).PDFNetworkStream;\n let PDFFetchStream;\n if ((0, _display_utils.isFetchSupported)()) {\n PDFFetchStream = __w_pdfjs_require__(26).PDFFetchStream;\n }\n (0, _api.setPDFNetworkStreamFactory)(params => {\n if (PDFFetchStream && (0, _display_utils.isValidFetchUrl)(params.url)) {\n return new PDFFetchStream(params);\n }\n return new PDFNetworkStream(params);\n });\n }\n }\n\n /***/\n }), ( /* 1 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.addLinkAttributes = addLinkAttributes;\n exports.getFilenameFromUrl = getFilenameFromUrl;\n exports.isFetchSupported = isFetchSupported;\n exports.isValidFetchUrl = isValidFetchUrl;\n exports.loadScript = loadScript;\n exports.deprecated = deprecated;\n exports.PDFDateString = exports.StatTimer = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.BaseCMapReaderFactory = exports.DOMCanvasFactory = exports.BaseCanvasFactory = exports.DEFAULT_LINK_REL = exports.LinkTarget = exports.RenderingCancelledException = exports.PageViewport = void 0;\n var _util = __w_pdfjs_require__(2);\n const DEFAULT_LINK_REL = \"noopener noreferrer nofollow\";\n exports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;\n const SVG_NS = \"http://www.w3.org/2000/svg\";\n class BaseCanvasFactory {\n constructor() {\n if (this.constructor === BaseCanvasFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseCanvasFactory.\");\n }\n }\n create(width, height) {\n (0, _util.unreachable)(\"Abstract method `create` called.\");\n }\n reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n canvasAndContext.canvas.width = width;\n canvasAndContext.canvas.height = height;\n }\n destroy(canvasAndContext) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n }\n exports.BaseCanvasFactory = BaseCanvasFactory;\n class DOMCanvasFactory extends BaseCanvasFactory {\n constructor() {\n let {\n ownerDocument = globalThis.document\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n super();\n this._document = ownerDocument;\n }\n create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n const canvas = this._document.createElement(\"canvas\");\n const context = canvas.getContext(\"2d\");\n canvas.width = width;\n canvas.height = height;\n return {\n canvas,\n context\n };\n }\n }\n exports.DOMCanvasFactory = DOMCanvasFactory;\n class BaseCMapReaderFactory {\n constructor(_ref) {\n let {\n baseUrl = null,\n isCompressed = false\n } = _ref;\n if (this.constructor === BaseCMapReaderFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseCMapReaderFactory.\");\n }\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n async fetch(_ref2) {\n let {\n name\n } = _ref2;\n if (!this.baseUrl) {\n throw new Error('The CMap \"baseUrl\" parameter must be specified, ensure that ' + 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.');\n }\n if (!name) {\n throw new Error(\"CMap name must be specified.\");\n }\n const url = this.baseUrl + name + (this.isCompressed ? \".bcmap\" : \"\");\n const compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;\n return this._fetchData(url, compressionType).catch(reason => {\n throw new Error(\"Unable to load \".concat(this.isCompressed ? \"binary \" : \"\", \"CMap at: \").concat(url));\n });\n }\n _fetchData(url, compressionType) {\n (0, _util.unreachable)(\"Abstract method `_fetchData` called.\");\n }\n }\n exports.BaseCMapReaderFactory = BaseCMapReaderFactory;\n class DOMCMapReaderFactory extends BaseCMapReaderFactory {\n _fetchData(url, compressionType) {\n if (isFetchSupported() && isValidFetchUrl(url, document.baseURI)) {\n return fetch(url).then(async response => {\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n let cMapData;\n if (this.isCompressed) {\n cMapData = new Uint8Array(await response.arrayBuffer());\n } else {\n cMapData = (0, _util.stringToBytes)(await response.text());\n }\n return {\n cMapData,\n compressionType\n };\n });\n }\n return new Promise((resolve, reject) => {\n const request = new XMLHttpRequest();\n request.open(\"GET\", url, true);\n if (this.isCompressed) {\n request.responseType = \"arraybuffer\";\n }\n request.onreadystatechange = () => {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n if (request.status === 200 || request.status === 0) {\n let cMapData;\n if (this.isCompressed && request.response) {\n cMapData = new Uint8Array(request.response);\n } else if (!this.isCompressed && request.responseText) {\n cMapData = (0, _util.stringToBytes)(request.responseText);\n }\n if (cMapData) {\n resolve({\n cMapData,\n compressionType\n });\n return;\n }\n }\n reject(new Error(request.statusText));\n };\n request.send(null);\n });\n }\n }\n exports.DOMCMapReaderFactory = DOMCMapReaderFactory;\n class DOMSVGFactory {\n create(width, height) {\n (0, _util.assert)(width > 0 && height > 0, \"Invalid SVG dimensions\");\n const svg = document.createElementNS(SVG_NS, \"svg:svg\");\n svg.setAttribute(\"version\", \"1.1\");\n svg.setAttribute(\"width\", width + \"px\");\n svg.setAttribute(\"height\", height + \"px\");\n svg.setAttribute(\"preserveAspectRatio\", \"none\");\n svg.setAttribute(\"viewBox\", \"0 0 \" + width + \" \" + height);\n return svg;\n }\n createElement(type) {\n (0, _util.assert)(typeof type === \"string\", \"Invalid SVG element type\");\n return document.createElementNS(SVG_NS, type);\n }\n }\n exports.DOMSVGFactory = DOMSVGFactory;\n class PageViewport {\n constructor(_ref3) {\n let {\n viewBox,\n scale,\n rotation,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false\n } = _ref3;\n this.viewBox = viewBox;\n this.scale = scale;\n this.rotation = rotation;\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n const centerX = (viewBox[2] + viewBox[0]) / 2;\n const centerY = (viewBox[3] + viewBox[1]) / 2;\n let rotateA, rotateB, rotateC, rotateD;\n rotation = rotation % 360;\n rotation = rotation < 0 ? rotation + 360 : rotation;\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n case 0:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n default:\n throw new Error(\"PageViewport: Invalid rotation, must be a multiple of 90 degrees.\");\n }\n if (dontFlip) {\n rotateC = -rotateC;\n rotateD = -rotateD;\n }\n let offsetCanvasX, offsetCanvasY;\n let width, height;\n if (rotateA === 0) {\n offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;\n width = Math.abs(viewBox[3] - viewBox[1]) * scale;\n height = Math.abs(viewBox[2] - viewBox[0]) * scale;\n } else {\n offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;\n width = Math.abs(viewBox[2] - viewBox[0]) * scale;\n height = Math.abs(viewBox[3] - viewBox[1]) * scale;\n }\n this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];\n this.width = width;\n this.height = height;\n }\n clone() {\n let {\n scale = this.scale,\n rotation = this.rotation,\n offsetX = this.offsetX,\n offsetY = this.offsetY,\n dontFlip = false\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new PageViewport({\n viewBox: this.viewBox.slice(),\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip\n });\n }\n convertToViewportPoint(x, y) {\n return _util.Util.applyTransform([x, y], this.transform);\n }\n convertToViewportRectangle(rect) {\n const topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);\n const bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);\n return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];\n }\n convertToPdfPoint(x, y) {\n return _util.Util.applyInverseTransform([x, y], this.transform);\n }\n }\n exports.PageViewport = PageViewport;\n class RenderingCancelledException extends _util.BaseException {\n constructor(msg, type) {\n super(msg);\n this.type = type;\n }\n }\n exports.RenderingCancelledException = RenderingCancelledException;\n const LinkTarget = {\n NONE: 0,\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4\n };\n exports.LinkTarget = LinkTarget;\n function addLinkAttributes(link) {\n let {\n url,\n target,\n rel,\n enabled = true\n } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n (0, _util.assert)(url && typeof url === \"string\", 'addLinkAttributes: A valid \"url\" parameter must provided.');\n const urlNullRemoved = (0, _util.removeNullCharacters)(url);\n if (enabled) {\n link.href = link.title = urlNullRemoved;\n } else {\n link.href = \"\";\n link.title = \"Disabled: \".concat(urlNullRemoved);\n link.onclick = () => {\n return false;\n };\n }\n let targetStr = \"\";\n switch (target) {\n case LinkTarget.NONE:\n break;\n case LinkTarget.SELF:\n targetStr = \"_self\";\n break;\n case LinkTarget.BLANK:\n targetStr = \"_blank\";\n break;\n case LinkTarget.PARENT:\n targetStr = \"_parent\";\n break;\n case LinkTarget.TOP:\n targetStr = \"_top\";\n break;\n }\n link.target = targetStr;\n link.rel = typeof rel === \"string\" ? rel : DEFAULT_LINK_REL;\n }\n function getFilenameFromUrl(url) {\n const anchor = url.indexOf(\"#\");\n const query = url.indexOf(\"?\");\n const end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);\n return url.substring(url.lastIndexOf(\"/\", end) + 1, end);\n }\n class StatTimer {\n constructor() {\n this.started = Object.create(null);\n this.times = [];\n }\n time(name) {\n if (name in this.started) {\n (0, _util.warn)(\"Timer is already running for \".concat(name));\n }\n this.started[name] = Date.now();\n }\n timeEnd(name) {\n if (!(name in this.started)) {\n (0, _util.warn)(\"Timer has not been started for \".concat(name));\n }\n this.times.push({\n name,\n start: this.started[name],\n end: Date.now()\n });\n delete this.started[name];\n }\n toString() {\n const outBuf = [];\n let longest = 0;\n for (const time of this.times) {\n const name = time.name;\n if (name.length > longest) {\n longest = name.length;\n }\n }\n for (const time of this.times) {\n const duration = time.end - time.start;\n outBuf.push(\"\".concat(time.name.padEnd(longest), \" \").concat(duration, \"ms\\n\"));\n }\n return outBuf.join(\"\");\n }\n }\n exports.StatTimer = StatTimer;\n function isFetchSupported() {\n return typeof fetch !== \"undefined\" && typeof Response !== \"undefined\" && \"body\" in Response.prototype && typeof ReadableStream !== \"undefined\";\n }\n function isValidFetchUrl(url, baseUrl) {\n try {\n const {\n protocol\n } = baseUrl ? new URL(url, baseUrl) : new URL(url);\n return protocol === \"http:\" || protocol === \"https:\";\n } catch (ex) {\n return false;\n }\n }\n function loadScript(src) {\n return new Promise((resolve, reject) => {\n const script = document.createElement(\"script\");\n script.src = src;\n script.onload = resolve;\n script.onerror = function () {\n reject(new Error(\"Cannot load script at: \".concat(script.src)));\n };\n (document.head || document.documentElement).appendChild(script);\n });\n }\n function deprecated(details) {\n console.log(\"Deprecated API usage: \" + details);\n }\n let pdfDateStringRegex;\n class PDFDateString {\n static toDateObject(input) {\n if (!input || !(0, _util.isString)(input)) {\n return null;\n }\n if (!pdfDateStringRegex) {\n pdfDateStringRegex = new RegExp(\"^D:\" + \"(\\\\d{4})\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"([Z|+|-])?\" + \"(\\\\d{2})?\" + \"'?\" + \"(\\\\d{2})?\" + \"'?\");\n }\n const matches = pdfDateStringRegex.exec(input);\n if (!matches) {\n return null;\n }\n const year = parseInt(matches[1], 10);\n let month = parseInt(matches[2], 10);\n month = month >= 1 && month <= 12 ? month - 1 : 0;\n let day = parseInt(matches[3], 10);\n day = day >= 1 && day <= 31 ? day : 1;\n let hour = parseInt(matches[4], 10);\n hour = hour >= 0 && hour <= 23 ? hour : 0;\n let minute = parseInt(matches[5], 10);\n minute = minute >= 0 && minute <= 59 ? minute : 0;\n let second = parseInt(matches[6], 10);\n second = second >= 0 && second <= 59 ? second : 0;\n const universalTimeRelation = matches[7] || \"Z\";\n let offsetHour = parseInt(matches[8], 10);\n offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;\n let offsetMinute = parseInt(matches[9], 10) || 0;\n offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;\n if (universalTimeRelation === \"-\") {\n hour += offsetHour;\n minute += offsetMinute;\n } else if (universalTimeRelation === \"+\") {\n hour -= offsetHour;\n minute -= offsetMinute;\n }\n return new Date(Date.UTC(year, month, day, hour, minute, second));\n }\n }\n exports.PDFDateString = PDFDateString;\n\n /***/\n }), ( /* 2 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.arrayByteLength = arrayByteLength;\n exports.arraysToBytes = arraysToBytes;\n exports.assert = assert;\n exports.bytesToString = bytesToString;\n exports.createPromiseCapability = createPromiseCapability;\n exports.escapeString = escapeString;\n exports.getModificationDate = getModificationDate;\n exports.getVerbosityLevel = getVerbosityLevel;\n exports.info = info;\n exports.isArrayBuffer = isArrayBuffer;\n exports.isArrayEqual = isArrayEqual;\n exports.isBool = isBool;\n exports.isNum = isNum;\n exports.isString = isString;\n exports.isSameOrigin = isSameOrigin;\n exports.createValidAbsoluteUrl = createValidAbsoluteUrl;\n exports.removeNullCharacters = removeNullCharacters;\n exports.setVerbosityLevel = setVerbosityLevel;\n exports.shadow = shadow;\n exports.string32 = string32;\n exports.stringToBytes = stringToBytes;\n exports.stringToPDFString = stringToPDFString;\n exports.stringToUTF8String = stringToUTF8String;\n exports.utf8StringToString = utf8StringToString;\n exports.warn = warn;\n exports.unreachable = unreachable;\n exports.IsEvalSupportedCached = exports.IsLittleEndianCached = exports.createObjectURL = exports.FormatError = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.MissingPDFException = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = exports.BaseException = void 0;\n __w_pdfjs_require__(3);\n const IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\n exports.IDENTITY_MATRIX = IDENTITY_MATRIX;\n const FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\n exports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\n const PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800\n };\n exports.PermissionFlag = PermissionFlag;\n const TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n };\n exports.TextRenderingMode = TextRenderingMode;\n const ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n };\n exports.ImageKind = ImageKind;\n const AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26\n };\n exports.AnnotationType = AnnotationType;\n const AnnotationStateModelType = {\n MARKED: \"Marked\",\n REVIEW: \"Review\"\n };\n exports.AnnotationStateModelType = AnnotationStateModelType;\n const AnnotationMarkedState = {\n MARKED: \"Marked\",\n UNMARKED: \"Unmarked\"\n };\n exports.AnnotationMarkedState = AnnotationMarkedState;\n const AnnotationReviewState = {\n ACCEPTED: \"Accepted\",\n REJECTED: \"Rejected\",\n CANCELLED: \"Cancelled\",\n COMPLETED: \"Completed\",\n NONE: \"None\"\n };\n exports.AnnotationReviewState = AnnotationReviewState;\n const AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\"\n };\n exports.AnnotationReplyType = AnnotationReplyType;\n const AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n };\n exports.AnnotationFlag = AnnotationFlag;\n const AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n };\n exports.AnnotationFieldFlag = AnnotationFieldFlag;\n const AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n };\n exports.AnnotationBorderStyleType = AnnotationBorderStyleType;\n const StreamType = {\n UNKNOWN: \"UNKNOWN\",\n FLATE: \"FLATE\",\n LZW: \"LZW\",\n DCT: \"DCT\",\n JPX: \"JPX\",\n JBIG: \"JBIG\",\n A85: \"A85\",\n AHX: \"AHX\",\n CCF: \"CCF\",\n RLX: \"RLX\"\n };\n exports.StreamType = StreamType;\n const FontType = {\n UNKNOWN: \"UNKNOWN\",\n TYPE1: \"TYPE1\",\n TYPE1C: \"TYPE1C\",\n CIDFONTTYPE0: \"CIDFONTTYPE0\",\n CIDFONTTYPE0C: \"CIDFONTTYPE0C\",\n TRUETYPE: \"TRUETYPE\",\n CIDFONTTYPE2: \"CIDFONTTYPE2\",\n TYPE3: \"TYPE3\",\n OPENTYPE: \"OPENTYPE\",\n TYPE0: \"TYPE0\",\n MMTYPE1: \"MMTYPE1\"\n };\n exports.FontType = FontType;\n const VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n };\n exports.VerbosityLevel = VerbosityLevel;\n const CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n };\n exports.CMapCompressionType = CMapCompressionType;\n const OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotations: 78,\n endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91\n };\n exports.OPS = OPS;\n const UNSUPPORTED_FEATURES = {\n unknown: \"unknown\",\n forms: \"forms\",\n javaScript: \"javaScript\",\n smask: \"smask\",\n shadingPattern: \"shadingPattern\",\n font: \"font\",\n errorTilingPattern: \"errorTilingPattern\",\n errorExtGState: \"errorExtGState\",\n errorXObject: \"errorXObject\",\n errorFontLoadType3: \"errorFontLoadType3\",\n errorFontState: \"errorFontState\",\n errorFontMissing: \"errorFontMissing\",\n errorFontTranslate: \"errorFontTranslate\",\n errorColorSpace: \"errorColorSpace\",\n errorOperatorList: \"errorOperatorList\",\n errorFontToUnicode: \"errorFontToUnicode\",\n errorFontLoadNative: \"errorFontLoadNative\",\n errorFontGetPath: \"errorFontGetPath\",\n errorMarkedContent: \"errorMarkedContent\"\n };\n exports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\n const PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n };\n exports.PasswordResponses = PasswordResponses;\n let verbosity = VerbosityLevel.WARNINGS;\n function setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n }\n function getVerbosityLevel() {\n return verbosity;\n }\n function info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(\"Info: \".concat(msg));\n }\n }\n function warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(\"Warning: \".concat(msg));\n }\n }\n function unreachable(msg) {\n throw new Error(msg);\n }\n function assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n }\n function isSameOrigin(baseUrl, otherUrl) {\n let base;\n try {\n base = new URL(baseUrl);\n if (!base.origin || base.origin === \"null\") {\n return false;\n }\n } catch (e) {\n return false;\n }\n const other = new URL(otherUrl, base);\n return base.origin === other.origin;\n }\n function _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n switch (url.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n default:\n return false;\n }\n }\n function createValidAbsoluteUrl(url, baseUrl) {\n if (!url) {\n return null;\n }\n try {\n const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n return null;\n }\n function shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value,\n enumerable: true,\n configurable: true,\n writable: false\n });\n return value;\n }\n const BaseException = function BaseExceptionClosure() {\n function BaseException(message) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n this.message = message;\n this.name = this.constructor.name;\n }\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n return BaseException;\n }();\n exports.BaseException = BaseException;\n class PasswordException extends BaseException {\n constructor(msg, code) {\n super(msg);\n this.code = code;\n }\n }\n exports.PasswordException = PasswordException;\n class UnknownErrorException extends BaseException {\n constructor(msg, details) {\n super(msg);\n this.details = details;\n }\n }\n exports.UnknownErrorException = UnknownErrorException;\n class InvalidPDFException extends BaseException {}\n exports.InvalidPDFException = InvalidPDFException;\n class MissingPDFException extends BaseException {}\n exports.MissingPDFException = MissingPDFException;\n class UnexpectedResponseException extends BaseException {\n constructor(msg, status) {\n super(msg);\n this.status = status;\n }\n }\n exports.UnexpectedResponseException = UnexpectedResponseException;\n class FormatError extends BaseException {}\n exports.FormatError = FormatError;\n class AbortException extends BaseException {}\n exports.AbortException = AbortException;\n const NullCharactersRegExp = /\\x00/g;\n function removeNullCharacters(str) {\n if (typeof str !== \"string\") {\n warn(\"The argument for removeNullCharacters must be a string.\");\n return str;\n }\n return str.replace(NullCharactersRegExp, \"\");\n }\n function bytesToString(bytes) {\n assert(bytes !== null && typeof bytes === \"object\" && bytes.length !== undefined, \"Invalid argument for bytesToString\");\n const length = bytes.length;\n const MAX_ARGUMENT_COUNT = 8192;\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n const strBuf = [];\n for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n const chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n return strBuf.join(\"\");\n }\n function stringToBytes(str) {\n assert(typeof str === \"string\", \"Invalid argument for stringToBytes\");\n const length = str.length;\n const bytes = new Uint8Array(length);\n for (let i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n return bytes;\n }\n function arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n assert(arr.byteLength !== undefined, \"arrayByteLength - invalid argument.\");\n return arr.byteLength;\n }\n function arraysToBytes(arr) {\n const length = arr.length;\n if (length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n let resultLength = 0;\n for (let i = 0; i < length; i++) {\n resultLength += arrayByteLength(arr[i]);\n }\n let pos = 0;\n const data = new Uint8Array(resultLength);\n for (let i = 0; i < length; i++) {\n let item = arr[i];\n if (!(item instanceof Uint8Array)) {\n if (typeof item === \"string\") {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n const itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n return data;\n }\n function string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n }\n function isLittleEndian() {\n const buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n const view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n }\n const IsLittleEndianCached = {\n get value() {\n return shadow(this, \"value\", isLittleEndian());\n }\n };\n exports.IsLittleEndianCached = IsLittleEndianCached;\n function isEvalSupported() {\n try {\n new Function(\"\");\n return true;\n } catch (e) {\n return false;\n }\n }\n const IsEvalSupportedCached = {\n get value() {\n return shadow(this, \"value\", isEvalSupported());\n }\n };\n exports.IsEvalSupportedCached = IsEvalSupportedCached;\n const rgbBuf = [\"rgb(\", 0, \",\", 0, \",\", 0, \")\"];\n class Util {\n static makeCssRgb(r, g, b) {\n rgbBuf[1] = r;\n rgbBuf[3] = g;\n rgbBuf[5] = b;\n return rgbBuf.join(\"\");\n }\n static transform(m1, m2) {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n }\n static applyTransform(p, m) {\n const xt = p[0] * m[0] + p[1] * m[2] + m[4];\n const yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n static applyInverseTransform(p, m) {\n const d = m[0] * m[3] - m[1] * m[2];\n const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n static getAxialAlignedBoundingBox(r, m) {\n const p1 = Util.applyTransform(r, m);\n const p2 = Util.applyTransform(r.slice(2, 4), m);\n const p3 = Util.applyTransform([r[0], r[3]], m);\n const p4 = Util.applyTransform([r[2], r[1]], m);\n return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n }\n static inverseTransform(m) {\n const d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n }\n static apply3dTransform(m, v) {\n return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];\n }\n static singularValueDecompose2dScale(m) {\n const transpose = [m[0], m[2], m[1], m[3]];\n const a = m[0] * transpose[0] + m[1] * transpose[2];\n const b = m[0] * transpose[1] + m[1] * transpose[3];\n const c = m[2] * transpose[0] + m[3] * transpose[2];\n const d = m[2] * transpose[1] + m[3] * transpose[3];\n const first = (a + d) / 2;\n const second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n const sx = first + second || 1;\n const sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n static normalizeRect(rect) {\n const r = rect.slice(0);\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n return r;\n }\n static intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n const orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);\n const orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);\n const result = [];\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {\n result[0] = orderedX[1];\n result[2] = orderedX[2];\n } else {\n return null;\n }\n if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {\n result[1] = orderedY[1];\n result[3] = orderedY[2];\n } else {\n return null;\n }\n return result;\n }\n }\n exports.Util = Util;\n const PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];\n function stringToPDFString(str) {\n const length = str.length,\n strBuf = [];\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n for (let i = 2; i < length; i += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));\n }\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n for (let i = 2; i < length; i += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(i + 1) << 8 | str.charCodeAt(i)));\n }\n } else {\n for (let i = 0; i < length; ++i) {\n const code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n }\n return strBuf.join(\"\");\n }\n function escapeString(str) {\n return str.replace(/([\\(\\)\\\\])/g, \"\\\\$1\");\n }\n function stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n }\n function utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n }\n function isBool(v) {\n return typeof v === \"boolean\";\n }\n function isNum(v) {\n return typeof v === \"number\";\n }\n function isString(v) {\n return typeof v === \"string\";\n }\n function isArrayBuffer(v) {\n return typeof v === \"object\" && v !== null && v.byteLength !== undefined;\n }\n function isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n return arr1.every(function (element, index) {\n return element === arr2[index];\n });\n }\n function getModificationDate() {\n let date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date(Date.now());\n const buffer = [date.getUTCFullYear().toString(), (date.getUTCMonth() + 1).toString().padStart(2, \"0\"), (date.getUTCDate() + 1).toString().padStart(2, \"0\"), date.getUTCHours().toString().padStart(2, \"0\"), date.getUTCMinutes().toString().padStart(2, \"0\"), date.getUTCSeconds().toString().padStart(2, \"0\")];\n return buffer.join(\"\");\n }\n function createPromiseCapability() {\n const capability = Object.create(null);\n let isSettled = false;\n Object.defineProperty(capability, \"settled\", {\n get() {\n return isSettled;\n }\n });\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = function (data) {\n isSettled = true;\n resolve(data);\n };\n capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n }\n const createObjectURL = function createObjectURLClosure() {\n const digits = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n return function createObjectURL(data, contentType) {\n let forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n if (!forceDataSchema && URL.createObjectURL) {\n const blob = new Blob([data], {\n type: contentType\n });\n return URL.createObjectURL(blob);\n }\n let buffer = \"data:\".concat(contentType, \";base64,\");\n for (let i = 0, ii = data.length; i < ii; i += 3) {\n const b1 = data[i] & 0xff;\n const b2 = data[i + 1] & 0xff;\n const b3 = data[i + 2] & 0xff;\n const d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n const d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;\n const d4 = i + 2 < ii ? b3 & 0x3f : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n return buffer;\n };\n }();\n exports.createObjectURL = createObjectURL;\n\n /***/\n }), ( /* 3 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _is_node = __w_pdfjs_require__(4);\n ;\n\n /***/\n }), ( /* 4 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.isNodeJS = void 0;\n const isNodeJS = typeof process === \"object\" && process + \"\" === \"[object process]\" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== \"browser\");\n exports.isNodeJS = isNodeJS;\n\n /***/\n }), ( /* 5 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getDocument = getDocument;\n exports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;\n exports.build = exports.version = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = exports.PDFDataRangeTransport = exports.LoopbackPort = void 0;\n var _util = __w_pdfjs_require__(2);\n var _display_utils = __w_pdfjs_require__(1);\n var _font_loader = __w_pdfjs_require__(6);\n var _node_utils = __w_pdfjs_require__(7);\n var _annotation_storage = __w_pdfjs_require__(8);\n var _api_compatibility = __w_pdfjs_require__(9);\n var _canvas = __w_pdfjs_require__(10);\n var _worker_options = __w_pdfjs_require__(12);\n var _is_node = __w_pdfjs_require__(4);\n var _message_handler = __w_pdfjs_require__(13);\n var _metadata = __w_pdfjs_require__(14);\n var _optional_content_config = __w_pdfjs_require__(16);\n var _transport_stream = __w_pdfjs_require__(17);\n var _webgl = __w_pdfjs_require__(18);\n const DEFAULT_RANGE_CHUNK_SIZE = 65536;\n const RENDERING_CANCELLED_TIMEOUT = 100;\n const DefaultCanvasFactory = _is_node.isNodeJS ? _node_utils.NodeCanvasFactory : _display_utils.DOMCanvasFactory;\n const DefaultCMapReaderFactory = _is_node.isNodeJS ? _node_utils.NodeCMapReaderFactory : _display_utils.DOMCMapReaderFactory;\n let createPDFNetworkStream;\n function setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n }\n function getDocument(src) {\n const task = new PDFDocumentLoadingTask();\n let source;\n if (typeof src === \"string\") {\n source = {\n url: src\n };\n } else if ((0, _util.isArrayBuffer)(src)) {\n source = {\n data: src\n };\n } else if (src instanceof PDFDataRangeTransport) {\n source = {\n range: src\n };\n } else {\n if (typeof src !== \"object\") {\n throw new Error(\"Invalid parameter in getDocument, \" + \"need either Uint8Array, string or a parameter object\");\n }\n if (!src.url && !src.data && !src.range) {\n throw new Error(\"Invalid parameter object: need either .data, .range or .url\");\n }\n source = src;\n }\n const params = Object.create(null);\n let rangeTransport = null,\n worker = null;\n for (const key in source) {\n if (key === \"url\" && typeof window !== \"undefined\") {\n params[key] = new URL(source[key], window.location).href;\n continue;\n } else if (key === \"range\") {\n rangeTransport = source[key];\n continue;\n } else if (key === \"worker\") {\n worker = source[key];\n continue;\n } else if (key === \"data\" && !(source[key] instanceof Uint8Array)) {\n const pdfBytes = source[key];\n if (typeof pdfBytes === \"string\") {\n params[key] = (0, _util.stringToBytes)(pdfBytes);\n } else if (typeof pdfBytes === \"object\" && pdfBytes !== null && !isNaN(pdfBytes.length)) {\n params[key] = new Uint8Array(pdfBytes);\n } else if ((0, _util.isArrayBuffer)(pdfBytes)) {\n params[key] = new Uint8Array(pdfBytes);\n } else {\n throw new Error(\"Invalid PDF binary data: either typed array, \" + \"string or array-like object is expected in the \" + \"data property.\");\n }\n continue;\n }\n params[key] = source[key];\n }\n params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n params.CMapReaderFactory = params.CMapReaderFactory || DefaultCMapReaderFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.fontExtraProperties = params.fontExtraProperties === true;\n params.pdfBug = params.pdfBug === true;\n if (!Number.isInteger(params.maxImageSize)) {\n params.maxImageSize = -1;\n }\n if (typeof params.isEvalSupported !== \"boolean\") {\n params.isEvalSupported = true;\n }\n if (typeof params.disableFontFace !== \"boolean\") {\n params.disableFontFace = _api_compatibility.apiCompatibilityParams.disableFontFace || false;\n }\n if (typeof params.ownerDocument === \"undefined\") {\n params.ownerDocument = globalThis.document;\n }\n if (typeof params.disableRange !== \"boolean\") {\n params.disableRange = false;\n }\n if (typeof params.disableStream !== \"boolean\") {\n params.disableStream = false;\n }\n if (typeof params.disableAutoFetch !== \"boolean\") {\n params.disableAutoFetch = false;\n }\n (0, _util.setVerbosityLevel)(params.verbosity);\n if (!worker) {\n const workerParams = {\n verbosity: params.verbosity,\n port: _worker_options.GlobalWorkerOptions.workerPort\n };\n worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);\n task._worker = worker;\n }\n const docId = task.docId;\n worker.promise.then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n const workerIdPromise = _fetchDocument(worker, params, rangeTransport, docId);\n const networkStreamPromise = new Promise(function (resolve) {\n let networkStream;\n if (rangeTransport) {\n networkStream = new _transport_stream.PDFDataTransportStream({\n length: params.length,\n initialData: params.initialData,\n progressiveDone: params.progressiveDone,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n }, rangeTransport);\n } else if (!params.data) {\n networkStream = createPDFNetworkStream({\n url: params.url,\n length: params.length,\n httpHeaders: params.httpHeaders,\n withCredentials: params.withCredentials,\n rangeChunkSize: params.rangeChunkSize,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n });\n }\n resolve(networkStream);\n });\n return Promise.all([workerIdPromise, networkStreamPromise]).then(function (_ref4) {\n let [workerId, networkStream] = _ref4;\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n const messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);\n messageHandler.postMessageTransfers = worker.postMessageTransfers;\n const transport = new WorkerTransport(messageHandler, task, networkStream, params);\n task._transport = transport;\n messageHandler.send(\"Ready\", null);\n });\n }).catch(task._capability.reject);\n return task;\n }\n function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n return Promise.reject(new Error(\"Worker was destroyed\"));\n }\n if (pdfDataRangeTransport) {\n source.length = pdfDataRangeTransport.length;\n source.initialData = pdfDataRangeTransport.initialData;\n source.progressiveDone = pdfDataRangeTransport.progressiveDone;\n }\n return worker.messageHandler.sendWithPromise(\"GetDocRequest\", {\n docId,\n apiVersion: '2.6.347',\n source: {\n data: source.data,\n url: source.url,\n password: source.password,\n disableAutoFetch: source.disableAutoFetch,\n rangeChunkSize: source.rangeChunkSize,\n length: source.length\n },\n maxImageSize: source.maxImageSize,\n disableFontFace: source.disableFontFace,\n postMessageTransfers: worker.postMessageTransfers,\n docBaseUrl: source.docBaseUrl,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported,\n fontExtraProperties: source.fontExtraProperties\n }).then(function (workerId) {\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n return workerId;\n });\n }\n const PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {\n let nextDocumentId = 0;\n class PDFDocumentLoadingTask {\n constructor() {\n this._capability = (0, _util.createPromiseCapability)();\n this._transport = null;\n this._worker = null;\n this.docId = \"d\" + nextDocumentId++;\n this.destroyed = false;\n this.onPassword = null;\n this.onProgress = null;\n this.onUnsupportedFeature = null;\n }\n get promise() {\n return this._capability.promise;\n }\n destroy() {\n this.destroyed = true;\n const transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();\n return transportDestroyed.then(() => {\n this._transport = null;\n if (this._worker) {\n this._worker.destroy();\n this._worker = null;\n }\n });\n }\n }\n return PDFDocumentLoadingTask;\n }();\n class PDFDataRangeTransport {\n constructor(length, initialData) {\n let progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = (0, _util.createPromiseCapability)();\n }\n addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n onDataRange(begin, chunk) {\n for (const listener of this._rangeListeners) {\n listener(begin, chunk);\n }\n }\n onDataProgress(loaded, total) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressListeners) {\n listener(loaded, total);\n }\n });\n }\n onDataProgressiveRead(chunk) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveReadListeners) {\n listener(chunk);\n }\n });\n }\n onDataProgressiveDone() {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveDoneListeners) {\n listener();\n }\n });\n }\n transportReady() {\n this._readyCapability.resolve();\n }\n requestDataRange(begin, end) {\n (0, _util.unreachable)(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n }\n abort() {}\n }\n exports.PDFDataRangeTransport = PDFDataRangeTransport;\n class PDFDocumentProxy {\n constructor(pdfInfo, transport) {\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n }\n get annotationStorage() {\n return (0, _util.shadow)(this, \"annotationStorage\", new _annotation_storage.AnnotationStorage());\n }\n get numPages() {\n return this._pdfInfo.numPages;\n }\n get fingerprint() {\n return this._pdfInfo.fingerprint;\n }\n getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n getDestinations() {\n return this._transport.getDestinations();\n }\n getDestination(id) {\n return this._transport.getDestination(id);\n }\n getPageLabels() {\n return this._transport.getPageLabels();\n }\n getPageLayout() {\n return this._transport.getPageLayout();\n }\n getPageMode() {\n return this._transport.getPageMode();\n }\n getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n getOpenAction() {\n return this._transport.getOpenAction();\n }\n getAttachments() {\n return this._transport.getAttachments();\n }\n getJavaScript() {\n return this._transport.getJavaScript();\n }\n getOutline() {\n return this._transport.getOutline();\n }\n getOptionalContentConfig() {\n return this._transport.getOptionalContentConfig();\n }\n getPermissions() {\n return this._transport.getPermissions();\n }\n getMetadata() {\n return this._transport.getMetadata();\n }\n getData() {\n return this._transport.getData();\n }\n getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n getStats() {\n return this._transport.getStats();\n }\n cleanup() {\n return this._transport.startCleanup();\n }\n destroy() {\n return this.loadingTask.destroy();\n }\n get loadingParams() {\n return this._transport.loadingParams;\n }\n get loadingTask() {\n return this._transport.loadingTask;\n }\n saveDocument(annotationStorage) {\n return this._transport.saveDocument(annotationStorage);\n }\n }\n exports.PDFDocumentProxy = PDFDocumentProxy;\n class PDFPageProxy {\n constructor(pageIndex, pageInfo, transport, ownerDocument) {\n let pdfBug = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._ownerDocument = ownerDocument;\n this._transport = transport;\n this._stats = pdfBug ? new _display_utils.StatTimer() : null;\n this._pdfBug = pdfBug;\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n this.cleanupAfterRender = false;\n this.pendingCleanup = false;\n this._intentStates = new Map();\n this.destroyed = false;\n }\n get pageNumber() {\n return this._pageIndex + 1;\n }\n get rotate() {\n return this._pageInfo.rotate;\n }\n get ref() {\n return this._pageInfo.ref;\n }\n get userUnit() {\n return this._pageInfo.userUnit;\n }\n get view() {\n return this._pageInfo.view;\n }\n getViewport() {\n let {\n scale,\n rotation = this.rotate,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _display_utils.PageViewport({\n viewBox: this.view,\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip\n });\n }\n getAnnotations() {\n let {\n intent = null\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!this.annotationsPromise || this.annotationsIntent !== intent) {\n this.annotationsPromise = this._transport.getAnnotations(this._pageIndex, intent);\n this.annotationsIntent = intent;\n }\n return this.annotationsPromise;\n }\n render(_ref5) {\n let {\n canvasContext,\n viewport,\n intent = \"display\",\n enableWebGL = false,\n renderInteractiveForms = false,\n transform = null,\n imageLayer = null,\n canvasFactory = null,\n background = null,\n annotationStorage = null,\n optionalContentConfigPromise = null\n } = _ref5;\n if (this._stats) {\n this._stats.time(\"Overall\");\n }\n const renderingIntent = intent === \"print\" ? \"print\" : \"display\";\n this.pendingCleanup = false;\n if (!optionalContentConfigPromise) {\n optionalContentConfigPromise = this._transport.getOptionalContentConfig();\n }\n let intentState = this._intentStates.get(renderingIntent);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(renderingIntent, intentState);\n }\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n const canvasFactoryInstance = canvasFactory || new DefaultCanvasFactory({\n ownerDocument: this._ownerDocument\n });\n const webGLContext = new _webgl.WebGLContext({\n enable: enableWebGL\n });\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = (0, _util.createPromiseCapability)();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n this._pumpOperatorList({\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n renderInteractiveForms: renderInteractiveForms === true,\n annotationStorage: annotationStorage && annotationStorage.getAll() || null\n });\n }\n const complete = error => {\n const i = intentState.renderTasks.indexOf(internalRenderTask);\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n if (this.cleanupAfterRender || renderingIntent === \"print\") {\n this.pendingCleanup = true;\n }\n this._tryCleanup();\n if (error) {\n internalRenderTask.capability.reject(error);\n this._abortOperatorList({\n intentState,\n reason: error\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n if (this._stats) {\n this._stats.timeEnd(\"Rendering\");\n this._stats.timeEnd(\"Overall\");\n }\n };\n const internalRenderTask = new InternalRenderTask({\n callback: complete,\n params: {\n canvasContext,\n viewport,\n transform,\n imageLayer,\n background\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: canvasFactoryInstance,\n webGLContext,\n useRequestAnimationFrame: renderingIntent !== \"print\",\n pdfBug: this._pdfBug\n });\n if (!intentState.renderTasks) {\n intentState.renderTasks = [];\n }\n intentState.renderTasks.push(internalRenderTask);\n const renderTask = internalRenderTask.task;\n Promise.all([intentState.displayReadyCapability.promise, optionalContentConfigPromise]).then(_ref6 => {\n let [transparency, optionalContentConfig] = _ref6;\n if (this.pendingCleanup) {\n complete();\n return;\n }\n if (this._stats) {\n this._stats.time(\"Rendering\");\n }\n internalRenderTask.initializeGraphics({\n transparency,\n optionalContentConfig\n });\n internalRenderTask.operatorListChanged();\n }).catch(complete);\n return renderTask;\n }\n getOperatorList() {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n const i = intentState.renderTasks.indexOf(opListTask);\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n }\n }\n const renderingIntent = \"oplist\";\n let intentState = this._intentStates.get(renderingIntent);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(renderingIntent, intentState);\n }\n let opListTask;\n if (!intentState.opListReadCapability) {\n opListTask = Object.create(null);\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = (0, _util.createPromiseCapability)();\n intentState.renderTasks = [];\n intentState.renderTasks.push(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n this._pumpOperatorList({\n pageIndex: this._pageIndex,\n intent: renderingIntent\n });\n }\n return intentState.opListReadCapability.promise;\n }\n streamTextContent() {\n let {\n normalizeWhitespace = false,\n disableCombineTextItems = false\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const TEXT_CONTENT_CHUNK_SIZE = 100;\n return this._transport.messageHandler.sendWithStream(\"GetTextContent\", {\n pageIndex: this._pageIndex,\n normalizeWhitespace: normalizeWhitespace === true,\n combineTextItems: disableCombineTextItems !== true\n }, {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size(textContent) {\n return textContent.items.length;\n }\n });\n }\n getTextContent() {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const readableStream = this.streamTextContent(params);\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function (_ref7) {\n let {\n value,\n done\n } = _ref7;\n if (done) {\n resolve(textContent);\n return;\n }\n Object.assign(textContent.styles, value.styles);\n textContent.items.push(...value.items);\n pump();\n }, reject);\n }\n const reader = readableStream.getReader();\n const textContent = {\n items: [],\n styles: Object.create(null)\n };\n pump();\n });\n }\n _destroy() {\n this.destroyed = true;\n this._transport.pageCache[this._pageIndex] = null;\n const waitOn = [];\n for (const [intent, intentState] of this._intentStates) {\n this._abortOperatorList({\n intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true\n });\n if (intent === \"oplist\") {\n continue;\n }\n for (const internalRenderTask of intentState.renderTasks) {\n waitOn.push(internalRenderTask.completed);\n internalRenderTask.cancel();\n }\n }\n this.objs.clear();\n this.annotationsPromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n }\n cleanup() {\n let resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n this.pendingCleanup = true;\n return this._tryCleanup(resetStats);\n }\n _tryCleanup() {\n let resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n if (!this.pendingCleanup) {\n return false;\n }\n for (const {\n renderTasks,\n operatorList\n } of this._intentStates.values()) {\n if (renderTasks.length !== 0 || !operatorList.lastChunk) {\n return false;\n }\n }\n this._intentStates.clear();\n this.objs.clear();\n this.annotationsPromise = null;\n if (resetStats && this._stats) {\n this._stats = new _display_utils.StatTimer();\n }\n this.pendingCleanup = false;\n return true;\n }\n _startRenderPage(transparency, intent) {\n const intentState = this._intentStates.get(intent);\n if (!intentState) {\n return;\n }\n if (this._stats) {\n this._stats.timeEnd(\"Page Request\");\n }\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n }\n _renderPageChunk(operatorListChunk, intentState) {\n for (let i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n for (let i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\n }\n if (operatorListChunk.lastChunk) {\n this._tryCleanup();\n }\n }\n _pumpOperatorList(args) {\n (0, _util.assert)(args.intent, 'PDFPageProxy._pumpOperatorList: Expected \"intent\" argument.');\n const readableStream = this._transport.messageHandler.sendWithStream(\"GetOperatorList\", args);\n const reader = readableStream.getReader();\n const intentState = this._intentStates.get(args.intent);\n intentState.streamReader = reader;\n const pump = () => {\n reader.read().then(_ref8 => {\n let {\n value,\n done\n } = _ref8;\n if (done) {\n intentState.streamReader = null;\n return;\n }\n if (this._transport.destroyed) {\n return;\n }\n this._renderPageChunk(value, intentState);\n pump();\n }, reason => {\n intentState.streamReader = null;\n if (this._transport.destroyed) {\n return;\n }\n if (intentState.operatorList) {\n intentState.operatorList.lastChunk = true;\n for (let i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\n }\n this._tryCleanup();\n }\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(reason);\n } else if (intentState.opListReadCapability) {\n intentState.opListReadCapability.reject(reason);\n } else {\n throw reason;\n }\n });\n };\n pump();\n }\n _abortOperatorList(_ref9) {\n let {\n intentState,\n reason,\n force = false\n } = _ref9;\n (0, _util.assert)(reason instanceof Error || typeof reason === \"object\" && reason !== null, 'PDFPageProxy._abortOperatorList: Expected \"reason\" argument.');\n if (!intentState.streamReader) {\n return;\n }\n if (!force) {\n if (intentState.renderTasks.length !== 0) {\n return;\n }\n if (reason instanceof _display_utils.RenderingCancelledException) {\n intentState.streamReaderCancelTimeout = setTimeout(() => {\n this._abortOperatorList({\n intentState,\n reason,\n force: true\n });\n intentState.streamReaderCancelTimeout = null;\n }, RENDERING_CANCELLED_TIMEOUT);\n return;\n }\n }\n intentState.streamReader.cancel(new _util.AbortException(reason && reason.message));\n intentState.streamReader = null;\n if (this._transport.destroyed) {\n return;\n }\n for (const [intent, curIntentState] of this._intentStates) {\n if (curIntentState === intentState) {\n this._intentStates.delete(intent);\n break;\n }\n }\n this.cleanup();\n }\n get stats() {\n return this._stats;\n }\n }\n exports.PDFPageProxy = PDFPageProxy;\n class LoopbackPort {\n constructor() {\n let defer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this._listeners = [];\n this._defer = defer;\n this._deferred = Promise.resolve(undefined);\n }\n postMessage(obj, transfers) {\n function cloneValue(value) {\n if (typeof value !== \"object\" || value === null) {\n return value;\n }\n if (cloned.has(value)) {\n return cloned.get(value);\n }\n let buffer, result;\n if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) {\n const transferable = transfers && transfers.includes(buffer);\n if (transferable) {\n result = new value.constructor(buffer, value.byteOffset, value.byteLength);\n } else {\n result = new value.constructor(value);\n }\n cloned.set(value, result);\n return result;\n }\n result = Array.isArray(value) ? [] : {};\n cloned.set(value, result);\n for (const i in value) {\n let desc,\n p = value;\n while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {\n p = Object.getPrototypeOf(p);\n }\n if (typeof desc.value === \"undefined\") {\n continue;\n }\n if (typeof desc.value === \"function\") {\n if (value.hasOwnProperty && value.hasOwnProperty(i)) {\n throw new Error(\"LoopbackPort.postMessage - cannot clone: \".concat(value[i]));\n }\n continue;\n }\n result[i] = cloneValue(desc.value);\n }\n return result;\n }\n if (!this._defer) {\n this._listeners.forEach(listener => {\n listener.call(this, {\n data: obj\n });\n });\n return;\n }\n const cloned = new WeakMap();\n const e = {\n data: cloneValue(obj)\n };\n this._deferred.then(() => {\n this._listeners.forEach(listener => {\n listener.call(this, e);\n });\n });\n }\n addEventListener(name, listener) {\n this._listeners.push(listener);\n }\n removeEventListener(name, listener) {\n const i = this._listeners.indexOf(listener);\n this._listeners.splice(i, 1);\n }\n terminate() {\n this._listeners.length = 0;\n }\n }\n exports.LoopbackPort = LoopbackPort;\n const PDFWorker = function PDFWorkerClosure() {\n const pdfWorkerPorts = new WeakMap();\n let isWorkerDisabled = false;\n let fallbackWorkerSrc;\n let nextFakeWorkerId = 0;\n let fakeWorkerCapability;\n if (_is_node.isNodeJS && typeof require === \"function\") {\n isWorkerDisabled = true;\n fallbackWorkerSrc = \"./pdf.worker.js\";\n } else if (typeof document === \"object\" && \"currentScript\" in document) {\n const pdfjsFilePath = document.currentScript && document.currentScript.src;\n if (pdfjsFilePath) {\n fallbackWorkerSrc = pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i, \".worker$1$2\");\n }\n }\n function getWorkerSrc() {\n if (_worker_options.GlobalWorkerOptions.workerSrc) {\n return _worker_options.GlobalWorkerOptions.workerSrc;\n }\n if (typeof fallbackWorkerSrc !== \"undefined\") {\n if (!_is_node.isNodeJS) {\n (0, _display_utils.deprecated)('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n return fallbackWorkerSrc;\n }\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n function getMainThreadWorkerMessageHandler() {\n let mainWorkerMessageHandler;\n try {\n mainWorkerMessageHandler = globalThis.pdfjsWorker && globalThis.pdfjsWorker.WorkerMessageHandler;\n } catch (ex) {}\n return mainWorkerMessageHandler || null;\n }\n function setupFakeWorkerGlobal() {\n if (fakeWorkerCapability) {\n return fakeWorkerCapability.promise;\n }\n fakeWorkerCapability = (0, _util.createPromiseCapability)();\n const loader = async function () {\n const mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();\n if (mainWorkerMessageHandler) {\n return mainWorkerMessageHandler;\n }\n if (_is_node.isNodeJS && typeof require === \"function\") {\n const worker = eval(\"require\")(getWorkerSrc());\n return worker.WorkerMessageHandler;\n }\n await (0, _display_utils.loadScript)(getWorkerSrc());\n return window.pdfjsWorker.WorkerMessageHandler;\n };\n loader().then(fakeWorkerCapability.resolve, fakeWorkerCapability.reject);\n return fakeWorkerCapability.promise;\n }\n function createCDNWrapper(url) {\n const wrapper = \"importScripts('\" + url + \"');\";\n return URL.createObjectURL(new Blob([wrapper]));\n }\n class PDFWorker {\n constructor() {\n let {\n name = null,\n port = null,\n verbosity = (0, _util.getVerbosityLevel)()\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (port && pdfWorkerPorts.has(port)) {\n throw new Error(\"Cannot use more than one PDFWorker per port\");\n }\n this.name = name;\n this.destroyed = false;\n this.postMessageTransfers = true;\n this.verbosity = verbosity;\n this._readyCapability = (0, _util.createPromiseCapability)();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n if (port) {\n pdfWorkerPorts.set(port, this);\n this._initializeFromPort(port);\n return;\n }\n this._initialize();\n }\n get promise() {\n return this._readyCapability.promise;\n }\n get port() {\n return this._port;\n }\n get messageHandler() {\n return this._messageHandler;\n }\n _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", port);\n this._messageHandler.on(\"ready\", function () {});\n this._readyCapability.resolve();\n }\n _initialize() {\n if (typeof Worker !== \"undefined\" && !isWorkerDisabled && !getMainThreadWorkerMessageHandler()) {\n let workerSrc = getWorkerSrc();\n try {\n if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {\n workerSrc = createCDNWrapper(new URL(workerSrc, window.location).href);\n }\n const worker = new Worker(workerSrc);\n const messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", worker);\n const terminateEarly = () => {\n worker.removeEventListener(\"error\", onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n this._setupFakeWorker();\n }\n };\n const onWorkerError = () => {\n if (!this._webWorker) {\n terminateEarly();\n }\n };\n worker.addEventListener(\"error\", onWorkerError);\n messageHandler.on(\"test\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return;\n }\n if (data) {\n this._messageHandler = messageHandler;\n this._port = worker;\n this._webWorker = worker;\n if (!data.supportTransfers) {\n this.postMessageTransfers = false;\n }\n this._readyCapability.resolve();\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity\n });\n } else {\n this._setupFakeWorker();\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on(\"ready\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return;\n }\n try {\n sendTest();\n } catch (e) {\n this._setupFakeWorker();\n }\n });\n const sendTest = () => {\n const testObj = new Uint8Array([this.postMessageTransfers ? 255 : 0]);\n try {\n messageHandler.send(\"test\", testObj, [testObj.buffer]);\n } catch (ex) {\n (0, _util.warn)(\"Cannot use postMessage transfers.\");\n testObj[0] = 0;\n messageHandler.send(\"test\", testObj);\n }\n };\n sendTest();\n return;\n } catch (e) {\n (0, _util.info)(\"The worker has been disabled.\");\n }\n }\n this._setupFakeWorker();\n }\n _setupFakeWorker() {\n if (!isWorkerDisabled) {\n (0, _util.warn)(\"Setting up fake worker.\");\n isWorkerDisabled = true;\n }\n setupFakeWorkerGlobal().then(WorkerMessageHandler => {\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n return;\n }\n const port = new LoopbackPort();\n this._port = port;\n const id = \"fake\" + nextFakeWorkerId++;\n const workerHandler = new _message_handler.MessageHandler(id + \"_worker\", id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n const messageHandler = new _message_handler.MessageHandler(id, id + \"_worker\", port);\n this._messageHandler = messageHandler;\n this._readyCapability.resolve();\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity\n });\n }).catch(reason => {\n this._readyCapability.reject(new Error(\"Setting up fake worker failed: \\\"\".concat(reason.message, \"\\\".\")));\n });\n }\n destroy() {\n this.destroyed = true;\n if (this._webWorker) {\n this._webWorker.terminate();\n this._webWorker = null;\n }\n pdfWorkerPorts.delete(this._port);\n this._port = null;\n if (this._messageHandler) {\n this._messageHandler.destroy();\n this._messageHandler = null;\n }\n }\n static fromPort(params) {\n if (!params || !params.port) {\n throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n }\n if (pdfWorkerPorts.has(params.port)) {\n return pdfWorkerPorts.get(params.port);\n }\n return new PDFWorker(params);\n }\n static getWorkerSrc() {\n return getWorkerSrc();\n }\n }\n return PDFWorker;\n }();\n exports.PDFWorker = PDFWorker;\n class WorkerTransport {\n constructor(messageHandler, loadingTask, networkStream, params) {\n this.messageHandler = messageHandler;\n this.loadingTask = loadingTask;\n this.commonObjs = new PDFObjects();\n this.fontLoader = new _font_loader.FontLoader({\n docId: loadingTask.docId,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this),\n ownerDocument: params.ownerDocument\n });\n this._params = params;\n this.CMapReaderFactory = new params.CMapReaderFactory({\n baseUrl: params.cMapUrl,\n isCompressed: params.cMapPacked\n });\n this.destroyed = false;\n this.destroyCapability = null;\n this._passwordCapability = null;\n this._networkStream = networkStream;\n this._fullReader = null;\n this._lastProgress = null;\n this.pageCache = [];\n this.pagePromises = [];\n this.downloadInfoCapability = (0, _util.createPromiseCapability)();\n this.setupMessageHandler();\n }\n destroy() {\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n this.destroyed = true;\n this.destroyCapability = (0, _util.createPromiseCapability)();\n if (this._passwordCapability) {\n this._passwordCapability.reject(new Error(\"Worker was destroyed during onPassword callback\"));\n }\n const waitOn = [];\n this.pageCache.forEach(function (page) {\n if (page) {\n waitOn.push(page._destroy());\n }\n });\n this.pageCache.length = 0;\n this.pagePromises.length = 0;\n const terminated = this.messageHandler.sendWithPromise(\"Terminate\", null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(() => {\n this.fontLoader.clear();\n if (this._networkStream) {\n this._networkStream.cancelAllRequests(new _util.AbortException(\"Worker was terminated.\"));\n }\n if (this.messageHandler) {\n this.messageHandler.destroy();\n this.messageHandler = null;\n }\n this.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n setupMessageHandler() {\n const {\n messageHandler,\n loadingTask\n } = this;\n messageHandler.on(\"GetReader\", (data, sink) => {\n (0, _util.assert)(this._networkStream, \"GetReader - no `IPDFStream` instance available.\");\n this._fullReader = this._networkStream.getFullReader();\n this._fullReader.onProgress = evt => {\n this._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n sink.onPull = () => {\n this._fullReader.read().then(function (_ref10) {\n let {\n value,\n done\n } = _ref10;\n if (done) {\n sink.close();\n return;\n }\n (0, _util.assert)((0, _util.isArrayBuffer)(value), \"GetReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(reason => {\n sink.error(reason);\n });\n };\n sink.onCancel = reason => {\n this._fullReader.cancel(reason);\n sink.ready.catch(readyReason => {\n if (this.destroyed) {\n return;\n }\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"ReaderHeadersReady\", data => {\n const headersCapability = (0, _util.createPromiseCapability)();\n const fullReader = this._fullReader;\n fullReader.headersReady.then(() => {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (this._lastProgress && loadingTask.onProgress) {\n loadingTask.onProgress(this._lastProgress);\n }\n fullReader.onProgress = evt => {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n };\n }\n headersCapability.resolve({\n isStreamingSupported: fullReader.isStreamingSupported,\n isRangeSupported: fullReader.isRangeSupported,\n contentLength: fullReader.contentLength\n });\n }, headersCapability.reject);\n return headersCapability.promise;\n });\n messageHandler.on(\"GetRangeReader\", (data, sink) => {\n (0, _util.assert)(this._networkStream, \"GetRangeReader - no `IPDFStream` instance available.\");\n const rangeReader = this._networkStream.getRangeReader(data.begin, data.end);\n if (!rangeReader) {\n sink.close();\n return;\n }\n sink.onPull = () => {\n rangeReader.read().then(function (_ref11) {\n let {\n value,\n done\n } = _ref11;\n if (done) {\n sink.close();\n return;\n }\n (0, _util.assert)((0, _util.isArrayBuffer)(value), \"GetRangeReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(reason => {\n sink.error(reason);\n });\n };\n sink.onCancel = reason => {\n rangeReader.cancel(reason);\n sink.ready.catch(readyReason => {\n if (this.destroyed) {\n return;\n }\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"GetDoc\", _ref12 => {\n let {\n pdfInfo\n } = _ref12;\n this._numPages = pdfInfo.numPages;\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, this));\n });\n messageHandler.on(\"DocException\", function (ex) {\n let reason;\n switch (ex.name) {\n case \"PasswordException\":\n reason = new _util.PasswordException(ex.message, ex.code);\n break;\n case \"InvalidPDFException\":\n reason = new _util.InvalidPDFException(ex.message);\n break;\n case \"MissingPDFException\":\n reason = new _util.MissingPDFException(ex.message);\n break;\n case \"UnexpectedResponseException\":\n reason = new _util.UnexpectedResponseException(ex.message, ex.status);\n break;\n case \"UnknownErrorException\":\n reason = new _util.UnknownErrorException(ex.message, ex.details);\n break;\n }\n if (!(reason instanceof Error)) {\n const msg = \"DocException - expected a valid Error.\";\n (0, _util.warn)(msg);\n }\n loadingTask._capability.reject(reason);\n });\n messageHandler.on(\"PasswordRequest\", exception => {\n this._passwordCapability = (0, _util.createPromiseCapability)();\n if (loadingTask.onPassword) {\n const updatePassword = password => {\n this._passwordCapability.resolve({\n password\n });\n };\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n this._passwordCapability.reject(ex);\n }\n } else {\n this._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n return this._passwordCapability.promise;\n });\n messageHandler.on(\"DataLoaded\", data => {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.length,\n total: data.length\n });\n }\n this.downloadInfoCapability.resolve(data);\n });\n messageHandler.on(\"StartRenderPage\", data => {\n if (this.destroyed) {\n return;\n }\n const page = this.pageCache[data.pageIndex];\n page._startRenderPage(data.transparency, data.intent);\n });\n messageHandler.on(\"commonobj\", data => {\n if (this.destroyed) {\n return;\n }\n const [id, type, exportedData] = data;\n if (this.commonObjs.has(id)) {\n return;\n }\n switch (type) {\n case \"Font\":\n const params = this._params;\n if (\"error\" in exportedData) {\n const exportedError = exportedData.error;\n (0, _util.warn)(\"Error during font loading: \".concat(exportedError));\n this.commonObjs.resolve(id, exportedError);\n break;\n }\n let fontRegistry = null;\n if (params.pdfBug && globalThis.FontInspector && globalThis.FontInspector.enabled) {\n fontRegistry = {\n registerFont(font, url) {\n globalThis.FontInspector.fontAdded(font, url);\n }\n };\n }\n const font = new _font_loader.FontFaceObject(exportedData, {\n isEvalSupported: params.isEvalSupported,\n disableFontFace: params.disableFontFace,\n ignoreErrors: params.ignoreErrors,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this),\n fontRegistry\n });\n this.fontLoader.bind(font).catch(reason => {\n return messageHandler.sendWithPromise(\"FontFallback\", {\n id\n });\n }).finally(() => {\n if (!params.fontExtraProperties && font.data) {\n font.data = null;\n }\n this.commonObjs.resolve(id, font);\n });\n break;\n case \"FontPath\":\n case \"Image\":\n this.commonObjs.resolve(id, exportedData);\n break;\n default:\n throw new Error(\"Got unknown common object type \".concat(type));\n }\n });\n messageHandler.on(\"obj\", data => {\n if (this.destroyed) {\n return undefined;\n }\n const [id, pageIndex, type, imageData] = data;\n const pageProxy = this.pageCache[pageIndex];\n if (pageProxy.objs.has(id)) {\n return undefined;\n }\n switch (type) {\n case \"Image\":\n pageProxy.objs.resolve(id, imageData);\n const MAX_IMAGE_SIZE_TO_STORE = 8000000;\n if (imageData && \"data\" in imageData && imageData.data.length > MAX_IMAGE_SIZE_TO_STORE) {\n pageProxy.cleanupAfterRender = true;\n }\n break;\n default:\n throw new Error(\"Got unknown object type \".concat(type));\n }\n return undefined;\n });\n messageHandler.on(\"DocProgress\", data => {\n if (this.destroyed) {\n return;\n }\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.loaded,\n total: data.total\n });\n }\n });\n messageHandler.on(\"UnsupportedFeature\", this._onUnsupportedFeature.bind(this));\n messageHandler.on(\"FetchBuiltInCMap\", (data, sink) => {\n if (this.destroyed) {\n sink.error(new Error(\"Worker was destroyed\"));\n return;\n }\n let fetched = false;\n sink.onPull = () => {\n if (fetched) {\n sink.close();\n return;\n }\n fetched = true;\n this.CMapReaderFactory.fetch(data).then(function (builtInCMap) {\n sink.enqueue(builtInCMap, 1, [builtInCMap.cMapData.buffer]);\n }).catch(function (reason) {\n sink.error(reason);\n });\n };\n });\n }\n _onUnsupportedFeature(_ref13) {\n let {\n featureId\n } = _ref13;\n if (this.destroyed) {\n return;\n }\n if (this.loadingTask.onUnsupportedFeature) {\n this.loadingTask.onUnsupportedFeature(featureId);\n }\n }\n getData() {\n return this.messageHandler.sendWithPromise(\"GetData\", null);\n }\n getPage(pageNumber) {\n if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {\n return Promise.reject(new Error(\"Invalid page request\"));\n }\n const pageIndex = pageNumber - 1;\n if (pageIndex in this.pagePromises) {\n return this.pagePromises[pageIndex];\n }\n const promise = this.messageHandler.sendWithPromise(\"GetPage\", {\n pageIndex\n }).then(pageInfo => {\n if (this.destroyed) {\n throw new Error(\"Transport destroyed\");\n }\n const page = new PDFPageProxy(pageIndex, pageInfo, this, this._params.ownerDocument, this._params.pdfBug);\n this.pageCache[pageIndex] = page;\n return page;\n });\n this.pagePromises[pageIndex] = promise;\n return promise;\n }\n getPageIndex(ref) {\n return this.messageHandler.sendWithPromise(\"GetPageIndex\", {\n ref\n }).catch(function (reason) {\n return Promise.reject(new Error(reason));\n });\n }\n getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise(\"GetAnnotations\", {\n pageIndex,\n intent\n });\n }\n saveDocument(annotationStorage) {\n return this.messageHandler.sendWithPromise(\"SaveDocument\", {\n numPages: this._numPages,\n annotationStorage: annotationStorage && annotationStorage.getAll() || null,\n filename: this._fullReader ? this._fullReader.filename : null\n }).finally(() => {\n if (annotationStorage) {\n annotationStorage.resetModified();\n }\n });\n }\n getDestinations() {\n return this.messageHandler.sendWithPromise(\"GetDestinations\", null);\n }\n getDestination(id) {\n if (typeof id !== \"string\") {\n return Promise.reject(new Error(\"Invalid destination request.\"));\n }\n return this.messageHandler.sendWithPromise(\"GetDestination\", {\n id\n });\n }\n getPageLabels() {\n return this.messageHandler.sendWithPromise(\"GetPageLabels\", null);\n }\n getPageLayout() {\n return this.messageHandler.sendWithPromise(\"GetPageLayout\", null);\n }\n getPageMode() {\n return this.messageHandler.sendWithPromise(\"GetPageMode\", null);\n }\n getViewerPreferences() {\n return this.messageHandler.sendWithPromise(\"GetViewerPreferences\", null);\n }\n getOpenAction() {\n return this.messageHandler.sendWithPromise(\"GetOpenAction\", null);\n }\n getAttachments() {\n return this.messageHandler.sendWithPromise(\"GetAttachments\", null);\n }\n getJavaScript() {\n return this.messageHandler.sendWithPromise(\"GetJavaScript\", null);\n }\n getOutline() {\n return this.messageHandler.sendWithPromise(\"GetOutline\", null);\n }\n getOptionalContentConfig() {\n return this.messageHandler.sendWithPromise(\"GetOptionalContentConfig\", null).then(results => {\n return new _optional_content_config.OptionalContentConfig(results);\n });\n }\n getPermissions() {\n return this.messageHandler.sendWithPromise(\"GetPermissions\", null);\n }\n getMetadata() {\n return this.messageHandler.sendWithPromise(\"GetMetadata\", null).then(results => {\n return {\n info: results[0],\n metadata: results[1] ? new _metadata.Metadata(results[1]) : null,\n contentDispositionFilename: this._fullReader ? this._fullReader.filename : null\n };\n });\n }\n getStats() {\n return this.messageHandler.sendWithPromise(\"GetStats\", null);\n }\n startCleanup() {\n return this.messageHandler.sendWithPromise(\"Cleanup\", null).then(() => {\n for (let i = 0, ii = this.pageCache.length; i < ii; i++) {\n const page = this.pageCache[i];\n if (page) {\n const cleanupSuccessful = page.cleanup();\n if (!cleanupSuccessful) {\n throw new Error(\"startCleanup: Page \".concat(i + 1, \" is currently rendering.\"));\n }\n }\n }\n this.commonObjs.clear();\n this.fontLoader.clear();\n });\n }\n get loadingParams() {\n const params = this._params;\n return (0, _util.shadow)(this, \"loadingParams\", {\n disableAutoFetch: params.disableAutoFetch,\n disableFontFace: params.disableFontFace\n });\n }\n }\n class PDFObjects {\n constructor() {\n this._objs = Object.create(null);\n }\n _ensureObj(objId) {\n if (this._objs[objId]) {\n return this._objs[objId];\n }\n return this._objs[objId] = {\n capability: (0, _util.createPromiseCapability)(),\n data: null,\n resolved: false\n };\n }\n get(objId) {\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (callback) {\n this._ensureObj(objId).capability.promise.then(callback);\n return null;\n }\n const obj = this._objs[objId];\n if (!obj || !obj.resolved) {\n throw new Error(\"Requesting object that isn't resolved yet \".concat(objId, \".\"));\n }\n return obj.data;\n }\n has(objId) {\n const obj = this._objs[objId];\n return obj ? obj.resolved : false;\n }\n resolve(objId, data) {\n const obj = this._ensureObj(objId);\n obj.resolved = true;\n obj.data = data;\n obj.capability.resolve(data);\n }\n clear() {\n this._objs = Object.create(null);\n }\n }\n class RenderTask {\n constructor(internalRenderTask) {\n this._internalRenderTask = internalRenderTask;\n this.onContinue = null;\n }\n get promise() {\n return this._internalRenderTask.capability.promise;\n }\n cancel() {\n this._internalRenderTask.cancel();\n }\n }\n const InternalRenderTask = function InternalRenderTaskClosure() {\n const canvasInRendering = new WeakSet();\n class InternalRenderTask {\n constructor(_ref14) {\n let {\n callback,\n params,\n objs,\n commonObjs,\n operatorList,\n pageIndex,\n canvasFactory,\n webGLContext,\n useRequestAnimationFrame = false,\n pdfBug = false\n } = _ref14;\n this.callback = callback;\n this.params = params;\n this.objs = objs;\n this.commonObjs = commonObjs;\n this.operatorListIdx = null;\n this.operatorList = operatorList;\n this._pageIndex = pageIndex;\n this.canvasFactory = canvasFactory;\n this.webGLContext = webGLContext;\n this._pdfBug = pdfBug;\n this.running = false;\n this.graphicsReadyCallback = null;\n this.graphicsReady = false;\n this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== \"undefined\";\n this.cancelled = false;\n this.capability = (0, _util.createPromiseCapability)();\n this.task = new RenderTask(this);\n this._continueBound = this._continue.bind(this);\n this._scheduleNextBound = this._scheduleNext.bind(this);\n this._nextBound = this._next.bind(this);\n this._canvas = params.canvasContext.canvas;\n }\n get completed() {\n return this.capability.promise.catch(function () {});\n }\n initializeGraphics(_ref15) {\n let {\n transparency = false,\n optionalContentConfig\n } = _ref15;\n if (this.cancelled) {\n return;\n }\n if (this._canvas) {\n if (canvasInRendering.has(this._canvas)) {\n throw new Error(\"Cannot use the same canvas during multiple render() operations. \" + \"Use different canvas or ensure previous operations were \" + \"cancelled or completed.\");\n }\n canvasInRendering.add(this._canvas);\n }\n if (this._pdfBug && globalThis.StepperManager && globalThis.StepperManager.enabled) {\n this.stepper = globalThis.StepperManager.create(this._pageIndex);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n const {\n canvasContext,\n viewport,\n transform,\n imageLayer,\n background\n } = this.params;\n this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext, imageLayer, optionalContentConfig);\n this.gfx.beginDrawing({\n transform,\n viewport,\n transparency,\n background\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n if (this.graphicsReadyCallback) {\n this.graphicsReadyCallback();\n }\n }\n cancel() {\n let error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n this.running = false;\n this.cancelled = true;\n if (this.gfx) {\n this.gfx.endDrawing();\n }\n if (this._canvas) {\n canvasInRendering.delete(this._canvas);\n }\n this.callback(error || new _display_utils.RenderingCancelledException(\"Rendering cancelled, page \".concat(this._pageIndex + 1), \"canvas\"));\n }\n operatorListChanged() {\n if (!this.graphicsReady) {\n if (!this.graphicsReadyCallback) {\n this.graphicsReadyCallback = this._continueBound;\n }\n return;\n }\n if (this.stepper) {\n this.stepper.updateOperatorList(this.operatorList);\n }\n if (this.running) {\n return;\n }\n this._continue();\n }\n _continue() {\n this.running = true;\n if (this.cancelled) {\n return;\n }\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n }\n _scheduleNext() {\n if (this._useRequestAnimationFrame) {\n window.requestAnimationFrame(() => {\n this._nextBound().catch(this.cancel.bind(this));\n });\n } else {\n Promise.resolve().then(this._nextBound).catch(this.cancel.bind(this));\n }\n }\n async _next() {\n if (this.cancelled) {\n return;\n }\n this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);\n if (this.operatorListIdx === this.operatorList.argsArray.length) {\n this.running = false;\n if (this.operatorList.lastChunk) {\n this.gfx.endDrawing();\n if (this._canvas) {\n canvasInRendering.delete(this._canvas);\n }\n this.callback();\n }\n }\n }\n }\n return InternalRenderTask;\n }();\n const version = '2.6.347';\n exports.version = version;\n const build = '3be9c65f';\n exports.build = build;\n\n /***/\n }), ( /* 6 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.FontLoader = exports.FontFaceObject = void 0;\n var _util = __w_pdfjs_require__(2);\n class BaseFontLoader {\n constructor(_ref16) {\n let {\n docId,\n onUnsupportedFeature,\n ownerDocument = globalThis.document\n } = _ref16;\n if (this.constructor === BaseFontLoader) {\n (0, _util.unreachable)(\"Cannot initialize BaseFontLoader.\");\n }\n this.docId = docId;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this._document = ownerDocument;\n this.nativeFontFaces = [];\n this.styleElement = null;\n }\n addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.push(nativeFontFace);\n this._document.fonts.add(nativeFontFace);\n }\n insertRule(rule) {\n let styleElement = this.styleElement;\n if (!styleElement) {\n styleElement = this.styleElement = this._document.createElement(\"style\");\n styleElement.id = \"PDFJS_FONT_STYLE_TAG_\".concat(this.docId);\n this._document.documentElement.getElementsByTagName(\"head\")[0].appendChild(styleElement);\n }\n const styleSheet = styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n }\n clear() {\n this.nativeFontFaces.forEach(nativeFontFace => {\n this._document.fonts.delete(nativeFontFace);\n });\n this.nativeFontFaces.length = 0;\n if (this.styleElement) {\n this.styleElement.remove();\n this.styleElement = null;\n }\n }\n async bind(font) {\n if (font.attached || font.missingFile) {\n return;\n }\n font.attached = true;\n if (this.isFontLoadingAPISupported) {\n const nativeFontFace = font.createNativeFontFace();\n if (nativeFontFace) {\n this.addNativeFontFace(nativeFontFace);\n try {\n await nativeFontFace.loaded;\n } catch (ex) {\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.errorFontLoadNative\n });\n (0, _util.warn)(\"Failed to load font '\".concat(nativeFontFace.family, \"': '\").concat(ex, \"'.\"));\n font.disableFontFace = true;\n throw ex;\n }\n }\n return;\n }\n const rule = font.createFontFaceRule();\n if (rule) {\n this.insertRule(rule);\n if (this.isSyncFontLoadingSupported) {\n return;\n }\n await new Promise(resolve => {\n const request = this._queueLoadingCallback(resolve);\n this._prepareFontLoadEvent([rule], [font], request);\n });\n }\n }\n _queueLoadingCallback(callback) {\n (0, _util.unreachable)(\"Abstract method `_queueLoadingCallback`.\");\n }\n get isFontLoadingAPISupported() {\n const supported = typeof this._document !== \"undefined\" && !!this._document.fonts;\n return (0, _util.shadow)(this, \"isFontLoadingAPISupported\", supported);\n }\n get isSyncFontLoadingSupported() {\n (0, _util.unreachable)(\"Abstract method `isSyncFontLoadingSupported`.\");\n }\n get _loadTestFont() {\n (0, _util.unreachable)(\"Abstract method `_loadTestFont`.\");\n }\n _prepareFontLoadEvent(rules, fontsToLoad, request) {\n (0, _util.unreachable)(\"Abstract method `_prepareFontLoadEvent`.\");\n }\n }\n let FontLoader;\n exports.FontLoader = FontLoader;\n {\n exports.FontLoader = FontLoader = class GenericFontLoader extends BaseFontLoader {\n constructor(params) {\n super(params);\n this.loadingContext = {\n requests: [],\n nextRequestId: 0\n };\n this.loadTestFontId = 0;\n }\n get isSyncFontLoadingSupported() {\n let supported = false;\n if (typeof navigator === \"undefined\") {\n supported = true;\n } else {\n const m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n if (m && m[1] >= 14) {\n supported = true;\n }\n }\n return (0, _util.shadow)(this, \"isSyncFontLoadingSupported\", supported);\n }\n _queueLoadingCallback(callback) {\n function completeRequest() {\n (0, _util.assert)(!request.done, \"completeRequest() cannot be called twice.\");\n request.done = true;\n while (context.requests.length > 0 && context.requests[0].done) {\n const otherRequest = context.requests.shift();\n setTimeout(otherRequest.callback, 0);\n }\n }\n const context = this.loadingContext;\n const request = {\n id: \"pdfjs-font-loading-\".concat(context.nextRequestId++),\n done: false,\n complete: completeRequest,\n callback\n };\n context.requests.push(request);\n return request;\n }\n get _loadTestFont() {\n const getLoadTestFont = function () {\n return atob(\"T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA\" + \"FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA\" + \"ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA\" + \"AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1\" + \"AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD\" + \"6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM\" + \"AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D\" + \"IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA\" + \"AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA\" + \"AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB\" + \"AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY\" + \"AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA\" + \"AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA\" + \"AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC\" + \"AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3\" + \"Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj\" + \"FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==\");\n };\n return (0, _util.shadow)(this, \"_loadTestFont\", getLoadTestFont());\n }\n _prepareFontLoadEvent(rules, fonts, request) {\n function int32(data, offset) {\n return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;\n }\n function spliceString(s, offset, remove, insert) {\n const chunk1 = s.substring(0, offset);\n const chunk2 = s.substring(offset + remove);\n return chunk1 + insert + chunk2;\n }\n let i, ii;\n const canvas = this._document.createElement(\"canvas\");\n canvas.width = 1;\n canvas.height = 1;\n const ctx = canvas.getContext(\"2d\");\n let called = 0;\n function isFontReady(name, callback) {\n called++;\n if (called > 30) {\n (0, _util.warn)(\"Load test font never loaded.\");\n callback();\n return;\n }\n ctx.font = \"30px \" + name;\n ctx.fillText(\".\", 0, 20);\n const imageData = ctx.getImageData(0, 0, 1, 1);\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n setTimeout(isFontReady.bind(null, name, callback));\n }\n const loadTestFontId = \"lt\".concat(Date.now()).concat(this.loadTestFontId++);\n let data = this._loadTestFont;\n const COMMENT_OFFSET = 976;\n data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);\n const CFF_CHECKSUM_OFFSET = 16;\n const XXXX_VALUE = 0x58585858;\n let checksum = int32(data, CFF_CHECKSUM_OFFSET);\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n }\n if (i < loadTestFontId.length) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId + \"XXX\", i) | 0;\n }\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));\n const url = \"url(data:font/opentype;base64,\".concat(btoa(data), \");\");\n const rule = \"@font-face {font-family:\\\"\".concat(loadTestFontId, \"\\\";src:\").concat(url, \"}\");\n this.insertRule(rule);\n const names = [];\n for (i = 0, ii = fonts.length; i < ii; i++) {\n names.push(fonts[i].loadedName);\n }\n names.push(loadTestFontId);\n const div = this._document.createElement(\"div\");\n div.style.visibility = \"hidden\";\n div.style.width = div.style.height = \"10px\";\n div.style.position = \"absolute\";\n div.style.top = div.style.left = \"0px\";\n for (i = 0, ii = names.length; i < ii; ++i) {\n const span = this._document.createElement(\"span\");\n span.textContent = \"Hi\";\n span.style.fontFamily = names[i];\n div.appendChild(span);\n }\n this._document.body.appendChild(div);\n isFontReady(loadTestFontId, () => {\n this._document.body.removeChild(div);\n request.complete();\n });\n }\n };\n }\n class FontFaceObject {\n constructor(translatedData, _ref17) {\n let {\n isEvalSupported = true,\n disableFontFace = false,\n ignoreErrors = false,\n onUnsupportedFeature = null,\n fontRegistry = null\n } = _ref17;\n this.compiledGlyphs = Object.create(null);\n for (const i in translatedData) {\n this[i] = translatedData[i];\n }\n this.isEvalSupported = isEvalSupported !== false;\n this.disableFontFace = disableFontFace === true;\n this.ignoreErrors = ignoreErrors === true;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this.fontRegistry = fontRegistry;\n }\n createNativeFontFace() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n const nativeFontFace = new FontFace(this.loadedName, this.data, {});\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this);\n }\n return nativeFontFace;\n }\n createFontFaceRule() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n const data = (0, _util.bytesToString)(new Uint8Array(this.data));\n const url = \"url(data:\".concat(this.mimetype, \";base64,\").concat(btoa(data), \");\");\n const rule = \"@font-face {font-family:\\\"\".concat(this.loadedName, \"\\\";src:\").concat(url, \"}\");\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this, url);\n }\n return rule;\n }\n getPathGenerator(objs, character) {\n if (this.compiledGlyphs[character] !== undefined) {\n return this.compiledGlyphs[character];\n }\n let cmds, current;\n try {\n cmds = objs.get(this.loadedName + \"_path_\" + character);\n } catch (ex) {\n if (!this.ignoreErrors) {\n throw ex;\n }\n if (this._onUnsupportedFeature) {\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.errorFontGetPath\n });\n }\n (0, _util.warn)(\"getPathGenerator - ignoring character: \\\"\".concat(ex, \"\\\".\"));\n return this.compiledGlyphs[character] = function (c, size) {};\n }\n if (this.isEvalSupported && _util.IsEvalSupportedCached.value) {\n let args,\n js = \"\";\n for (let i = 0, ii = cmds.length; i < ii; i++) {\n current = cmds[i];\n if (current.args !== undefined) {\n args = current.args.join(\",\");\n } else {\n args = \"\";\n }\n js += \"c.\" + current.cmd + \"(\" + args + \");\\n\";\n }\n return this.compiledGlyphs[character] = new Function(\"c\", \"size\", js);\n }\n return this.compiledGlyphs[character] = function (c, size) {\n for (let i = 0, ii = cmds.length; i < ii; i++) {\n current = cmds[i];\n if (current.cmd === \"scale\") {\n current.args = [size, -size];\n }\n c[current.cmd].apply(c, current.args);\n }\n };\n }\n }\n exports.FontFaceObject = FontFaceObject;\n\n /***/\n }), ( /* 7 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.NodeCMapReaderFactory = exports.NodeCanvasFactory = void 0;\n var _display_utils = __w_pdfjs_require__(1);\n var _is_node = __w_pdfjs_require__(4);\n var _util = __w_pdfjs_require__(2);\n let NodeCanvasFactory = class {\n constructor() {\n (0, _util.unreachable)(\"Not implemented: NodeCanvasFactory\");\n }\n };\n exports.NodeCanvasFactory = NodeCanvasFactory;\n let NodeCMapReaderFactory = class {\n constructor() {\n (0, _util.unreachable)(\"Not implemented: NodeCMapReaderFactory\");\n }\n };\n exports.NodeCMapReaderFactory = NodeCMapReaderFactory;\n if (_is_node.isNodeJS) {\n exports.NodeCanvasFactory = NodeCanvasFactory = class extends _display_utils.BaseCanvasFactory {\n create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n const Canvas = require(\"canvas\");\n const canvas = Canvas.createCanvas(width, height);\n return {\n canvas,\n context: canvas.getContext(\"2d\")\n };\n }\n };\n exports.NodeCMapReaderFactory = NodeCMapReaderFactory = class extends _display_utils.BaseCMapReaderFactory {\n _fetchData(url, compressionType) {\n return new Promise((resolve, reject) => {\n const fs = require(\"fs\");\n fs.readFile(url, (error, data) => {\n if (error || !data) {\n reject(new Error(error));\n return;\n }\n resolve({\n cMapData: new Uint8Array(data),\n compressionType\n });\n });\n });\n }\n };\n }\n\n /***/\n }), ( /* 8 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.AnnotationStorage = void 0;\n class AnnotationStorage {\n constructor() {\n this._storage = new Map();\n this._modified = false;\n this.onSetModified = null;\n this.onResetModified = null;\n }\n getOrCreateValue(key, defaultValue) {\n if (this._storage.has(key)) {\n return this._storage.get(key);\n }\n this._storage.set(key, defaultValue);\n return defaultValue;\n }\n setValue(key, value) {\n if (this._storage.get(key) !== value) {\n this._setModified();\n }\n this._storage.set(key, value);\n }\n getAll() {\n if (this._storage.size === 0) {\n return null;\n }\n return Object.fromEntries(this._storage);\n }\n get size() {\n return this._storage.size;\n }\n _setModified() {\n if (!this._modified) {\n this._modified = true;\n if (typeof this.onSetModified === \"function\") {\n this.onSetModified();\n }\n }\n }\n resetModified() {\n if (this._modified) {\n this._modified = false;\n if (typeof this.onResetModified === \"function\") {\n this.onResetModified();\n }\n }\n }\n }\n exports.AnnotationStorage = AnnotationStorage;\n\n /***/\n }), ( /* 9 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.apiCompatibilityParams = void 0;\n var _is_node = __w_pdfjs_require__(4);\n const compatibilityParams = Object.create(null);\n {\n (function checkFontFace() {\n if (_is_node.isNodeJS) {\n compatibilityParams.disableFontFace = true;\n }\n })();\n }\n const apiCompatibilityParams = Object.freeze(compatibilityParams);\n exports.apiCompatibilityParams = apiCompatibilityParams;\n\n /***/\n }), ( /* 10 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.CanvasGraphics = void 0;\n var _util = __w_pdfjs_require__(2);\n var _pattern_helper = __w_pdfjs_require__(11);\n var MIN_FONT_SIZE = 16;\n var MAX_FONT_SIZE = 100;\n var MAX_GROUP_SIZE = 4096;\n var MIN_WIDTH_FACTOR = 0.65;\n var COMPILE_TYPE3_GLYPHS = true;\n var MAX_SIZE_TO_COMPILE = 1000;\n var FULL_CHUNK_HEIGHT = 16;\n function addContextCurrentTransform(ctx) {\n if (!ctx.mozCurrentTransform) {\n ctx._originalSave = ctx.save;\n ctx._originalRestore = ctx.restore;\n ctx._originalRotate = ctx.rotate;\n ctx._originalScale = ctx.scale;\n ctx._originalTranslate = ctx.translate;\n ctx._originalTransform = ctx.transform;\n ctx._originalSetTransform = ctx.setTransform;\n ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];\n ctx._transformStack = [];\n Object.defineProperty(ctx, \"mozCurrentTransform\", {\n get: function getCurrentTransform() {\n return this._transformMatrix;\n }\n });\n Object.defineProperty(ctx, \"mozCurrentTransformInverse\", {\n get: function getCurrentTransformInverse() {\n var m = this._transformMatrix;\n var a = m[0],\n b = m[1],\n c = m[2],\n d = m[3],\n e = m[4],\n f = m[5];\n var ad_bc = a * d - b * c;\n var bc_ad = b * c - a * d;\n return [d / ad_bc, b / bc_ad, c / bc_ad, a / ad_bc, (d * e - c * f) / bc_ad, (b * e - a * f) / ad_bc];\n }\n });\n ctx.save = function ctxSave() {\n var old = this._transformMatrix;\n this._transformStack.push(old);\n this._transformMatrix = old.slice(0, 6);\n this._originalSave();\n };\n ctx.restore = function ctxRestore() {\n var prev = this._transformStack.pop();\n if (prev) {\n this._transformMatrix = prev;\n this._originalRestore();\n }\n };\n ctx.translate = function ctxTranslate(x, y) {\n var m = this._transformMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n this._originalTranslate(x, y);\n };\n ctx.scale = function ctxScale(x, y) {\n var m = this._transformMatrix;\n m[0] = m[0] * x;\n m[1] = m[1] * x;\n m[2] = m[2] * y;\n m[3] = m[3] * y;\n this._originalScale(x, y);\n };\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * a + m[2] * b, m[1] * a + m[3] * b, m[0] * c + m[2] * d, m[1] * c + m[3] * d, m[0] * e + m[2] * f + m[4], m[1] * e + m[3] * f + m[5]];\n ctx._originalTransform(a, b, c, d, e, f);\n };\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n this._transformMatrix = [a, b, c, d, e, f];\n ctx._originalSetTransform(a, b, c, d, e, f);\n };\n ctx.rotate = function ctxRotate(angle) {\n var cosValue = Math.cos(angle);\n var sinValue = Math.sin(angle);\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * cosValue + m[2] * sinValue, m[1] * cosValue + m[3] * sinValue, m[0] * -sinValue + m[2] * cosValue, m[1] * -sinValue + m[3] * cosValue, m[4], m[5]];\n this._originalRotate(angle);\n };\n }\n }\n var CachedCanvases = function CachedCanvasesClosure() {\n function CachedCanvases(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n CachedCanvases.prototype = {\n getCanvas: function CachedCanvases_getCanvas(id, width, height, trackTransform) {\n var canvasEntry;\n if (this.cache[id] !== undefined) {\n canvasEntry = this.cache[id];\n this.canvasFactory.reset(canvasEntry, width, height);\n canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0);\n } else {\n canvasEntry = this.canvasFactory.create(width, height);\n this.cache[id] = canvasEntry;\n }\n if (trackTransform) {\n addContextCurrentTransform(canvasEntry.context);\n }\n return canvasEntry;\n },\n clear() {\n for (var id in this.cache) {\n var canvasEntry = this.cache[id];\n this.canvasFactory.destroy(canvasEntry);\n delete this.cache[id];\n }\n }\n };\n return CachedCanvases;\n }();\n function compileType3Glyph(imgData) {\n var POINT_TO_PROCESS_LIMIT = 1000;\n var width = imgData.width,\n height = imgData.height;\n var i,\n j,\n j0,\n width1 = width + 1;\n var points = new Uint8Array(width1 * (height + 1));\n var POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n var lineSize = width + 7 & ~7,\n data0 = imgData.data;\n var data = new Uint8Array(lineSize * height),\n pos = 0,\n ii;\n for (i = 0, ii = data0.length; i < ii; i++) {\n var mask = 128,\n elem = data0[i];\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n var count = 0;\n pos = 0;\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j] = data[pos] ? 2 : 1;\n ++count;\n }\n pos++;\n }\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n pos++;\n }\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n pos = lineSize * (height - 1);\n j0 = i * width1;\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j0 + j] = data[pos] ? 4 : 8;\n ++count;\n }\n pos++;\n }\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n var outlines = [];\n for (i = 0; count && i <= height; i++) {\n var p = i * width1;\n var end = p + width;\n while (p < end && !points[p]) {\n p++;\n }\n if (p === end) {\n continue;\n }\n var coords = [p % width1, i];\n var type = points[p],\n p0 = p,\n pp;\n do {\n var step = steps[type];\n do {\n p += step;\n } while (!points[p]);\n pp = points[p];\n if (pp !== 5 && pp !== 10) {\n type = pp;\n points[p] = 0;\n } else {\n type = pp & 0x33 * type >> 4;\n points[p] &= type >> 2 | type << 2;\n }\n coords.push(p % width1);\n coords.push(p / width1 | 0);\n if (!points[p]) {\n --count;\n }\n } while (p0 !== p);\n outlines.push(coords);\n --i;\n }\n var drawOutline = function (c) {\n c.save();\n c.scale(1 / width, -1 / height);\n c.translate(0, -height);\n c.beginPath();\n for (let k = 0, kk = outlines.length; k < kk; k++) {\n var o = outlines[k];\n c.moveTo(o[0], o[1]);\n for (let l = 2, ll = o.length; l < ll; l += 2) {\n c.lineTo(o[l], o[l + 1]);\n }\n }\n c.fill();\n c.beginPath();\n c.restore();\n };\n return drawOutline;\n }\n var CanvasExtraState = function CanvasExtraStateClosure() {\n function CanvasExtraState() {\n this.alphaIsShape = false;\n this.fontSize = 0;\n this.fontSizeScale = 1;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.textMatrixScale = 1;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textRise = 0;\n this.fillColor = \"#000000\";\n this.strokeColor = \"#000000\";\n this.patternFill = false;\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.activeSMask = null;\n this.resumeSMaskCtx = null;\n this.transferMaps = null;\n }\n CanvasExtraState.prototype = {\n clone: function CanvasExtraState_clone() {\n return Object.create(this);\n },\n setCurrentPoint: function CanvasExtraState_setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n };\n return CanvasExtraState;\n }();\n var CanvasGraphics = function CanvasGraphicsClosure() {\n var EXECUTION_TIME = 15;\n var EXECUTION_STEPS = 10;\n function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, webGLContext, imageLayer, optionalContentConfig) {\n this.ctx = canvasCtx;\n this.current = new CanvasExtraState();\n this.stateStack = [];\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.res = null;\n this.xobjs = null;\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.canvasFactory = canvasFactory;\n this.webGLContext = webGLContext;\n this.imageLayer = imageLayer;\n this.groupStack = [];\n this.processingType3 = null;\n this.baseTransform = null;\n this.baseTransformStack = [];\n this.groupLevel = 0;\n this.smaskStack = [];\n this.smaskCounter = 0;\n this.tempSMask = null;\n this.contentVisible = true;\n this.markedContentStack = [];\n this.optionalContentConfig = optionalContentConfig;\n this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n if (canvasCtx) {\n addContextCurrentTransform(canvasCtx);\n }\n this._cachedGetSinglePixelWidth = null;\n }\n function putBinaryImageData(ctx, imgData) {\n let transferMaps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n if (typeof ImageData !== \"undefined\" && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\n }\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0,\n destPos;\n var src = imgData.data;\n var dest = chunkImgData.data;\n var i, j, thisChunkHeight, elemsInThisChunk;\n let transferMapRed, transferMapGreen, transferMapBlue, transferMapGray;\n if (transferMaps) {\n switch (transferMaps.length) {\n case 1:\n transferMapRed = transferMaps[0];\n transferMapGreen = transferMaps[0];\n transferMapBlue = transferMaps[0];\n transferMapGray = transferMaps[0];\n break;\n case 4:\n transferMapRed = transferMaps[0];\n transferMapGreen = transferMaps[1];\n transferMapBlue = transferMaps[2];\n transferMapGray = transferMaps[3];\n break;\n }\n }\n if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {\n var srcLength = src.byteLength;\n var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n var dest32DataLength = dest32.length;\n var fullSrcDiff = width + 7 >> 3;\n var white = 0xffffffff;\n var black = _util.IsLittleEndianCached.value ? 0xff000000 : 0x000000ff;\n if (transferMapGray) {\n if (transferMapGray[0] === 0xff && transferMapGray[0xff] === 0) {\n [white, black] = [black, white];\n }\n }\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\n for (j = 0; j < thisChunkHeight; j++) {\n var srcDiff = srcLength - srcPos;\n let k = 0;\n var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n var kEndUnrolled = kEnd & ~7;\n var mask = 0;\n var srcByte = 0;\n for (; k < kEndUnrolled; k += 8) {\n srcByte = src[srcPos++];\n dest32[destPos++] = srcByte & 128 ? white : black;\n dest32[destPos++] = srcByte & 64 ? white : black;\n dest32[destPos++] = srcByte & 32 ? white : black;\n dest32[destPos++] = srcByte & 16 ? white : black;\n dest32[destPos++] = srcByte & 8 ? white : black;\n dest32[destPos++] = srcByte & 4 ? white : black;\n dest32[destPos++] = srcByte & 2 ? white : black;\n dest32[destPos++] = srcByte & 1 ? white : black;\n }\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {\n const hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue);\n j = 0;\n elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n for (i = 0; i < fullChunks; i++) {\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n srcPos += elemsInThisChunk;\n if (hasTransferMaps) {\n for (let k = 0; k < elemsInThisChunk; k += 4) {\n if (transferMapRed) {\n dest[k + 0] = transferMapRed[dest[k + 0]];\n }\n if (transferMapGreen) {\n dest[k + 1] = transferMapGreen[dest[k + 1]];\n }\n if (transferMapBlue) {\n dest[k + 2] = transferMapBlue[dest[k + 2]];\n }\n }\n }\n ctx.putImageData(chunkImgData, 0, j);\n j += FULL_CHUNK_HEIGHT;\n }\n if (i < totalChunks) {\n elemsInThisChunk = width * partialChunkHeight * 4;\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n if (hasTransferMaps) {\n for (let k = 0; k < elemsInThisChunk; k += 4) {\n if (transferMapRed) {\n dest[k + 0] = transferMapRed[dest[k + 0]];\n }\n if (transferMapGreen) {\n dest[k + 1] = transferMapGreen[dest[k + 1]];\n }\n if (transferMapBlue) {\n dest[k + 2] = transferMapBlue[dest[k + 2]];\n }\n }\n }\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {\n const hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue);\n thisChunkHeight = FULL_CHUNK_HEIGHT;\n elemsInThisChunk = width * thisChunkHeight;\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n destPos = 0;\n for (j = elemsInThisChunk; j--;) {\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = 255;\n }\n if (hasTransferMaps) {\n for (let k = 0; k < destPos; k += 4) {\n if (transferMapRed) {\n dest[k + 0] = transferMapRed[dest[k + 0]];\n }\n if (transferMapGreen) {\n dest[k + 1] = transferMapGreen[dest[k + 1]];\n }\n if (transferMapBlue) {\n dest[k + 2] = transferMapBlue[dest[k + 2]];\n }\n }\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error(\"bad image kind: \".concat(imgData.kind));\n }\n }\n function putBinaryImageMask(ctx, imgData) {\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0;\n var src = imgData.data;\n var dest = chunkImgData.data;\n for (var i = 0; i < totalChunks; i++) {\n var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n var destPos = 3;\n for (var j = 0; j < thisChunkHeight; j++) {\n var mask = 0;\n for (var k = 0; k < width; k++) {\n if (!mask) {\n var elem = src[srcPos++];\n mask = 128;\n }\n dest[destPos] = elem & mask ? 0 : 255;\n destPos += 4;\n mask >>= 1;\n }\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n }\n function copyCtxState(sourceCtx, destCtx) {\n var properties = [\"strokeStyle\", \"fillStyle\", \"fillRule\", \"globalAlpha\", \"lineWidth\", \"lineCap\", \"lineJoin\", \"miterLimit\", \"globalCompositeOperation\", \"font\"];\n for (var i = 0, ii = properties.length; i < ii; i++) {\n var property = properties[i];\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\n }\n function resetCtxToDefault(ctx) {\n ctx.strokeStyle = \"#000000\";\n ctx.fillStyle = \"#000000\";\n ctx.fillRule = \"nonzero\";\n ctx.globalAlpha = 1;\n ctx.lineWidth = 1;\n ctx.lineCap = \"butt\";\n ctx.lineJoin = \"miter\";\n ctx.miterLimit = 10;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.font = \"10px sans-serif\";\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n }\n function composeSMaskBackdrop(bytes, r0, g0, b0) {\n var length = bytes.length;\n for (var i = 3; i < length; i += 4) {\n var alpha = bytes[i];\n if (alpha === 0) {\n bytes[i - 3] = r0;\n bytes[i - 2] = g0;\n bytes[i - 1] = b0;\n } else if (alpha < 255) {\n var alpha_ = 255 - alpha;\n bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;\n bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;\n bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;\n }\n }\n }\n function composeSMaskAlpha(maskData, layerData, transferMap) {\n var length = maskData.length;\n var scale = 1 / 255;\n for (var i = 3; i < length; i += 4) {\n var alpha = transferMap ? transferMap[maskData[i]] : maskData[i];\n layerData[i] = layerData[i] * alpha * scale | 0;\n }\n }\n function composeSMaskLuminosity(maskData, layerData, transferMap) {\n var length = maskData.length;\n for (var i = 3; i < length; i += 4) {\n var y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;\n layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;\n }\n }\n function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap) {\n var hasBackdrop = !!backdrop;\n var r0 = hasBackdrop ? backdrop[0] : 0;\n var g0 = hasBackdrop ? backdrop[1] : 0;\n var b0 = hasBackdrop ? backdrop[2] : 0;\n var composeFn;\n if (subtype === \"Luminosity\") {\n composeFn = composeSMaskLuminosity;\n } else {\n composeFn = composeSMaskAlpha;\n }\n var PIXELS_TO_PROCESS = 1048576;\n var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n for (var row = 0; row < height; row += chunkSize) {\n var chunkHeight = Math.min(chunkSize, height - row);\n var maskData = maskCtx.getImageData(0, row, width, chunkHeight);\n var layerData = layerCtx.getImageData(0, row, width, chunkHeight);\n if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n composeFn(maskData.data, layerData.data, transferMap);\n maskCtx.putImageData(layerData, 0, row);\n }\n }\n function composeSMask(ctx, smask, layerCtx, webGLContext) {\n var mask = smask.canvas;\n var maskCtx = smask.context;\n ctx.setTransform(smask.scaleX, 0, 0, smask.scaleY, smask.offsetX, smask.offsetY);\n var backdrop = smask.backdrop || null;\n if (!smask.transferMap && webGLContext.isEnabled) {\n const composed = webGLContext.composeSMask({\n layer: layerCtx.canvas,\n mask,\n properties: {\n subtype: smask.subtype,\n backdrop\n }\n });\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(composed, smask.offsetX, smask.offsetY);\n return;\n }\n genericComposeSMask(maskCtx, layerCtx, mask.width, mask.height, smask.subtype, backdrop, smask.transferMap);\n ctx.drawImage(mask, 0, 0);\n }\n var LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n var LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n var NORMAL_CLIP = {};\n var EO_CLIP = {};\n CanvasGraphics.prototype = {\n beginDrawing(_ref18) {\n let {\n transform,\n viewport,\n transparency = false,\n background = null\n } = _ref18;\n var width = this.ctx.canvas.width;\n var height = this.ctx.canvas.height;\n this.ctx.save();\n this.ctx.fillStyle = background || \"rgb(255, 255, 255)\";\n this.ctx.fillRect(0, 0, width, height);\n this.ctx.restore();\n if (transparency) {\n var transparentCanvas = this.cachedCanvases.getCanvas(\"transparent\", width, height, true);\n this.compositeCtx = this.ctx;\n this.transparentCanvas = transparentCanvas.canvas;\n this.ctx = transparentCanvas.context;\n this.ctx.save();\n this.ctx.transform.apply(this.ctx, this.compositeCtx.mozCurrentTransform);\n }\n this.ctx.save();\n resetCtxToDefault(this.ctx);\n if (transform) {\n this.ctx.transform.apply(this.ctx, transform);\n }\n this.ctx.transform.apply(this.ctx, viewport.transform);\n this.baseTransform = this.ctx.mozCurrentTransform.slice();\n if (this.imageLayer) {\n this.imageLayer.beginLayout();\n }\n },\n executeOperatorList: function CanvasGraphics_executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var i = executionStartIdx || 0;\n var argsArrayLen = argsArray.length;\n if (argsArrayLen === i) {\n return i;\n }\n var chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === \"function\";\n var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n var steps = 0;\n var commonObjs = this.commonObjs;\n var objs = this.objs;\n var fnId;\n while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n fnId = fnArray[i];\n if (fnId !== _util.OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n for (const depObjId of argsArray[i]) {\n const objsPool = depObjId.startsWith(\"g_\") ? commonObjs : objs;\n if (!objsPool.has(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n }\n i++;\n if (i === argsArrayLen) {\n return i;\n }\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n steps = 0;\n }\n }\n },\n endDrawing: function CanvasGraphics_endDrawing() {\n if (this.current.activeSMask !== null) {\n this.endSMaskGroup();\n }\n this.ctx.restore();\n if (this.transparentCanvas) {\n this.ctx = this.compositeCtx;\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.drawImage(this.transparentCanvas, 0, 0);\n this.ctx.restore();\n this.transparentCanvas = null;\n }\n this.cachedCanvases.clear();\n this.webGLContext.clear();\n if (this.imageLayer) {\n this.imageLayer.endLayout();\n }\n },\n setLineWidth: function CanvasGraphics_setLineWidth(width) {\n this.current.lineWidth = width;\n this.ctx.lineWidth = width;\n },\n setLineCap: function CanvasGraphics_setLineCap(style) {\n this.ctx.lineCap = LINE_CAP_STYLES[style];\n },\n setLineJoin: function CanvasGraphics_setLineJoin(style) {\n this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n },\n setMiterLimit: function CanvasGraphics_setMiterLimit(limit) {\n this.ctx.miterLimit = limit;\n },\n setDash: function CanvasGraphics_setDash(dashArray, dashPhase) {\n var ctx = this.ctx;\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n },\n setRenderingIntent(intent) {},\n setFlatness(flatness) {},\n setGState: function CanvasGraphics_setGState(states) {\n for (var i = 0, ii = states.length; i < ii; i++) {\n var state = states[i];\n var key = state[0];\n var value = state[1];\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n case \"LC\":\n this.setLineCap(value);\n break;\n case \"LJ\":\n this.setLineJoin(value);\n break;\n case \"ML\":\n this.setMiterLimit(value);\n break;\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n case \"FL\":\n this.setFlatness(value);\n break;\n case \"Font\":\n this.setFont(value[0], value[1]);\n break;\n case \"CA\":\n this.current.strokeAlpha = state[1];\n break;\n case \"ca\":\n this.current.fillAlpha = state[1];\n this.ctx.globalAlpha = state[1];\n break;\n case \"BM\":\n this.ctx.globalCompositeOperation = value;\n break;\n case \"SMask\":\n if (this.current.activeSMask) {\n if (this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1].activeSMask === this.current.activeSMask) {\n this.suspendSMaskGroup();\n } else {\n this.endSMaskGroup();\n }\n }\n this.current.activeSMask = value ? this.tempSMask : null;\n if (this.current.activeSMask) {\n this.beginSMaskGroup();\n }\n this.tempSMask = null;\n break;\n case \"TR\":\n this.current.transferMaps = value;\n }\n }\n },\n beginSMaskGroup: function CanvasGraphics_beginSMaskGroup() {\n var activeSMask = this.current.activeSMask;\n var drawnWidth = activeSMask.canvas.width;\n var drawnHeight = activeSMask.canvas.height;\n var cacheId = \"smaskGroupAt\" + this.groupLevel;\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var currentCtx = this.ctx;\n var currentTransform = currentCtx.mozCurrentTransform;\n this.ctx.save();\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / activeSMask.scaleX, 1 / activeSMask.scaleY);\n groupCtx.translate(-activeSMask.offsetX, -activeSMask.offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n activeSMask.startTransformInverse = groupCtx.mozCurrentTransformInverse;\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n suspendSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n this.ctx.restore();\n this.ctx.save();\n copyCtxState(groupCtx, this.ctx);\n this.current.resumeSMaskCtx = groupCtx;\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n this.ctx.transform.apply(this.ctx, deltaTransform);\n groupCtx.save();\n groupCtx.setTransform(1, 0, 0, 1, 0, 0);\n groupCtx.clearRect(0, 0, groupCtx.canvas.width, groupCtx.canvas.height);\n groupCtx.restore();\n },\n resumeSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.current.resumeSMaskCtx;\n var currentCtx = this.ctx;\n this.ctx = groupCtx;\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n endSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n this.ctx.restore();\n copyCtxState(groupCtx, this.ctx);\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n this.ctx.transform.apply(this.ctx, deltaTransform);\n },\n save: function CanvasGraphics_save() {\n this.ctx.save();\n var old = this.current;\n this.stateStack.push(old);\n this.current = old.clone();\n this.current.resumeSMaskCtx = null;\n },\n restore: function CanvasGraphics_restore() {\n if (this.current.resumeSMaskCtx) {\n this.resumeSMaskGroup();\n }\n if (this.current.activeSMask !== null && (this.stateStack.length === 0 || this.stateStack[this.stateStack.length - 1].activeSMask !== this.current.activeSMask)) {\n this.endSMaskGroup();\n }\n if (this.stateStack.length !== 0) {\n this.current = this.stateStack.pop();\n this.ctx.restore();\n this.pendingClip = null;\n this._cachedGetSinglePixelWidth = null;\n }\n },\n transform: function CanvasGraphics_transform(a, b, c, d, e, f) {\n this.ctx.transform(a, b, c, d, e, f);\n this._cachedGetSinglePixelWidth = null;\n },\n constructPath: function CanvasGraphics_constructPath(ops, args) {\n var ctx = this.ctx;\n var current = this.current;\n var x = current.x,\n y = current.y;\n for (var i = 0, j = 0, ii = ops.length; i < ii; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n if (width === 0 && ctx.lineWidth < this.getSinglePixelWidth()) {\n width = this.getSinglePixelWidth();\n }\n if (height === 0 && ctx.lineWidth < this.getSinglePixelWidth()) {\n height = this.getSinglePixelWidth();\n }\n var xw = x + width;\n var yh = y + height;\n ctx.moveTo(x, y);\n ctx.lineTo(xw, y);\n ctx.lineTo(xw, yh);\n ctx.lineTo(x, yh);\n ctx.lineTo(x, y);\n ctx.closePath();\n break;\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n break;\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n break;\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);\n j += 6;\n break;\n case _util.OPS.curveTo2:\n ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n j += 4;\n break;\n case _util.OPS.closePath:\n ctx.closePath();\n break;\n }\n }\n current.setCurrentPoint(x, y);\n },\n closePath: function CanvasGraphics_closePath() {\n this.ctx.closePath();\n },\n stroke: function CanvasGraphics_stroke(consumePath) {\n consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n var ctx = this.ctx;\n var strokeColor = this.current.strokeColor;\n ctx.globalAlpha = this.current.strokeAlpha;\n if (this.contentVisible) {\n if (strokeColor && strokeColor.hasOwnProperty(\"type\") && strokeColor.type === \"Pattern\") {\n ctx.save();\n const transform = ctx.mozCurrentTransform;\n const scale = _util.Util.singularValueDecompose2dScale(transform)[0];\n ctx.strokeStyle = strokeColor.getPattern(ctx, this);\n ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth * scale);\n ctx.stroke();\n ctx.restore();\n } else {\n ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth);\n ctx.stroke();\n }\n }\n if (consumePath) {\n this.consumePath();\n }\n ctx.globalAlpha = this.current.fillAlpha;\n },\n closeStroke: function CanvasGraphics_closeStroke() {\n this.closePath();\n this.stroke();\n },\n fill: function CanvasGraphics_fill(consumePath) {\n consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var needRestore = false;\n if (isPatternFill) {\n ctx.save();\n if (this.baseTransform) {\n ctx.setTransform.apply(ctx, this.baseTransform);\n }\n ctx.fillStyle = fillColor.getPattern(ctx, this);\n needRestore = true;\n }\n if (this.contentVisible) {\n if (this.pendingEOFill) {\n ctx.fill(\"evenodd\");\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\n }\n if (needRestore) {\n ctx.restore();\n }\n if (consumePath) {\n this.consumePath();\n }\n },\n eoFill: function CanvasGraphics_eoFill() {\n this.pendingEOFill = true;\n this.fill();\n },\n fillStroke: function CanvasGraphics_fillStroke() {\n this.fill(false);\n this.stroke(false);\n this.consumePath();\n },\n eoFillStroke: function CanvasGraphics_eoFillStroke() {\n this.pendingEOFill = true;\n this.fillStroke();\n },\n closeFillStroke: function CanvasGraphics_closeFillStroke() {\n this.closePath();\n this.fillStroke();\n },\n closeEOFillStroke: function CanvasGraphics_closeEOFillStroke() {\n this.pendingEOFill = true;\n this.closePath();\n this.fillStroke();\n },\n endPath: function CanvasGraphics_endPath() {\n this.consumePath();\n },\n clip: function CanvasGraphics_clip() {\n this.pendingClip = NORMAL_CLIP;\n },\n eoClip: function CanvasGraphics_eoClip() {\n this.pendingClip = EO_CLIP;\n },\n beginText: function CanvasGraphics_beginText() {\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.textMatrixScale = 1;\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n endText: function CanvasGraphics_endText() {\n var paths = this.pendingTextPaths;\n var ctx = this.ctx;\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n ctx.save();\n ctx.beginPath();\n for (var i = 0; i < paths.length; i++) {\n var path = paths[i];\n ctx.setTransform.apply(ctx, path.transform);\n ctx.translate(path.x, path.y);\n path.addToPath(ctx, path.fontSize);\n }\n ctx.restore();\n ctx.clip();\n ctx.beginPath();\n delete this.pendingTextPaths;\n },\n setCharSpacing: function CanvasGraphics_setCharSpacing(spacing) {\n this.current.charSpacing = spacing;\n },\n setWordSpacing: function CanvasGraphics_setWordSpacing(spacing) {\n this.current.wordSpacing = spacing;\n },\n setHScale: function CanvasGraphics_setHScale(scale) {\n this.current.textHScale = scale / 100;\n },\n setLeading: function CanvasGraphics_setLeading(leading) {\n this.current.leading = -leading;\n },\n setFont: function CanvasGraphics_setFont(fontRefName, size) {\n var fontObj = this.commonObjs.get(fontRefName);\n var current = this.current;\n if (!fontObj) {\n throw new Error(\"Can't find font for \".concat(fontRefName));\n }\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n (0, _util.warn)(\"Invalid font matrix for font \" + fontRefName);\n }\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n this.current.font = fontObj;\n this.current.fontSize = size;\n if (fontObj.isType3Font) {\n return;\n }\n var name = fontObj.loadedName || \"sans-serif\";\n let bold = \"normal\";\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n var italic = fontObj.italic ? \"italic\" : \"normal\";\n var typeface = \"\\\"\".concat(name, \"\\\", \").concat(fontObj.fallbackName);\n let browserFontSize = size;\n if (size < MIN_FONT_SIZE) {\n browserFontSize = MIN_FONT_SIZE;\n } else if (size > MAX_FONT_SIZE) {\n browserFontSize = MAX_FONT_SIZE;\n }\n this.current.fontSizeScale = size / browserFontSize;\n this.ctx.font = \"\".concat(italic, \" \").concat(bold, \" \").concat(browserFontSize, \"px \").concat(typeface);\n },\n setTextRenderingMode: function CanvasGraphics_setTextRenderingMode(mode) {\n this.current.textRenderingMode = mode;\n },\n setTextRise: function CanvasGraphics_setTextRise(rise) {\n this.current.textRise = rise;\n },\n moveText: function CanvasGraphics_moveText(x, y) {\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n },\n setLeadingMoveText: function CanvasGraphics_setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n },\n setTextMatrix: function CanvasGraphics_setTextMatrix(a, b, c, d, e, f) {\n this.current.textMatrix = [a, b, c, d, e, f];\n this.current.textMatrixScale = Math.sqrt(a * a + b * b);\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n nextLine: function CanvasGraphics_nextLine() {\n this.moveText(0, this.current.leading);\n },\n paintChar(character, x, y, patternTransform) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var textRenderingMode = current.textRenderingMode;\n var fontSize = current.fontSize / current.fontSizeScale;\n var fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n var isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n const patternFill = current.patternFill && !font.missingFile;\n var addToPath;\n if (font.disableFontFace || isAddToPathSet || patternFill) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n if (font.disableFontFace || patternFill) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n if (patternTransform) {\n ctx.setTransform.apply(ctx, patternTransform);\n }\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fill();\n }\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.stroke();\n }\n ctx.restore();\n } else {\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fillText(character, x, y);\n }\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.strokeText(character, x, y);\n }\n }\n if (isAddToPathSet) {\n var paths = this.pendingTextPaths || (this.pendingTextPaths = []);\n paths.push({\n transform: ctx.mozCurrentTransform,\n x,\n y,\n fontSize,\n addToPath\n });\n }\n },\n get isFontSubpixelAAEnabled() {\n const {\n context: ctx\n } = this.cachedCanvases.getCanvas(\"isFontSubpixelAAEnabled\", 10, 10);\n ctx.scale(1.5, 1);\n ctx.fillText(\"I\", 0, 10);\n var data = ctx.getImageData(0, 0, 10, 10).data;\n var enabled = false;\n for (var i = 3; i < data.length; i += 4) {\n if (data[i] > 0 && data[i] < 255) {\n enabled = true;\n break;\n }\n }\n return (0, _util.shadow)(this, \"isFontSubpixelAAEnabled\", enabled);\n },\n showText: function CanvasGraphics_showText(glyphs) {\n var current = this.current;\n var font = current.font;\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n var fontSize = current.fontSize;\n if (fontSize === 0) {\n return undefined;\n }\n var ctx = this.ctx;\n var fontSizeScale = current.fontSizeScale;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var glyphsLength = glyphs.length;\n var vertical = font.vertical;\n var spacingDir = vertical ? 1 : -1;\n var defaultVMetrics = font.defaultVMetrics;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;\n ctx.save();\n let patternTransform;\n if (current.patternFill) {\n ctx.save();\n const pattern = current.fillColor.getPattern(ctx, this);\n patternTransform = ctx.mozCurrentTransform;\n ctx.restore();\n ctx.fillStyle = pattern;\n }\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n var lineWidth = current.lineWidth;\n var scale = current.textMatrixScale;\n if (scale === 0 || lineWidth === 0) {\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n this._cachedGetSinglePixelWidth = null;\n lineWidth = this.getSinglePixelWidth() * MIN_WIDTH_FACTOR;\n }\n } else {\n lineWidth /= scale;\n }\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n ctx.lineWidth = lineWidth;\n var x = 0,\n i;\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\n if ((0, _util.isNum)(glyph)) {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n var restoreNeeded = false;\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var character = glyph.fontChar;\n var accent = glyph.accent;\n var scaledX, scaledY, scaledAccentX, scaledAccentY;\n var width = glyph.width;\n if (vertical) {\n var vmetric, vx, vy;\n vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n if (font.remeasure && width > 0) {\n var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n var characterScaleX = width / measuredWidth;\n restoreNeeded = true;\n ctx.save();\n ctx.scale(characterScaleX, 1);\n scaledX /= characterScaleX;\n } else if (width !== measuredWidth) {\n scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;\n }\n }\n if (this.contentVisible && (glyph.isInFont || font.missingFile)) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform);\n if (accent) {\n scaledAccentX = scaledX + fontSize * accent.offset.x / fontSizeScale;\n scaledAccentY = scaledY - fontSize * accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);\n }\n }\n }\n var charWidth;\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n x += charWidth;\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n ctx.restore();\n },\n showType3Text: function CanvasGraphics_showType3Text(glyphs) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n var fontDirection = current.fontDirection;\n var spacingDir = font.vertical ? 1 : -1;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var textHScale = current.textHScale * fontDirection;\n var fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n var glyphsLength = glyphs.length;\n var isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;\n var i, glyph, width, spacingLength;\n if (isTextInvisible || fontSize === 0) {\n return;\n }\n this._cachedGetSinglePixelWidth = null;\n ctx.save();\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y);\n ctx.scale(textHScale, fontDirection);\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n if ((0, _util.isNum)(glyph)) {\n spacingLength = spacingDir * glyph * fontSize / 1000;\n this.ctx.translate(spacingLength, 0);\n current.x += spacingLength * textHScale;\n continue;\n }\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var operatorList = font.charProcOperatorList[glyph.operatorListId];\n if (!operatorList) {\n (0, _util.warn)(\"Type3 character \\\"\".concat(glyph.operatorListId, \"\\\" is not available.\"));\n continue;\n }\n if (this.contentVisible) {\n this.processingType3 = glyph;\n this.save();\n ctx.scale(fontSize, fontSize);\n ctx.transform.apply(ctx, fontMatrix);\n this.executeOperatorList(operatorList);\n this.restore();\n }\n var transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);\n width = transformed[0] * fontSize + spacing;\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\n ctx.restore();\n this.processingType3 = null;\n },\n setCharWidth: function CanvasGraphics_setCharWidth(xWidth, yWidth) {},\n setCharWidthAndBounds: function CanvasGraphics_setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {\n this.ctx.rect(llx, lly, urx - llx, ury - lly);\n this.clip();\n this.endPath();\n },\n getColorN_Pattern: function CanvasGraphics_getColorN_Pattern(IR) {\n var pattern;\n if (IR[0] === \"TilingPattern\") {\n var color = IR[1];\n var baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice();\n var canvasGraphicsFactory = {\n createCanvasGraphics: ctx => {\n return new CanvasGraphics(ctx, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext);\n }\n };\n pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);\n } else {\n pattern = (0, _pattern_helper.getShadingPatternFromIR)(IR);\n }\n return pattern;\n },\n setStrokeColorN: function CanvasGraphics_setStrokeColorN() {\n this.current.strokeColor = this.getColorN_Pattern(arguments);\n },\n setFillColorN: function CanvasGraphics_setFillColorN() {\n this.current.fillColor = this.getColorN_Pattern(arguments);\n this.current.patternFill = true;\n },\n setStrokeRGBColor: function CanvasGraphics_setStrokeRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n this.ctx.strokeStyle = color;\n this.current.strokeColor = color;\n },\n setFillRGBColor: function CanvasGraphics_setFillRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n this.ctx.fillStyle = color;\n this.current.fillColor = color;\n this.current.patternFill = false;\n },\n shadingFill: function CanvasGraphics_shadingFill(patternIR) {\n if (!this.contentVisible) {\n return;\n }\n var ctx = this.ctx;\n this.save();\n var pattern = (0, _pattern_helper.getShadingPatternFromIR)(patternIR);\n ctx.fillStyle = pattern.getPattern(ctx, this, true);\n var inv = ctx.mozCurrentTransformInverse;\n if (inv) {\n var canvas = ctx.canvas;\n var width = canvas.width;\n var height = canvas.height;\n var bl = _util.Util.applyTransform([0, 0], inv);\n var br = _util.Util.applyTransform([0, height], inv);\n var ul = _util.Util.applyTransform([width, 0], inv);\n var ur = _util.Util.applyTransform([width, height], inv);\n var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n } else {\n this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n }\n this.restore();\n },\n beginInlineImage: function CanvasGraphics_beginInlineImage() {\n (0, _util.unreachable)(\"Should not call beginInlineImage\");\n },\n beginImageData: function CanvasGraphics_beginImageData() {\n (0, _util.unreachable)(\"Should not call beginImageData\");\n },\n paintFormXObjectBegin: function CanvasGraphics_paintFormXObjectBegin(matrix, bbox) {\n if (!this.contentVisible) {\n return;\n }\n this.save();\n this.baseTransformStack.push(this.baseTransform);\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform.apply(this, matrix);\n }\n this.baseTransform = this.ctx.mozCurrentTransform;\n if (bbox) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n this.ctx.rect(bbox[0], bbox[1], width, height);\n this.clip();\n this.endPath();\n }\n },\n paintFormXObjectEnd: function CanvasGraphics_paintFormXObjectEnd() {\n if (!this.contentVisible) {\n return;\n }\n this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n },\n beginGroup: function CanvasGraphics_beginGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n this.save();\n var currentCtx = this.ctx;\n if (!group.isolated) {\n (0, _util.info)(\"TODO: Support non-isolated groups.\");\n }\n if (group.knockout) {\n (0, _util.warn)(\"Knockout groups not supported.\");\n }\n var currentTransform = currentCtx.mozCurrentTransform;\n if (group.matrix) {\n currentCtx.transform.apply(currentCtx, group.matrix);\n }\n if (!group.bbox) {\n throw new Error(\"Bounding box is required.\");\n }\n var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);\n var canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];\n bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n var drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n var scaleX = 1,\n scaleY = 1;\n if (drawnWidth > MAX_GROUP_SIZE) {\n scaleX = drawnWidth / MAX_GROUP_SIZE;\n drawnWidth = MAX_GROUP_SIZE;\n }\n if (drawnHeight > MAX_GROUP_SIZE) {\n scaleY = drawnHeight / MAX_GROUP_SIZE;\n drawnHeight = MAX_GROUP_SIZE;\n }\n var cacheId = \"groupAt\" + this.groupLevel;\n if (group.smask) {\n cacheId += \"_smask_\" + this.smaskCounter++ % 2;\n }\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / scaleX, 1 / scaleY);\n groupCtx.translate(-offsetX, -offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n if (group.smask) {\n this.smaskStack.push({\n canvas: scratchCanvas.canvas,\n context: groupCtx,\n offsetX,\n offsetY,\n scaleX,\n scaleY,\n subtype: group.smask.subtype,\n backdrop: group.smask.backdrop,\n transferMap: group.smask.transferMap || null,\n startTransformInverse: null\n });\n } else {\n currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n currentCtx.translate(offsetX, offsetY);\n currentCtx.scale(scaleX, scaleY);\n }\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n this.current.activeSMask = null;\n },\n endGroup: function CanvasGraphics_endGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n this.groupLevel--;\n var groupCtx = this.ctx;\n this.ctx = this.groupStack.pop();\n if (this.ctx.imageSmoothingEnabled !== undefined) {\n this.ctx.imageSmoothingEnabled = false;\n } else {\n this.ctx.mozImageSmoothingEnabled = false;\n }\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n } else {\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n }\n this.restore();\n },\n beginAnnotations: function CanvasGraphics_beginAnnotations() {\n this.save();\n if (this.baseTransform) {\n this.ctx.setTransform.apply(this.ctx, this.baseTransform);\n }\n },\n endAnnotations: function CanvasGraphics_endAnnotations() {\n this.restore();\n },\n beginAnnotation: function CanvasGraphics_beginAnnotation(rect, transform, matrix) {\n this.save();\n resetCtxToDefault(this.ctx);\n this.current = new CanvasExtraState();\n if (Array.isArray(rect) && rect.length === 4) {\n var width = rect[2] - rect[0];\n var height = rect[3] - rect[1];\n this.ctx.rect(rect[0], rect[1], width, height);\n this.clip();\n this.endPath();\n }\n this.transform.apply(this, transform);\n this.transform.apply(this, matrix);\n },\n endAnnotation: function CanvasGraphics_endAnnotation() {\n this.restore();\n },\n paintImageMaskXObject: function CanvasGraphics_paintImageMaskXObject(img) {\n if (!this.contentVisible) {\n return;\n }\n var ctx = this.ctx;\n var width = img.width,\n height = img.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var glyph = this.processingType3;\n if (COMPILE_TYPE3_GLYPHS && glyph && glyph.compiled === undefined) {\n if (width <= MAX_SIZE_TO_COMPILE && height <= MAX_SIZE_TO_COMPILE) {\n glyph.compiled = compileType3Glyph({\n data: img.data,\n width,\n height\n });\n } else {\n glyph.compiled = null;\n }\n }\n if (glyph && glyph.compiled) {\n glyph.compiled(ctx);\n return;\n }\n var maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, img);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n this.paintInlineImageXObject(maskCanvas.canvas);\n },\n paintImageMaskXObjectRepeat(imgData, scaleX) {\n let skewX = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n let skewY = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n let scaleY = arguments.length > 4 ? arguments[4] : undefined;\n let positions = arguments.length > 5 ? arguments[5] : undefined;\n if (!this.contentVisible) {\n return;\n }\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, imgData);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n var ctx = this.ctx;\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n ctx.save();\n ctx.transform(scaleX, skewX, skewY, scaleY, positions[i], positions[i + 1]);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageMaskXObjectGroup: function CanvasGraphics_paintImageMaskXObjectGroup(images) {\n if (!this.contentVisible) {\n return;\n }\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n for (var i = 0, ii = images.length; i < ii; i++) {\n var image = images[i];\n var width = image.width,\n height = image.height;\n var maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, image);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n ctx.save();\n ctx.transform.apply(ctx, image.transform);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageXObject: function CanvasGraphics_paintImageXObject(objId) {\n if (!this.contentVisible) {\n return;\n }\n const imgData = objId.startsWith(\"g_\") ? this.commonObjs.get(objId) : this.objs.get(objId);\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n this.paintInlineImageXObject(imgData);\n },\n paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n if (!this.contentVisible) {\n return;\n }\n const imgData = objId.startsWith(\"g_\") ? this.commonObjs.get(objId) : this.objs.get(objId);\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n var width = imgData.width;\n var height = imgData.height;\n var map = [];\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n map.push({\n transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n x: 0,\n y: 0,\n w: width,\n h: height\n });\n }\n this.paintInlineImageXObjectGroup(imgData, map);\n },\n paintInlineImageXObject: function CanvasGraphics_paintInlineImageXObject(imgData) {\n if (!this.contentVisible) {\n return;\n }\n var width = imgData.width;\n var height = imgData.height;\n var ctx = this.ctx;\n this.save();\n ctx.scale(1 / width, -1 / height);\n var currentTransform = ctx.mozCurrentTransformInverse;\n var a = currentTransform[0],\n b = currentTransform[1];\n var widthScale = Math.max(Math.sqrt(a * a + b * b), 1);\n var c = currentTransform[2],\n d = currentTransform[3];\n var heightScale = Math.max(Math.sqrt(c * c + d * d), 1);\n var imgToPaint, tmpCanvas;\n if (typeof HTMLElement === \"function\" && imgData instanceof HTMLElement || !imgData.data) {\n imgToPaint = imgData;\n } else {\n tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", width, height);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData, this.current.transferMaps);\n imgToPaint = tmpCanvas.canvas;\n }\n var paintWidth = width,\n paintHeight = height;\n var tmpCanvasId = \"prescale1\";\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n var newWidth = paintWidth,\n newHeight = paintHeight;\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = Math.ceil(paintHeight / 2);\n heightScale /= paintHeight / newHeight;\n }\n tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);\n tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, newWidth, newHeight);\n tmpCtx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);\n imgToPaint = tmpCanvas.canvas;\n paintWidth = newWidth;\n paintHeight = newHeight;\n tmpCanvasId = tmpCanvasId === \"prescale1\" ? \"prescale2\" : \"prescale1\";\n }\n ctx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, -height, width, height);\n if (this.imageLayer) {\n var position = this.getCanvasPosition(0, -height);\n this.imageLayer.appendImage({\n imgData,\n left: position[0],\n top: position[1],\n width: width / currentTransform[0],\n height: height / currentTransform[3]\n });\n }\n this.restore();\n },\n paintInlineImageXObjectGroup: function CanvasGraphics_paintInlineImageXObjectGroup(imgData, map) {\n if (!this.contentVisible) {\n return;\n }\n var ctx = this.ctx;\n var w = imgData.width;\n var h = imgData.height;\n var tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", w, h);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData, this.current.transferMaps);\n for (var i = 0, ii = map.length; i < ii; i++) {\n var entry = map[i];\n ctx.save();\n ctx.transform.apply(ctx, entry.transform);\n ctx.scale(1, -1);\n ctx.drawImage(tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);\n if (this.imageLayer) {\n var position = this.getCanvasPosition(entry.x, entry.y);\n this.imageLayer.appendImage({\n imgData,\n left: position[0],\n top: position[1],\n width: w,\n height: h\n });\n }\n ctx.restore();\n }\n },\n paintSolidColorImageMask: function CanvasGraphics_paintSolidColorImageMask() {\n if (!this.contentVisible) {\n return;\n }\n this.ctx.fillRect(0, 0, 1, 1);\n },\n markPoint: function CanvasGraphics_markPoint(tag) {},\n markPointProps: function CanvasGraphics_markPointProps(tag, properties) {},\n beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {\n this.markedContentStack.push({\n visible: true\n });\n },\n beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(tag, properties) {\n if (tag === \"OC\") {\n this.markedContentStack.push({\n visible: this.optionalContentConfig.isVisible(properties)\n });\n } else {\n this.markedContentStack.push({\n visible: true\n });\n }\n this.contentVisible = this.isContentVisible();\n },\n endMarkedContent: function CanvasGraphics_endMarkedContent() {\n this.markedContentStack.pop();\n this.contentVisible = this.isContentVisible();\n },\n beginCompat: function CanvasGraphics_beginCompat() {},\n endCompat: function CanvasGraphics_endCompat() {},\n consumePath: function CanvasGraphics_consumePath() {\n var ctx = this.ctx;\n if (this.pendingClip) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip(\"evenodd\");\n } else {\n ctx.clip();\n }\n this.pendingClip = null;\n }\n ctx.beginPath();\n },\n getSinglePixelWidth(scale) {\n if (this._cachedGetSinglePixelWidth === null) {\n const inverse = this.ctx.mozCurrentTransformInverse;\n this._cachedGetSinglePixelWidth = Math.sqrt(Math.max(inverse[0] * inverse[0] + inverse[1] * inverse[1], inverse[2] * inverse[2] + inverse[3] * inverse[3]));\n }\n return this._cachedGetSinglePixelWidth;\n },\n getCanvasPosition: function CanvasGraphics_getCanvasPosition(x, y) {\n var transform = this.ctx.mozCurrentTransform;\n return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]];\n },\n isContentVisible: function CanvasGraphics_isContentVisible() {\n for (let i = this.markedContentStack.length - 1; i >= 0; i--) {\n if (!this.markedContentStack[i].visible) {\n return false;\n }\n }\n return true;\n }\n };\n for (var op in _util.OPS) {\n CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n }\n return CanvasGraphics;\n }();\n exports.CanvasGraphics = CanvasGraphics;\n\n /***/\n }), ( /* 11 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getShadingPatternFromIR = getShadingPatternFromIR;\n exports.TilingPattern = void 0;\n var _util = __w_pdfjs_require__(2);\n var ShadingIRs = {};\n function applyBoundingBox(ctx, bbox) {\n if (!bbox || typeof Path2D === \"undefined\") {\n return;\n }\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n const region = new Path2D();\n region.rect(bbox[0], bbox[1], width, height);\n ctx.clip(region);\n }\n ShadingIRs.RadialAxial = {\n fromIR: function RadialAxial_fromIR(raw) {\n var type = raw[1];\n var bbox = raw[2];\n var colorStops = raw[3];\n var p0 = raw[4];\n var p1 = raw[5];\n var r0 = raw[6];\n var r1 = raw[7];\n return {\n type: \"Pattern\",\n getPattern: function RadialAxial_getPattern(ctx) {\n applyBoundingBox(ctx, bbox);\n var grad;\n if (type === \"axial\") {\n grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]);\n } else if (type === \"radial\") {\n grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1);\n }\n for (var i = 0, ii = colorStops.length; i < ii; ++i) {\n var c = colorStops[i];\n grad.addColorStop(c[0], c[1]);\n }\n return grad;\n }\n };\n }\n };\n var createMeshCanvas = function createMeshCanvasClosure() {\n function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n var coords = context.coords,\n colors = context.colors;\n var bytes = data.data,\n rowSize = data.width * 4;\n var tmp;\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n if (coords[p2 + 1] > coords[p3 + 1]) {\n tmp = p2;\n p2 = p3;\n p3 = tmp;\n tmp = c2;\n c2 = c3;\n c3 = tmp;\n }\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n var x1 = (coords[p1] + context.offsetX) * context.scaleX;\n var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n var x2 = (coords[p2] + context.offsetX) * context.scaleX;\n var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n var x3 = (coords[p3] + context.offsetX) * context.scaleX;\n var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n if (y1 >= y3) {\n return;\n }\n var c1r = colors[c1],\n c1g = colors[c1 + 1],\n c1b = colors[c1 + 2];\n var c2r = colors[c2],\n c2g = colors[c2 + 1],\n c2b = colors[c2 + 2];\n var c3r = colors[c3],\n c3g = colors[c3 + 1],\n c3b = colors[c3 + 2];\n var minY = Math.round(y1),\n maxY = Math.round(y3);\n var xa, car, cag, cab;\n var xb, cbr, cbg, cbb;\n for (var y = minY; y <= maxY; y++) {\n if (y < y2) {\n let k;\n if (y < y1) {\n k = 0;\n } else if (y1 === y2) {\n k = 1;\n } else {\n k = (y1 - y) / (y1 - y2);\n }\n xa = x1 - (x1 - x2) * k;\n car = c1r - (c1r - c2r) * k;\n cag = c1g - (c1g - c2g) * k;\n cab = c1b - (c1b - c2b) * k;\n } else {\n let k;\n if (y > y3) {\n k = 1;\n } else if (y2 === y3) {\n k = 0;\n } else {\n k = (y2 - y) / (y2 - y3);\n }\n xa = x2 - (x2 - x3) * k;\n car = c2r - (c2r - c3r) * k;\n cag = c2g - (c2g - c3g) * k;\n cab = c2b - (c2b - c3b) * k;\n }\n let k;\n if (y < y1) {\n k = 0;\n } else if (y > y3) {\n k = 1;\n } else {\n k = (y1 - y) / (y1 - y3);\n }\n xb = x1 - (x1 - x3) * k;\n cbr = c1r - (c1r - c3r) * k;\n cbg = c1g - (c1g - c3g) * k;\n cbb = c1b - (c1b - c3b) * k;\n var x1_ = Math.round(Math.min(xa, xb));\n var x2_ = Math.round(Math.max(xa, xb));\n var j = rowSize * y + x1_ * 4;\n for (var x = x1_; x <= x2_; x++) {\n k = (xa - x) / (xa - xb);\n if (k < 0) {\n k = 0;\n } else if (k > 1) {\n k = 1;\n }\n bytes[j++] = car - (car - cbr) * k | 0;\n bytes[j++] = cag - (cag - cbg) * k | 0;\n bytes[j++] = cab - (cab - cbb) * k | 0;\n bytes[j++] = 255;\n }\n }\n }\n function drawFigure(data, figure, context) {\n var ps = figure.coords;\n var cs = figure.colors;\n var i, ii;\n switch (figure.type) {\n case \"lattice\":\n var verticesPerRow = figure.verticesPerRow;\n var rows = Math.floor(ps.length / verticesPerRow) - 1;\n var cols = verticesPerRow - 1;\n for (i = 0; i < rows; i++) {\n var q = i * verticesPerRow;\n for (var j = 0; j < cols; j++, q++) {\n drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);\n drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);\n }\n }\n break;\n case \"triangles\":\n for (i = 0, ii = ps.length; i < ii; i += 3) {\n drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);\n }\n break;\n default:\n throw new Error(\"illegal figure\");\n }\n }\n function createMeshCanvas(bounds, combinesScale, coords, colors, figures, backgroundColor, cachedCanvases, webGLContext) {\n var EXPECTED_SCALE = 1.1;\n var MAX_PATTERN_SIZE = 3000;\n var BORDER_SIZE = 2;\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var boundsWidth = Math.ceil(bounds[2]) - offsetX;\n var boundsHeight = Math.ceil(bounds[3]) - offsetY;\n var width = Math.min(Math.ceil(Math.abs(boundsWidth * combinesScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var height = Math.min(Math.ceil(Math.abs(boundsHeight * combinesScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var scaleX = boundsWidth / width;\n var scaleY = boundsHeight / height;\n var context = {\n coords,\n colors,\n offsetX: -offsetX,\n offsetY: -offsetY,\n scaleX: 1 / scaleX,\n scaleY: 1 / scaleY\n };\n var paddedWidth = width + BORDER_SIZE * 2;\n var paddedHeight = height + BORDER_SIZE * 2;\n var canvas, tmpCanvas, i, ii;\n if (webGLContext.isEnabled) {\n canvas = webGLContext.drawFigures({\n width,\n height,\n backgroundColor,\n figures,\n context\n });\n tmpCanvas = cachedCanvases.getCanvas(\"mesh\", paddedWidth, paddedHeight, false);\n tmpCanvas.context.drawImage(canvas, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n } else {\n tmpCanvas = cachedCanvases.getCanvas(\"mesh\", paddedWidth, paddedHeight, false);\n var tmpCtx = tmpCanvas.context;\n var data = tmpCtx.createImageData(width, height);\n if (backgroundColor) {\n var bytes = data.data;\n for (i = 0, ii = bytes.length; i < ii; i += 4) {\n bytes[i] = backgroundColor[0];\n bytes[i + 1] = backgroundColor[1];\n bytes[i + 2] = backgroundColor[2];\n bytes[i + 3] = 255;\n }\n }\n for (i = 0; i < figures.length; i++) {\n drawFigure(data, figures[i], context);\n }\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n }\n return {\n canvas,\n offsetX: offsetX - BORDER_SIZE * scaleX,\n offsetY: offsetY - BORDER_SIZE * scaleY,\n scaleX,\n scaleY\n };\n }\n return createMeshCanvas;\n }();\n ShadingIRs.Mesh = {\n fromIR: function Mesh_fromIR(raw) {\n var coords = raw[2];\n var colors = raw[3];\n var figures = raw[4];\n var bounds = raw[5];\n var matrix = raw[6];\n var bbox = raw[7];\n var background = raw[8];\n return {\n type: \"Pattern\",\n getPattern: function Mesh_getPattern(ctx, owner, shadingFill) {\n applyBoundingBox(ctx, bbox);\n var scale;\n if (shadingFill) {\n scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);\n } else {\n scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n if (matrix) {\n var matrixScale = _util.Util.singularValueDecompose2dScale(matrix);\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases, owner.webGLContext);\n if (!shadingFill) {\n ctx.setTransform.apply(ctx, owner.baseTransform);\n if (matrix) {\n ctx.transform.apply(ctx, matrix);\n }\n }\n ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n return ctx.createPattern(temporaryPatternCanvas.canvas, \"no-repeat\");\n }\n };\n }\n };\n ShadingIRs.Dummy = {\n fromIR: function Dummy_fromIR() {\n return {\n type: \"Pattern\",\n getPattern: function Dummy_fromIR_getPattern() {\n return \"hotpink\";\n }\n };\n }\n };\n function getShadingPatternFromIR(raw) {\n var shadingIR = ShadingIRs[raw[0]];\n if (!shadingIR) {\n throw new Error(\"Unknown IR type: \".concat(raw[0]));\n }\n return shadingIR.fromIR(raw);\n }\n var TilingPattern = function TilingPatternClosure() {\n var PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n };\n var MAX_PATTERN_SIZE = 3000;\n function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n this.operatorList = IR[2];\n this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n this.bbox = IR[4];\n this.xstep = IR[5];\n this.ystep = IR[6];\n this.paintType = IR[7];\n this.tilingType = IR[8];\n this.color = color;\n this.canvasGraphicsFactory = canvasGraphicsFactory;\n this.baseTransform = baseTransform;\n this.type = \"Pattern\";\n this.ctx = ctx;\n }\n TilingPattern.prototype = {\n createPatternCanvas: function TilinPattern_createPatternCanvas(owner) {\n var operatorList = this.operatorList;\n var bbox = this.bbox;\n var xstep = this.xstep;\n var ystep = this.ystep;\n var paintType = this.paintType;\n var tilingType = this.tilingType;\n var color = this.color;\n var canvasGraphicsFactory = this.canvasGraphicsFactory;\n (0, _util.info)(\"TilingType: \" + tilingType);\n var x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n var dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);\n var dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);\n var tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", dimx.size, dimy.size, true);\n var tmpCtx = tmpCanvas.context;\n var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);\n graphics.transform(1, 0, 0, 1, -x0, -y0);\n this.clipBbox(graphics, bbox, x0, y0, x1, y1);\n graphics.executeOperatorList(operatorList);\n this.ctx.transform(1, 0, 0, 1, x0, y0);\n this.ctx.scale(1 / dimx.scale, 1 / dimy.scale);\n return tmpCanvas.canvas;\n },\n getSizeAndScale: function TilingPattern_getSizeAndScale(step, realOutputSize, scale) {\n step = Math.abs(step);\n var maxSize = Math.max(MAX_PATTERN_SIZE, realOutputSize);\n var size = Math.ceil(step * scale);\n if (size >= maxSize) {\n size = maxSize;\n } else {\n scale = size / step;\n }\n return {\n scale,\n size\n };\n },\n clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) {\n if (Array.isArray(bbox) && bbox.length === 4) {\n var bboxWidth = x1 - x0;\n var bboxHeight = y1 - y0;\n graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n graphics.clip();\n graphics.endPath();\n }\n },\n setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(graphics, paintType, color) {\n const context = graphics.ctx,\n current = graphics.current;\n switch (paintType) {\n case PaintType.COLORED:\n var ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n current.fillColor = ctx.fillStyle;\n current.strokeColor = ctx.strokeStyle;\n break;\n case PaintType.UNCOLORED:\n var cssColor = _util.Util.makeCssRgb(color[0], color[1], color[2]);\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n default:\n throw new _util.FormatError(\"Unsupported paint type: \".concat(paintType));\n }\n },\n getPattern: function TilingPattern_getPattern(ctx, owner) {\n ctx = this.ctx;\n ctx.setTransform.apply(ctx, this.baseTransform);\n ctx.transform.apply(ctx, this.matrix);\n var temporaryPatternCanvas = this.createPatternCanvas(owner);\n return ctx.createPattern(temporaryPatternCanvas, \"repeat\");\n }\n };\n return TilingPattern;\n }();\n exports.TilingPattern = TilingPattern;\n\n /***/\n }), ( /* 12 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.GlobalWorkerOptions = void 0;\n const GlobalWorkerOptions = Object.create(null);\n exports.GlobalWorkerOptions = GlobalWorkerOptions;\n GlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort;\n GlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? \"\" : GlobalWorkerOptions.workerSrc;\n\n /***/\n }), ( /* 13 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.MessageHandler = void 0;\n var _util = __w_pdfjs_require__(2);\n const CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2\n };\n const StreamKind = {\n UNKNOWN: 0,\n CANCEL: 1,\n CANCEL_COMPLETE: 2,\n CLOSE: 3,\n ENQUEUE: 4,\n ERROR: 5,\n PULL: 6,\n PULL_COMPLETE: 7,\n START_COMPLETE: 8\n };\n function wrapReason(reason) {\n if (typeof reason !== \"object\" || reason === null) {\n return reason;\n }\n switch (reason.name) {\n case \"AbortException\":\n return new _util.AbortException(reason.message);\n case \"MissingPDFException\":\n return new _util.MissingPDFException(reason.message);\n case \"UnexpectedResponseException\":\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n case \"UnknownErrorException\":\n return new _util.UnknownErrorException(reason.message, reason.details);\n default:\n return new _util.UnknownErrorException(reason.message, reason.toString());\n }\n }\n class MessageHandler {\n constructor(sourceName, targetName, comObj) {\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.postMessageTransfers = true;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n this.callbackCapabilities = Object.create(null);\n this.actionHandler = Object.create(null);\n this._onComObjOnMessage = event => {\n const data = event.data;\n if (data.targetName !== this.sourceName) {\n return;\n }\n if (data.stream) {\n this._processStreamMessage(data);\n return;\n }\n if (data.callback) {\n const callbackId = data.callbackId;\n const capability = this.callbackCapabilities[callbackId];\n if (!capability) {\n throw new Error(\"Cannot resolve callback \".concat(callbackId));\n }\n delete this.callbackCapabilities[callbackId];\n if (data.callback === CallbackKind.DATA) {\n capability.resolve(data.data);\n } else if (data.callback === CallbackKind.ERROR) {\n capability.reject(wrapReason(data.reason));\n } else {\n throw new Error(\"Unexpected callback case\");\n }\n return;\n }\n const action = this.actionHandler[data.action];\n if (!action) {\n throw new Error(\"Unknown action from worker: \".concat(data.action));\n }\n if (data.callbackId) {\n const cbSourceName = this.sourceName;\n const cbTargetName = data.sourceName;\n new Promise(function (resolve) {\n resolve(action(data.data));\n }).then(function (result) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.DATA,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.ERROR,\n callbackId: data.callbackId,\n reason: wrapReason(reason)\n });\n });\n return;\n }\n if (data.streamId) {\n this._createStreamSink(data);\n return;\n }\n action(data.data);\n };\n comObj.addEventListener(\"message\", this._onComObjOnMessage);\n }\n on(actionName, handler) {\n const ah = this.actionHandler;\n if (ah[actionName]) {\n throw new Error(\"There is already an actionName called \\\"\".concat(actionName, \"\\\"\"));\n }\n ah[actionName] = handler;\n }\n send(actionName, data, transfers) {\n this._postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data\n }, transfers);\n }\n sendWithPromise(actionName, data, transfers) {\n const callbackId = this.callbackId++;\n const capability = (0, _util.createPromiseCapability)();\n this.callbackCapabilities[callbackId] = capability;\n try {\n this._postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n callbackId,\n data\n }, transfers);\n } catch (ex) {\n capability.reject(ex);\n }\n return capability.promise;\n }\n sendWithStream(actionName, data, queueingStrategy, transfers) {\n const streamId = this.streamId++;\n const sourceName = this.sourceName;\n const targetName = this.targetName;\n const comObj = this.comObj;\n return new ReadableStream({\n start: controller => {\n const startCapability = (0, _util.createPromiseCapability)();\n this.streamControllers[streamId] = {\n controller,\n startCall: startCapability,\n pullCall: null,\n cancelCall: null,\n isClosed: false\n };\n this._postMessage({\n sourceName,\n targetName,\n action: actionName,\n streamId,\n data,\n desiredSize: controller.desiredSize\n }, transfers);\n return startCapability.promise;\n },\n pull: controller => {\n const pullCapability = (0, _util.createPromiseCapability)();\n this.streamControllers[streamId].pullCall = pullCapability;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL,\n streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: reason => {\n (0, _util.assert)(reason instanceof Error, \"cancel must have a valid reason\");\n const cancelCapability = (0, _util.createPromiseCapability)();\n this.streamControllers[streamId].cancelCall = cancelCapability;\n this.streamControllers[streamId].isClosed = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL,\n streamId,\n reason: wrapReason(reason)\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n }\n _createStreamSink(data) {\n const self = this;\n const action = this.actionHandler[data.action];\n const streamId = data.streamId;\n const sourceName = this.sourceName;\n const targetName = data.sourceName;\n const comObj = this.comObj;\n const streamSink = {\n enqueue(chunk) {\n let size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n let transfers = arguments.length > 2 ? arguments[2] : undefined;\n if (this.isCancelled) {\n return;\n }\n const lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = (0, _util.createPromiseCapability)();\n this.ready = this.sinkCapability.promise;\n }\n self._postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ENQUEUE,\n streamId,\n chunk\n }, transfers);\n },\n close() {\n if (this.isCancelled) {\n return;\n }\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CLOSE,\n streamId\n });\n delete self.streamSinks[streamId];\n },\n error(reason) {\n (0, _util.assert)(reason instanceof Error, \"error must have a valid reason\");\n if (this.isCancelled) {\n return;\n }\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ERROR,\n streamId,\n reason: wrapReason(reason)\n });\n },\n sinkCapability: (0, _util.createPromiseCapability)(),\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: data.desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n new Promise(function (resolve) {\n resolve(action(data.data, streamSink));\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n }\n _processStreamMessage(data) {\n const streamId = data.streamId;\n const sourceName = this.sourceName;\n const targetName = data.sourceName;\n const comObj = this.comObj;\n switch (data.stream) {\n case StreamKind.START_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].startCall.resolve();\n } else {\n this.streamControllers[streamId].startCall.reject(wrapReason(data.reason));\n }\n break;\n case StreamKind.PULL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].pullCall.resolve();\n } else {\n this.streamControllers[streamId].pullCall.reject(wrapReason(data.reason));\n }\n break;\n case StreamKind.PULL:\n if (!this.streamSinks[streamId]) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true\n });\n break;\n }\n if (this.streamSinks[streamId].desiredSize <= 0 && data.desiredSize > 0) {\n this.streamSinks[streamId].sinkCapability.resolve();\n }\n this.streamSinks[streamId].desiredSize = data.desiredSize;\n const {\n onPull\n } = this.streamSinks[data.streamId];\n new Promise(function (resolve) {\n resolve(onPull && onPull());\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n break;\n case StreamKind.ENQUEUE:\n (0, _util.assert)(this.streamControllers[streamId], \"enqueue should have stream controller\");\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n this.streamControllers[streamId].controller.enqueue(data.chunk);\n break;\n case StreamKind.CLOSE:\n (0, _util.assert)(this.streamControllers[streamId], \"close should have stream controller\");\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n this.streamControllers[streamId].isClosed = true;\n this.streamControllers[streamId].controller.close();\n this._deleteStreamController(streamId);\n break;\n case StreamKind.ERROR:\n (0, _util.assert)(this.streamControllers[streamId], \"error should have stream controller\");\n this.streamControllers[streamId].controller.error(wrapReason(data.reason));\n this._deleteStreamController(streamId);\n break;\n case StreamKind.CANCEL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].cancelCall.resolve();\n } else {\n this.streamControllers[streamId].cancelCall.reject(wrapReason(data.reason));\n }\n this._deleteStreamController(streamId);\n break;\n case StreamKind.CANCEL:\n if (!this.streamSinks[streamId]) {\n break;\n }\n const {\n onCancel\n } = this.streamSinks[data.streamId];\n new Promise(function (resolve) {\n resolve(onCancel && onCancel(wrapReason(data.reason)));\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n this.streamSinks[streamId].sinkCapability.reject(wrapReason(data.reason));\n this.streamSinks[streamId].isCancelled = true;\n delete this.streamSinks[streamId];\n break;\n default:\n throw new Error(\"Unexpected stream case\");\n }\n }\n async _deleteStreamController(streamId) {\n await Promise.allSettled([this.streamControllers[streamId].startCall, this.streamControllers[streamId].pullCall, this.streamControllers[streamId].cancelCall].map(function (capability) {\n return capability && capability.promise;\n }));\n delete this.streamControllers[streamId];\n }\n _postMessage(message, transfers) {\n if (transfers && this.postMessageTransfers) {\n this.comObj.postMessage(message, transfers);\n } else {\n this.comObj.postMessage(message);\n }\n }\n destroy() {\n this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n }\n }\n exports.MessageHandler = MessageHandler;\n\n /***/\n }), ( /* 14 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.Metadata = void 0;\n var _util = __w_pdfjs_require__(2);\n var _xml_parser = __w_pdfjs_require__(15);\n class Metadata {\n constructor(data) {\n (0, _util.assert)(typeof data === \"string\", \"Metadata: input is not a string\");\n data = this._repair(data);\n const parser = new _xml_parser.SimpleXMLParser();\n const xmlDocument = parser.parseFromString(data);\n this._metadataMap = new Map();\n if (xmlDocument) {\n this._parse(xmlDocument);\n }\n }\n _repair(data) {\n return data.replace(/^[^<]+/, \"\").replace(/>\\\\376\\\\377([^<]+)/g, function (all, codes) {\n const bytes = codes.replace(/\\\\([0-3])([0-7])([0-7])/g, function (code, d1, d2, d3) {\n return String.fromCharCode(d1 * 64 + d2 * 8 + d3 * 1);\n }).replace(/&(amp|apos|gt|lt|quot);/g, function (str, name) {\n switch (name) {\n case \"amp\":\n return \"&\";\n case \"apos\":\n return \"'\";\n case \"gt\":\n return \">\";\n case \"lt\":\n return \"<\";\n case \"quot\":\n return '\"';\n }\n throw new Error(\"_repair: \".concat(name, \" isn't defined.\"));\n });\n let chars = \"\";\n for (let i = 0, ii = bytes.length; i < ii; i += 2) {\n const code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);\n if (code >= 32 && code < 127 && code !== 60 && code !== 62 && code !== 38) {\n chars += String.fromCharCode(code);\n } else {\n chars += \"&#x\" + (0x10000 + code).toString(16).substring(1) + \";\";\n }\n }\n return \">\" + chars;\n });\n }\n _parse(xmlDocument) {\n let rdf = xmlDocument.documentElement;\n if (rdf.nodeName.toLowerCase() !== \"rdf:rdf\") {\n rdf = rdf.firstChild;\n while (rdf && rdf.nodeName.toLowerCase() !== \"rdf:rdf\") {\n rdf = rdf.nextSibling;\n }\n }\n const nodeName = rdf ? rdf.nodeName.toLowerCase() : null;\n if (!rdf || nodeName !== \"rdf:rdf\" || !rdf.hasChildNodes()) {\n return;\n }\n const children = rdf.childNodes;\n for (let i = 0, ii = children.length; i < ii; i++) {\n const desc = children[i];\n if (desc.nodeName.toLowerCase() !== \"rdf:description\") {\n continue;\n }\n for (let j = 0, jj = desc.childNodes.length; j < jj; j++) {\n if (desc.childNodes[j].nodeName.toLowerCase() !== \"#text\") {\n const entry = desc.childNodes[j];\n const name = entry.nodeName.toLowerCase();\n this._metadataMap.set(name, entry.textContent.trim());\n }\n }\n }\n }\n get(name) {\n return this._metadataMap.has(name) ? this._metadataMap.get(name) : null;\n }\n getAll() {\n return Object.fromEntries(this._metadataMap);\n }\n has(name) {\n return this._metadataMap.has(name);\n }\n }\n exports.Metadata = Metadata;\n\n /***/\n }), ( /* 15 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.SimpleXMLParser = void 0;\n const XMLParserErrorCode = {\n NoError: 0,\n EndOfDocument: -1,\n UnterminatedCdat: -2,\n UnterminatedXmlDeclaration: -3,\n UnterminatedDoctypeDeclaration: -4,\n UnterminatedComment: -5,\n MalformedElement: -6,\n OutOfMemory: -7,\n UnterminatedAttributeValue: -8,\n UnterminatedElement: -9,\n ElementNeverBegun: -10\n };\n function isWhitespace(s, index) {\n const ch = s[index];\n return ch === \" \" || ch === \"\\n\" || ch === \"\\r\" || ch === \"\\t\";\n }\n function isWhitespaceString(s) {\n for (let i = 0, ii = s.length; i < ii; i++) {\n if (!isWhitespace(s, i)) {\n return false;\n }\n }\n return true;\n }\n class XMLParserBase {\n _resolveEntities(s) {\n return s.replace(/&([^;]+);/g, (all, entity) => {\n if (entity.substring(0, 2) === \"#x\") {\n return String.fromCharCode(parseInt(entity.substring(2), 16));\n } else if (entity.substring(0, 1) === \"#\") {\n return String.fromCharCode(parseInt(entity.substring(1), 10));\n }\n switch (entity) {\n case \"lt\":\n return \"<\";\n case \"gt\":\n return \">\";\n case \"amp\":\n return \"&\";\n case \"quot\":\n return '\"';\n }\n return this.onResolveEntity(entity);\n });\n }\n _parseContent(s, start) {\n const attributes = [];\n let pos = start;\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \">\" && s[pos] !== \"/\") {\n ++pos;\n }\n const name = s.substring(start, pos);\n skipWs();\n while (pos < s.length && s[pos] !== \">\" && s[pos] !== \"/\" && s[pos] !== \"?\") {\n skipWs();\n let attrName = \"\",\n attrValue = \"\";\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \"=\") {\n attrName += s[pos];\n ++pos;\n }\n skipWs();\n if (s[pos] !== \"=\") {\n return null;\n }\n ++pos;\n skipWs();\n const attrEndChar = s[pos];\n if (attrEndChar !== '\"' && attrEndChar !== \"'\") {\n return null;\n }\n const attrEndIndex = s.indexOf(attrEndChar, ++pos);\n if (attrEndIndex < 0) {\n return null;\n }\n attrValue = s.substring(pos, attrEndIndex);\n attributes.push({\n name: attrName,\n value: this._resolveEntities(attrValue)\n });\n pos = attrEndIndex + 1;\n skipWs();\n }\n return {\n name,\n attributes,\n parsed: pos - start\n };\n }\n _parseProcessingInstruction(s, start) {\n let pos = start;\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \">\" && s[pos] !== \"/\") {\n ++pos;\n }\n const name = s.substring(start, pos);\n skipWs();\n const attrStart = pos;\n while (pos < s.length && (s[pos] !== \"?\" || s[pos + 1] !== \">\")) {\n ++pos;\n }\n const value = s.substring(attrStart, pos);\n return {\n name,\n value,\n parsed: pos - start\n };\n }\n parseXml(s) {\n let i = 0;\n while (i < s.length) {\n const ch = s[i];\n let j = i;\n if (ch === \"<\") {\n ++j;\n const ch2 = s[j];\n let q;\n switch (ch2) {\n case \"/\":\n ++j;\n q = s.indexOf(\">\", j);\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n this.onEndElement(s.substring(j, q));\n j = q + 1;\n break;\n case \"?\":\n ++j;\n const pi = this._parseProcessingInstruction(s, j);\n if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== \"?>\") {\n this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);\n return;\n }\n this.onPi(pi.name, pi.value);\n j += pi.parsed + 2;\n break;\n case \"!\":\n if (s.substring(j + 1, j + 3) === \"--\") {\n q = s.indexOf(\"-->\", j + 3);\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedComment);\n return;\n }\n this.onComment(s.substring(j + 3, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === \"[CDATA[\") {\n q = s.indexOf(\"]]>\", j + 8);\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedCdat);\n return;\n }\n this.onCdata(s.substring(j + 8, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === \"DOCTYPE\") {\n const q2 = s.indexOf(\"[\", j + 8);\n let complexDoctype = false;\n q = s.indexOf(\">\", j + 8);\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n if (q2 > 0 && q > q2) {\n q = s.indexOf(\"]>\", j + 8);\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n complexDoctype = true;\n }\n const doctypeContent = s.substring(j + 8, q + (complexDoctype ? 1 : 0));\n this.onDoctype(doctypeContent);\n j = q + (complexDoctype ? 2 : 1);\n } else {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n break;\n default:\n const content = this._parseContent(s, j);\n if (content === null) {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n let isClosed = false;\n if (s.substring(j + content.parsed, j + content.parsed + 2) === \"/>\") {\n isClosed = true;\n } else if (s.substring(j + content.parsed, j + content.parsed + 1) !== \">\") {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n this.onBeginElement(content.name, content.attributes, isClosed);\n j += content.parsed + (isClosed ? 2 : 1);\n break;\n }\n } else {\n while (j < s.length && s[j] !== \"<\") {\n j++;\n }\n const text = s.substring(i, j);\n this.onText(this._resolveEntities(text));\n }\n i = j;\n }\n }\n onResolveEntity(name) {\n return \"&\".concat(name, \";\");\n }\n onPi(name, value) {}\n onComment(text) {}\n onCdata(text) {}\n onDoctype(doctypeContent) {}\n onText(text) {}\n onBeginElement(name, attributes, isEmpty) {}\n onEndElement(name) {}\n onError(code) {}\n }\n class SimpleDOMNode {\n constructor(nodeName, nodeValue) {\n this.nodeName = nodeName;\n this.nodeValue = nodeValue;\n Object.defineProperty(this, \"parentNode\", {\n value: null,\n writable: true\n });\n }\n get firstChild() {\n return this.childNodes && this.childNodes[0];\n }\n get nextSibling() {\n const childNodes = this.parentNode.childNodes;\n if (!childNodes) {\n return undefined;\n }\n const index = childNodes.indexOf(this);\n if (index === -1) {\n return undefined;\n }\n return childNodes[index + 1];\n }\n get textContent() {\n if (!this.childNodes) {\n return this.nodeValue || \"\";\n }\n return this.childNodes.map(function (child) {\n return child.textContent;\n }).join(\"\");\n }\n hasChildNodes() {\n return this.childNodes && this.childNodes.length > 0;\n }\n }\n class SimpleXMLParser extends XMLParserBase {\n constructor() {\n super();\n this._currentFragment = null;\n this._stack = null;\n this._errorCode = XMLParserErrorCode.NoError;\n }\n parseFromString(data) {\n this._currentFragment = [];\n this._stack = [];\n this._errorCode = XMLParserErrorCode.NoError;\n this.parseXml(data);\n if (this._errorCode !== XMLParserErrorCode.NoError) {\n return undefined;\n }\n const [documentElement] = this._currentFragment;\n if (!documentElement) {\n return undefined;\n }\n return {\n documentElement\n };\n }\n onResolveEntity(name) {\n switch (name) {\n case \"apos\":\n return \"'\";\n }\n return super.onResolveEntity(name);\n }\n onText(text) {\n if (isWhitespaceString(text)) {\n return;\n }\n const node = new SimpleDOMNode(\"#text\", text);\n this._currentFragment.push(node);\n }\n onCdata(text) {\n const node = new SimpleDOMNode(\"#text\", text);\n this._currentFragment.push(node);\n }\n onBeginElement(name, attributes, isEmpty) {\n const node = new SimpleDOMNode(name);\n node.childNodes = [];\n this._currentFragment.push(node);\n if (isEmpty) {\n return;\n }\n this._stack.push(this._currentFragment);\n this._currentFragment = node.childNodes;\n }\n onEndElement(name) {\n this._currentFragment = this._stack.pop() || [];\n const lastElement = this._currentFragment[this._currentFragment.length - 1];\n if (!lastElement) {\n return;\n }\n for (let i = 0, ii = lastElement.childNodes.length; i < ii; i++) {\n lastElement.childNodes[i].parentNode = lastElement;\n }\n }\n onError(code) {\n this._errorCode = code;\n }\n }\n exports.SimpleXMLParser = SimpleXMLParser;\n\n /***/\n }), ( /* 16 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.OptionalContentConfig = void 0;\n var _util = __w_pdfjs_require__(2);\n class OptionalContentGroup {\n constructor(name, intent) {\n this.visible = true;\n this.name = name;\n this.intent = intent;\n }\n }\n class OptionalContentConfig {\n constructor(data) {\n this.name = null;\n this.creator = null;\n this._order = null;\n this._groups = new Map();\n if (data === null) {\n return;\n }\n this.name = data.name;\n this.creator = data.creator;\n this._order = data.order;\n for (const group of data.groups) {\n this._groups.set(group.id, new OptionalContentGroup(group.name, group.intent));\n }\n if (data.baseState === \"OFF\") {\n for (const group of this._groups) {\n group.visible = false;\n }\n }\n for (const on of data.on) {\n this._groups.get(on).visible = true;\n }\n for (const off of data.off) {\n this._groups.get(off).visible = false;\n }\n }\n isVisible(group) {\n if (group.type === \"OCG\") {\n if (!this._groups.has(group.id)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(group.id));\n return true;\n }\n return this._groups.get(group.id).visible;\n } else if (group.type === \"OCMD\") {\n if (group.expression) {\n (0, _util.warn)(\"Visibility expression not supported yet.\");\n }\n if (!group.policy || group.policy === \"AnyOn\") {\n for (const id of group.ids) {\n if (!this._groups.has(id)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(id));\n return true;\n }\n if (this._groups.get(id).visible) {\n return true;\n }\n }\n return false;\n } else if (group.policy === \"AllOn\") {\n for (const id of group.ids) {\n if (!this._groups.has(id)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(id));\n return true;\n }\n if (!this._groups.get(id).visible) {\n return false;\n }\n }\n return true;\n } else if (group.policy === \"AnyOff\") {\n for (const id of group.ids) {\n if (!this._groups.has(id)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(id));\n return true;\n }\n if (!this._groups.get(id).visible) {\n return true;\n }\n }\n return false;\n } else if (group.policy === \"AllOff\") {\n for (const id of group.ids) {\n if (!this._groups.has(id)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(id));\n return true;\n }\n if (this._groups.get(id).visible) {\n return false;\n }\n }\n return true;\n }\n (0, _util.warn)(\"Unknown optional content policy \".concat(group.policy, \".\"));\n return true;\n }\n (0, _util.warn)(\"Unknown group type \".concat(group.type, \".\"));\n return true;\n }\n setVisibility(id) {\n let visible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n if (!this._groups.has(id)) {\n (0, _util.warn)(\"Optional content group not found: \".concat(id));\n return;\n }\n this._groups.get(id).visible = !!visible;\n }\n getOrder() {\n if (!this._groups.size) {\n return null;\n }\n if (this._order) {\n return this._order.slice();\n }\n return Array.from(this._groups.keys());\n }\n getGroups() {\n if (!this._groups.size) {\n return null;\n }\n return Object.fromEntries(this._groups);\n }\n getGroup(id) {\n return this._groups.get(id) || null;\n }\n }\n exports.OptionalContentConfig = OptionalContentConfig;\n\n /***/\n }), ( /* 17 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PDFDataTransportStream = void 0;\n var _util = __w_pdfjs_require__(2);\n class PDFDataTransportStream {\n constructor(params, pdfDataRangeTransport) {\n (0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required \"pdfDataRangeTransport\" argument.');\n this._queuedChunks = [];\n this._progressiveDone = params.progressiveDone || false;\n const initialData = params.initialData;\n if (initialData && initialData.length > 0) {\n const buffer = new Uint8Array(initialData).buffer;\n this._queuedChunks.push(buffer);\n }\n this._pdfDataRangeTransport = pdfDataRangeTransport;\n this._isStreamingSupported = !params.disableStream;\n this._isRangeSupported = !params.disableRange;\n this._contentLength = params.length;\n this._fullRequestReader = null;\n this._rangeReaders = [];\n this._pdfDataRangeTransport.addRangeListener((begin, chunk) => {\n this._onReceiveData({\n begin,\n chunk\n });\n });\n this._pdfDataRangeTransport.addProgressListener((loaded, total) => {\n this._onProgress({\n loaded,\n total\n });\n });\n this._pdfDataRangeTransport.addProgressiveReadListener(chunk => {\n this._onReceiveData({\n chunk\n });\n });\n this._pdfDataRangeTransport.addProgressiveDoneListener(() => {\n this._onProgressiveDone();\n });\n this._pdfDataRangeTransport.transportReady();\n }\n _onReceiveData(args) {\n const buffer = new Uint8Array(args.chunk).buffer;\n if (args.begin === undefined) {\n if (this._fullRequestReader) {\n this._fullRequestReader._enqueue(buffer);\n } else {\n this._queuedChunks.push(buffer);\n }\n } else {\n const found = this._rangeReaders.some(function (rangeReader) {\n if (rangeReader._begin !== args.begin) {\n return false;\n }\n rangeReader._enqueue(buffer);\n return true;\n });\n (0, _util.assert)(found, \"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.\");\n }\n }\n get _progressiveDataLength() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n _onProgress(evt) {\n if (evt.total === undefined) {\n const firstReader = this._rangeReaders[0];\n if (firstReader && firstReader.onProgress) {\n firstReader.onProgress({\n loaded: evt.loaded\n });\n }\n } else {\n const fullReader = this._fullRequestReader;\n if (fullReader && fullReader.onProgress) {\n fullReader.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n }\n }\n _onProgressiveDone() {\n if (this._fullRequestReader) {\n this._fullRequestReader.progressiveDone();\n }\n this._progressiveDone = true;\n }\n _removeRangeReader(reader) {\n const i = this._rangeReaders.indexOf(reader);\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n }\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFDataTransportStream.getFullReader can only be called once.\");\n const queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone);\n }\n getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n const reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n this._rangeReaders.push(reader);\n return reader;\n }\n cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n const readers = this._rangeReaders.slice(0);\n readers.forEach(function (rangeReader) {\n rangeReader.cancel(reason);\n });\n this._pdfDataRangeTransport.abort();\n }\n }\n exports.PDFDataTransportStream = PDFDataTransportStream;\n class PDFDataTransportStreamReader {\n constructor(stream, queuedChunks) {\n let progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n this._stream = stream;\n this._done = progressiveDone || false;\n this._filename = null;\n this._queuedChunks = queuedChunks || [];\n this._loaded = 0;\n for (const chunk of this._queuedChunks) {\n this._loaded += chunk.byteLength;\n }\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n _enqueue(chunk) {\n if (this._done) {\n return;\n }\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunks.push(chunk);\n }\n this._loaded += chunk.byteLength;\n }\n get headersReady() {\n return this._headersReady;\n }\n get filename() {\n return this._filename;\n }\n get isRangeSupported() {\n return this._stream._isRangeSupported;\n }\n get isStreamingSupported() {\n return this._stream._isStreamingSupported;\n }\n get contentLength() {\n return this._stream._contentLength;\n }\n async read() {\n if (this._queuedChunks.length > 0) {\n const chunk = this._queuedChunks.shift();\n return {\n value: chunk,\n done: false\n };\n }\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n const requestCapability = (0, _util.createPromiseCapability)();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n cancel(reason) {\n this._done = true;\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n }\n progressiveDone() {\n if (this._done) {\n return;\n }\n this._done = true;\n }\n }\n class PDFDataTransportStreamRangeReader {\n constructor(stream, begin, end) {\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n this.onProgress = null;\n }\n _enqueue(chunk) {\n if (this._done) {\n return;\n }\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n const requestsCapability = this._requests.shift();\n requestsCapability.resolve({\n value: chunk,\n done: false\n });\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n }\n this._done = true;\n this._stream._removeRangeReader(this);\n }\n get isStreamingSupported() {\n return false;\n }\n async read() {\n if (this._queuedChunk) {\n const chunk = this._queuedChunk;\n this._queuedChunk = null;\n return {\n value: chunk,\n done: false\n };\n }\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n const requestCapability = (0, _util.createPromiseCapability)();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n cancel(reason) {\n this._done = true;\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n this._stream._removeRangeReader(this);\n }\n }\n\n /***/\n }), ( /* 18 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.WebGLContext = void 0;\n var _util = __w_pdfjs_require__(2);\n class WebGLContext {\n constructor(_ref19) {\n let {\n enable = false\n } = _ref19;\n this._enabled = enable === true;\n }\n get isEnabled() {\n let enabled = this._enabled;\n if (enabled) {\n enabled = WebGLUtils.tryInitGL();\n }\n return (0, _util.shadow)(this, \"isEnabled\", enabled);\n }\n composeSMask(_ref20) {\n let {\n layer,\n mask,\n properties\n } = _ref20;\n return WebGLUtils.composeSMask(layer, mask, properties);\n }\n drawFigures(_ref21) {\n let {\n width,\n height,\n backgroundColor,\n figures,\n context\n } = _ref21;\n return WebGLUtils.drawFigures(width, height, backgroundColor, figures, context);\n }\n clear() {\n WebGLUtils.cleanup();\n }\n }\n exports.WebGLContext = WebGLContext;\n var WebGLUtils = function WebGLUtilsClosure() {\n function loadShader(gl, code, shaderType) {\n var shader = gl.createShader(shaderType);\n gl.shaderSource(shader, code);\n gl.compileShader(shader);\n var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);\n if (!compiled) {\n var errorMsg = gl.getShaderInfoLog(shader);\n throw new Error(\"Error during shader compilation: \" + errorMsg);\n }\n return shader;\n }\n function createVertexShader(gl, code) {\n return loadShader(gl, code, gl.VERTEX_SHADER);\n }\n function createFragmentShader(gl, code) {\n return loadShader(gl, code, gl.FRAGMENT_SHADER);\n }\n function createProgram(gl, shaders) {\n var program = gl.createProgram();\n for (var i = 0, ii = shaders.length; i < ii; ++i) {\n gl.attachShader(program, shaders[i]);\n }\n gl.linkProgram(program);\n var linked = gl.getProgramParameter(program, gl.LINK_STATUS);\n if (!linked) {\n var errorMsg = gl.getProgramInfoLog(program);\n throw new Error(\"Error during program linking: \" + errorMsg);\n }\n return program;\n }\n function createTexture(gl, image, textureId) {\n gl.activeTexture(textureId);\n var texture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);\n return texture;\n }\n var currentGL, currentCanvas;\n function generateGL() {\n if (currentGL) {\n return;\n }\n currentCanvas = document.createElement(\"canvas\");\n currentGL = currentCanvas.getContext(\"webgl\", {\n premultipliedalpha: false\n });\n }\n var smaskVertexShaderCode = \"\\\n attribute vec2 a_position; \\\n attribute vec2 a_texCoord; \\\n \\\n uniform vec2 u_resolution; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec2 clipSpace = (a_position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_texCoord = a_texCoord; \\\n } \";\n var smaskFragmentShaderCode = \"\\\n precision mediump float; \\\n \\\n uniform vec4 u_backdrop; \\\n uniform int u_subtype; \\\n uniform sampler2D u_image; \\\n uniform sampler2D u_mask; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec4 imageColor = texture2D(u_image, v_texCoord); \\\n vec4 maskColor = texture2D(u_mask, v_texCoord); \\\n if (u_backdrop.a > 0.0) { \\\n maskColor.rgb = maskColor.rgb * maskColor.a + \\\n u_backdrop.rgb * (1.0 - maskColor.a); \\\n } \\\n float lum; \\\n if (u_subtype == 0) { \\\n lum = maskColor.a; \\\n } else { \\\n lum = maskColor.r * 0.3 + maskColor.g * 0.59 + \\\n maskColor.b * 0.11; \\\n } \\\n imageColor.a *= lum; \\\n imageColor.rgb *= imageColor.a; \\\n gl_FragColor = imageColor; \\\n } \";\n var smaskCache = null;\n function initSmaskGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, smaskVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, smaskFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, \"u_resolution\");\n cache.positionLocation = gl.getAttribLocation(program, \"a_position\");\n cache.backdropLocation = gl.getUniformLocation(program, \"u_backdrop\");\n cache.subtypeLocation = gl.getUniformLocation(program, \"u_subtype\");\n var texCoordLocation = gl.getAttribLocation(program, \"a_texCoord\");\n var texLayerLocation = gl.getUniformLocation(program, \"u_image\");\n var texMaskLocation = gl.getUniformLocation(program, \"u_mask\");\n var texCoordBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(texCoordLocation);\n gl.vertexAttribPointer(texCoordLocation, 2, gl.FLOAT, false, 0, 0);\n gl.uniform1i(texLayerLocation, 0);\n gl.uniform1i(texMaskLocation, 1);\n smaskCache = cache;\n }\n function composeSMask(layer, mask, properties) {\n var width = layer.width,\n height = layer.height;\n if (!smaskCache) {\n initSmaskGL();\n }\n var cache = smaskCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n if (properties.backdrop) {\n gl.uniform4f(cache.resolutionLocation, properties.backdrop[0], properties.backdrop[1], properties.backdrop[2], 1);\n } else {\n gl.uniform4f(cache.resolutionLocation, 0, 0, 0, 0);\n }\n gl.uniform1i(cache.subtypeLocation, properties.subtype === \"Luminosity\" ? 1 : 0);\n var texture = createTexture(gl, layer, gl.TEXTURE0);\n var maskTexture = createTexture(gl, mask, gl.TEXTURE1);\n var buffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0, 0, width, 0, 0, height, 0, height, width, 0, width, height]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n gl.clearColor(0, 0, 0, 0);\n gl.enable(gl.BLEND);\n gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n gl.clear(gl.COLOR_BUFFER_BIT);\n gl.drawArrays(gl.TRIANGLES, 0, 6);\n gl.flush();\n gl.deleteTexture(texture);\n gl.deleteTexture(maskTexture);\n gl.deleteBuffer(buffer);\n return canvas;\n }\n var figuresVertexShaderCode = \"\\\n attribute vec2 a_position; \\\n attribute vec3 a_color; \\\n \\\n uniform vec2 u_resolution; \\\n uniform vec2 u_scale; \\\n uniform vec2 u_offset; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n vec2 position = (a_position + u_offset) * u_scale; \\\n vec2 clipSpace = (position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_color = vec4(a_color / 255.0, 1.0); \\\n } \";\n var figuresFragmentShaderCode = \"\\\n precision mediump float; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n gl_FragColor = v_color; \\\n } \";\n var figuresCache = null;\n function initFiguresGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, figuresVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, figuresFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, \"u_resolution\");\n cache.scaleLocation = gl.getUniformLocation(program, \"u_scale\");\n cache.offsetLocation = gl.getUniformLocation(program, \"u_offset\");\n cache.positionLocation = gl.getAttribLocation(program, \"a_position\");\n cache.colorLocation = gl.getAttribLocation(program, \"a_color\");\n figuresCache = cache;\n }\n function drawFigures(width, height, backgroundColor, figures, context) {\n if (!figuresCache) {\n initFiguresGL();\n }\n var cache = figuresCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n var count = 0;\n var i, ii, rows;\n for (i = 0, ii = figures.length; i < ii; i++) {\n switch (figures[i].type) {\n case \"lattice\":\n rows = figures[i].coords.length / figures[i].verticesPerRow | 0;\n count += (rows - 1) * (figures[i].verticesPerRow - 1) * 6;\n break;\n case \"triangles\":\n count += figures[i].coords.length;\n break;\n }\n }\n var coords = new Float32Array(count * 2);\n var colors = new Uint8Array(count * 3);\n var coordsMap = context.coords,\n colorsMap = context.colors;\n var pIndex = 0,\n cIndex = 0;\n for (i = 0, ii = figures.length; i < ii; i++) {\n var figure = figures[i],\n ps = figure.coords,\n cs = figure.colors;\n switch (figure.type) {\n case \"lattice\":\n var cols = figure.verticesPerRow;\n rows = ps.length / cols | 0;\n for (var row = 1; row < rows; row++) {\n var offset = row * cols + 1;\n for (var col = 1; col < cols; col++, offset++) {\n coords[pIndex] = coordsMap[ps[offset - cols - 1]];\n coords[pIndex + 1] = coordsMap[ps[offset - cols - 1] + 1];\n coords[pIndex + 2] = coordsMap[ps[offset - cols]];\n coords[pIndex + 3] = coordsMap[ps[offset - cols] + 1];\n coords[pIndex + 4] = coordsMap[ps[offset - 1]];\n coords[pIndex + 5] = coordsMap[ps[offset - 1] + 1];\n colors[cIndex] = colorsMap[cs[offset - cols - 1]];\n colors[cIndex + 1] = colorsMap[cs[offset - cols - 1] + 1];\n colors[cIndex + 2] = colorsMap[cs[offset - cols - 1] + 2];\n colors[cIndex + 3] = colorsMap[cs[offset - cols]];\n colors[cIndex + 4] = colorsMap[cs[offset - cols] + 1];\n colors[cIndex + 5] = colorsMap[cs[offset - cols] + 2];\n colors[cIndex + 6] = colorsMap[cs[offset - 1]];\n colors[cIndex + 7] = colorsMap[cs[offset - 1] + 1];\n colors[cIndex + 8] = colorsMap[cs[offset - 1] + 2];\n coords[pIndex + 6] = coords[pIndex + 2];\n coords[pIndex + 7] = coords[pIndex + 3];\n coords[pIndex + 8] = coords[pIndex + 4];\n coords[pIndex + 9] = coords[pIndex + 5];\n coords[pIndex + 10] = coordsMap[ps[offset]];\n coords[pIndex + 11] = coordsMap[ps[offset] + 1];\n colors[cIndex + 9] = colors[cIndex + 3];\n colors[cIndex + 10] = colors[cIndex + 4];\n colors[cIndex + 11] = colors[cIndex + 5];\n colors[cIndex + 12] = colors[cIndex + 6];\n colors[cIndex + 13] = colors[cIndex + 7];\n colors[cIndex + 14] = colors[cIndex + 8];\n colors[cIndex + 15] = colorsMap[cs[offset]];\n colors[cIndex + 16] = colorsMap[cs[offset] + 1];\n colors[cIndex + 17] = colorsMap[cs[offset] + 2];\n pIndex += 12;\n cIndex += 18;\n }\n }\n break;\n case \"triangles\":\n for (var j = 0, jj = ps.length; j < jj; j++) {\n coords[pIndex] = coordsMap[ps[j]];\n coords[pIndex + 1] = coordsMap[ps[j] + 1];\n colors[cIndex] = colorsMap[cs[j]];\n colors[cIndex + 1] = colorsMap[cs[j] + 1];\n colors[cIndex + 2] = colorsMap[cs[j] + 2];\n pIndex += 2;\n cIndex += 3;\n }\n break;\n }\n }\n if (backgroundColor) {\n gl.clearColor(backgroundColor[0] / 255, backgroundColor[1] / 255, backgroundColor[2] / 255, 1.0);\n } else {\n gl.clearColor(0, 0, 0, 0);\n }\n gl.clear(gl.COLOR_BUFFER_BIT);\n var coordsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, coordsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, coords, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n var colorsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, colorsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, colors, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.colorLocation);\n gl.vertexAttribPointer(cache.colorLocation, 3, gl.UNSIGNED_BYTE, false, 0, 0);\n gl.uniform2f(cache.scaleLocation, context.scaleX, context.scaleY);\n gl.uniform2f(cache.offsetLocation, context.offsetX, context.offsetY);\n gl.drawArrays(gl.TRIANGLES, 0, count);\n gl.flush();\n gl.deleteBuffer(coordsBuffer);\n gl.deleteBuffer(colorsBuffer);\n return canvas;\n }\n return {\n tryInitGL() {\n try {\n generateGL();\n return !!currentGL;\n } catch (ex) {}\n return false;\n },\n composeSMask,\n drawFigures,\n cleanup() {\n if (smaskCache && smaskCache.canvas) {\n smaskCache.canvas.width = 0;\n smaskCache.canvas.height = 0;\n }\n if (figuresCache && figuresCache.canvas) {\n figuresCache.canvas.width = 0;\n figuresCache.canvas.height = 0;\n }\n smaskCache = null;\n figuresCache = null;\n }\n };\n }();\n\n /***/\n }), ( /* 19 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.AnnotationLayer = void 0;\n var _display_utils = __w_pdfjs_require__(1);\n var _util = __w_pdfjs_require__(2);\n var _annotation_storage = __w_pdfjs_require__(8);\n class AnnotationElementFactory {\n static create(parameters) {\n const subtype = parameters.data.annotationType;\n switch (subtype) {\n case _util.AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n case _util.AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n case _util.AnnotationType.WIDGET:\n const fieldType = parameters.data.fieldType;\n switch (fieldType) {\n case \"Tx\":\n return new TextWidgetAnnotationElement(parameters);\n case \"Btn\":\n if (parameters.data.radioButton) {\n return new RadioButtonWidgetAnnotationElement(parameters);\n } else if (parameters.data.checkBox) {\n return new CheckboxWidgetAnnotationElement(parameters);\n }\n return new PushButtonWidgetAnnotationElement(parameters);\n case \"Ch\":\n return new ChoiceWidgetAnnotationElement(parameters);\n }\n return new WidgetAnnotationElement(parameters);\n case _util.AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n case _util.AnnotationType.FREETEXT:\n return new FreeTextAnnotationElement(parameters);\n case _util.AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n case _util.AnnotationType.SQUARE:\n return new SquareAnnotationElement(parameters);\n case _util.AnnotationType.CIRCLE:\n return new CircleAnnotationElement(parameters);\n case _util.AnnotationType.POLYLINE:\n return new PolylineAnnotationElement(parameters);\n case _util.AnnotationType.CARET:\n return new CaretAnnotationElement(parameters);\n case _util.AnnotationType.INK:\n return new InkAnnotationElement(parameters);\n case _util.AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n case _util.AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n case _util.AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n case _util.AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n case _util.AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n case _util.AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n case _util.AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n default:\n return new AnnotationElement(parameters);\n }\n }\n }\n class AnnotationElement {\n constructor(parameters) {\n let isRenderable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n let ignoreBorder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n this.isRenderable = isRenderable;\n this.data = parameters.data;\n this.layer = parameters.layer;\n this.page = parameters.page;\n this.viewport = parameters.viewport;\n this.linkService = parameters.linkService;\n this.downloadManager = parameters.downloadManager;\n this.imageResourcesPath = parameters.imageResourcesPath;\n this.renderInteractiveForms = parameters.renderInteractiveForms;\n this.svgFactory = parameters.svgFactory;\n this.annotationStorage = parameters.annotationStorage;\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n }\n _createContainer() {\n let ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n const data = this.data,\n page = this.page,\n viewport = this.viewport;\n const container = document.createElement(\"section\");\n let width = data.rect[2] - data.rect[0];\n let height = data.rect[3] - data.rect[1];\n container.setAttribute(\"data-annotation-id\", data.id);\n const rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);\n container.style.transform = \"matrix(\".concat(viewport.transform.join(\",\"), \")\");\n container.style.transformOrigin = \"-\".concat(rect[0], \"px -\").concat(rect[1], \"px\");\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = \"\".concat(data.borderStyle.width, \"px\");\n if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {\n width = width - 2 * data.borderStyle.width;\n height = height - 2 * data.borderStyle.width;\n }\n const horizontalRadius = data.borderStyle.horizontalCornerRadius;\n const verticalRadius = data.borderStyle.verticalCornerRadius;\n if (horizontalRadius > 0 || verticalRadius > 0) {\n const radius = \"\".concat(horizontalRadius, \"px / \").concat(verticalRadius, \"px\");\n container.style.borderRadius = radius;\n }\n switch (data.borderStyle.style) {\n case _util.AnnotationBorderStyleType.SOLID:\n container.style.borderStyle = \"solid\";\n break;\n case _util.AnnotationBorderStyleType.DASHED:\n container.style.borderStyle = \"dashed\";\n break;\n case _util.AnnotationBorderStyleType.BEVELED:\n (0, _util.warn)(\"Unimplemented border style: beveled\");\n break;\n case _util.AnnotationBorderStyleType.INSET:\n (0, _util.warn)(\"Unimplemented border style: inset\");\n break;\n case _util.AnnotationBorderStyleType.UNDERLINE:\n container.style.borderBottomStyle = \"solid\";\n break;\n default:\n break;\n }\n if (data.color) {\n container.style.borderColor = _util.Util.makeCssRgb(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0);\n } else {\n container.style.borderWidth = 0;\n }\n }\n container.style.left = \"\".concat(rect[0], \"px\");\n container.style.top = \"\".concat(rect[1], \"px\");\n container.style.width = \"\".concat(width, \"px\");\n container.style.height = \"\".concat(height, \"px\");\n return container;\n }\n _createPopup(container, trigger, data) {\n if (!trigger) {\n trigger = document.createElement(\"div\");\n trigger.style.height = container.style.height;\n trigger.style.width = container.style.width;\n container.appendChild(trigger);\n }\n const popupElement = new PopupElement({\n container,\n trigger,\n color: data.color,\n title: data.title,\n modificationDate: data.modificationDate,\n contents: data.contents,\n hideWrapper: true\n });\n const popup = popupElement.render();\n popup.style.left = container.style.width;\n container.appendChild(popup);\n }\n render() {\n (0, _util.unreachable)(\"Abstract method `AnnotationElement.render` called\");\n }\n }\n class LinkAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action);\n super(parameters, isRenderable);\n }\n render() {\n this.container.className = \"linkAnnotation\";\n const {\n data,\n linkService\n } = this;\n const link = document.createElement(\"a\");\n if (data.url) {\n (0, _display_utils.addLinkAttributes)(link, {\n url: data.url,\n target: data.newWindow ? _display_utils.LinkTarget.BLANK : linkService.externalLinkTarget,\n rel: linkService.externalLinkRel,\n enabled: linkService.externalLinkEnabled\n });\n } else if (data.action) {\n this._bindNamedAction(link, data.action);\n } else {\n this._bindLink(link, data.dest);\n }\n this.container.appendChild(link);\n return this.container;\n }\n _bindLink(link, destination) {\n link.href = this.linkService.getDestinationHash(destination);\n link.onclick = () => {\n if (destination) {\n this.linkService.navigateTo(destination);\n }\n return false;\n };\n if (destination) {\n link.className = \"internalLink\";\n }\n }\n _bindNamedAction(link, action) {\n link.href = this.linkService.getAnchorUrl(\"\");\n link.onclick = () => {\n this.linkService.executeNamedAction(action);\n return false;\n };\n link.className = \"internalLink\";\n }\n }\n class TextAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable);\n }\n render() {\n this.container.className = \"textAnnotation\";\n const image = document.createElement(\"img\");\n image.style.height = this.container.style.height;\n image.style.width = this.container.style.width;\n image.src = this.imageResourcesPath + \"annotation-\" + this.data.name.toLowerCase() + \".svg\";\n image.alt = \"[{{type}} Annotation]\";\n image.dataset.l10nId = \"text_annotation_type\";\n image.dataset.l10nArgs = JSON.stringify({\n type: this.data.name\n });\n if (!this.data.hasPopup) {\n this._createPopup(this.container, image, this.data);\n }\n this.container.appendChild(image);\n return this.container;\n }\n }\n class WidgetAnnotationElement extends AnnotationElement {\n render() {\n return this.container;\n }\n }\n class TextWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n const isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n super(parameters, isRenderable);\n }\n render() {\n const TEXT_ALIGNMENT = [\"left\", \"center\", \"right\"];\n const storage = this.annotationStorage;\n const id = this.data.id;\n this.container.className = \"textWidgetAnnotation\";\n let element = null;\n if (this.renderInteractiveForms) {\n const textContent = storage.getOrCreateValue(id, this.data.fieldValue);\n if (this.data.multiLine) {\n element = document.createElement(\"textarea\");\n element.textContent = textContent;\n } else {\n element = document.createElement(\"input\");\n element.type = \"text\";\n element.setAttribute(\"value\", textContent);\n }\n element.addEventListener(\"input\", function (event) {\n storage.setValue(id, event.target.value);\n });\n element.disabled = this.data.readOnly;\n element.name = this.data.fieldName;\n if (this.data.maxLen !== null) {\n element.maxLength = this.data.maxLen;\n }\n if (this.data.comb) {\n const fieldWidth = this.data.rect[2] - this.data.rect[0];\n const combWidth = fieldWidth / this.data.maxLen;\n element.classList.add(\"comb\");\n element.style.letterSpacing = \"calc(\".concat(combWidth, \"px - 1ch)\");\n }\n } else {\n element = document.createElement(\"div\");\n element.textContent = this.data.fieldValue;\n element.style.verticalAlign = \"middle\";\n element.style.display = \"table-cell\";\n let font = null;\n if (this.data.fontRefName && this.page.commonObjs.has(this.data.fontRefName)) {\n font = this.page.commonObjs.get(this.data.fontRefName);\n }\n this._setTextStyle(element, font);\n }\n if (this.data.textAlignment !== null) {\n element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\n this.container.appendChild(element);\n return this.container;\n }\n _setTextStyle(element, font) {\n const style = element.style;\n style.fontSize = \"\".concat(this.data.fontSize, \"px\");\n style.direction = this.data.fontDirection < 0 ? \"rtl\" : \"ltr\";\n if (!font) {\n return;\n }\n let bold = \"normal\";\n if (font.black) {\n bold = \"900\";\n } else if (font.bold) {\n bold = \"bold\";\n }\n style.fontWeight = bold;\n style.fontStyle = font.italic ? \"italic\" : \"normal\";\n const fontFamily = font.loadedName ? \"\\\"\".concat(font.loadedName, \"\\\", \") : \"\";\n const fallbackName = font.fallbackName || \"Helvetica, sans-serif\";\n style.fontFamily = fontFamily + fallbackName;\n }\n }\n class CheckboxWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, parameters.renderInteractiveForms);\n }\n render() {\n const storage = this.annotationStorage;\n const data = this.data;\n const id = data.id;\n const value = storage.getOrCreateValue(id, data.fieldValue && data.fieldValue !== \"Off\");\n this.container.className = \"buttonWidgetAnnotation checkBox\";\n const element = document.createElement(\"input\");\n element.disabled = data.readOnly;\n element.type = \"checkbox\";\n element.name = this.data.fieldName;\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n element.addEventListener(\"change\", function (event) {\n storage.setValue(id, event.target.checked);\n });\n this.container.appendChild(element);\n return this.container;\n }\n }\n class RadioButtonWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, parameters.renderInteractiveForms);\n }\n render() {\n this.container.className = \"buttonWidgetAnnotation radioButton\";\n const storage = this.annotationStorage;\n const data = this.data;\n const id = data.id;\n const value = storage.getOrCreateValue(id, data.fieldValue === data.buttonValue);\n const element = document.createElement(\"input\");\n element.disabled = data.readOnly;\n element.type = \"radio\";\n element.name = data.fieldName;\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n element.addEventListener(\"change\", function (event) {\n const name = event.target.name;\n for (const radio of document.getElementsByName(name)) {\n if (radio !== event.target) {\n storage.setValue(radio.parentNode.getAttribute(\"data-annotation-id\"), false);\n }\n }\n storage.setValue(id, event.target.checked);\n });\n this.container.appendChild(element);\n return this.container;\n }\n }\n class PushButtonWidgetAnnotationElement extends LinkAnnotationElement {\n render() {\n const container = super.render();\n container.className = \"buttonWidgetAnnotation pushButton\";\n return container;\n }\n }\n class ChoiceWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, parameters.renderInteractiveForms);\n }\n render() {\n this.container.className = \"choiceWidgetAnnotation\";\n const storage = this.annotationStorage;\n const id = this.data.id;\n storage.getOrCreateValue(id, this.data.fieldValue.length > 0 ? this.data.fieldValue[0] : null);\n const selectElement = document.createElement(\"select\");\n selectElement.disabled = this.data.readOnly;\n selectElement.name = this.data.fieldName;\n if (!this.data.combo) {\n selectElement.size = this.data.options.length;\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\n }\n for (const option of this.data.options) {\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n if (this.data.fieldValue.includes(option.exportValue)) {\n optionElement.setAttribute(\"selected\", true);\n }\n selectElement.appendChild(optionElement);\n }\n selectElement.addEventListener(\"input\", function (event) {\n const options = event.target.options;\n const value = options[options.selectedIndex].value;\n storage.setValue(id, value);\n });\n this.container.appendChild(selectElement);\n return this.container;\n }\n }\n class PopupAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable);\n }\n render() {\n const IGNORE_TYPES = [\"Line\", \"Square\", \"Circle\", \"PolyLine\", \"Polygon\", \"Ink\"];\n this.container.className = \"popupAnnotation\";\n if (IGNORE_TYPES.includes(this.data.parentType)) {\n return this.container;\n }\n const selector = \"[data-annotation-id=\\\"\".concat(this.data.parentId, \"\\\"]\");\n const parentElement = this.layer.querySelector(selector);\n if (!parentElement) {\n return this.container;\n }\n const popup = new PopupElement({\n container: this.container,\n trigger: parentElement,\n color: this.data.color,\n title: this.data.title,\n modificationDate: this.data.modificationDate,\n contents: this.data.contents\n });\n const parentLeft = parseFloat(parentElement.style.left);\n const parentWidth = parseFloat(parentElement.style.width);\n this.container.style.transformOrigin = \"-\".concat(parentLeft + parentWidth, \"px -\").concat(parentElement.style.top);\n this.container.style.left = \"\".concat(parentLeft + parentWidth, \"px\");\n this.container.appendChild(popup.render());\n return this.container;\n }\n }\n class PopupElement {\n constructor(parameters) {\n this.container = parameters.container;\n this.trigger = parameters.trigger;\n this.color = parameters.color;\n this.title = parameters.title;\n this.modificationDate = parameters.modificationDate;\n this.contents = parameters.contents;\n this.hideWrapper = parameters.hideWrapper || false;\n this.pinned = false;\n }\n render() {\n const BACKGROUND_ENLIGHT = 0.7;\n const wrapper = document.createElement(\"div\");\n wrapper.className = \"popupWrapper\";\n this.hideElement = this.hideWrapper ? wrapper : this.container;\n this.hideElement.setAttribute(\"hidden\", true);\n const popup = document.createElement(\"div\");\n popup.className = \"popup\";\n const color = this.color;\n if (color) {\n const r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];\n const g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];\n const b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];\n popup.style.backgroundColor = _util.Util.makeCssRgb(r | 0, g | 0, b | 0);\n }\n const title = document.createElement(\"h1\");\n title.textContent = this.title;\n popup.appendChild(title);\n const dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate);\n if (dateObject) {\n const modificationDate = document.createElement(\"span\");\n modificationDate.textContent = \"{{date}}, {{time}}\";\n modificationDate.dataset.l10nId = \"annotation_date_string\";\n modificationDate.dataset.l10nArgs = JSON.stringify({\n date: dateObject.toLocaleDateString(),\n time: dateObject.toLocaleTimeString()\n });\n popup.appendChild(modificationDate);\n }\n const contents = this._formatContents(this.contents);\n popup.appendChild(contents);\n this.trigger.addEventListener(\"click\", this._toggle.bind(this));\n this.trigger.addEventListener(\"mouseover\", this._show.bind(this, false));\n this.trigger.addEventListener(\"mouseout\", this._hide.bind(this, false));\n popup.addEventListener(\"click\", this._hide.bind(this, true));\n wrapper.appendChild(popup);\n return wrapper;\n }\n _formatContents(contents) {\n const p = document.createElement(\"p\");\n const lines = contents.split(/(?:\\r\\n?|\\n)/);\n for (let i = 0, ii = lines.length; i < ii; ++i) {\n const line = lines[i];\n p.appendChild(document.createTextNode(line));\n if (i < ii - 1) {\n p.appendChild(document.createElement(\"br\"));\n }\n }\n return p;\n }\n _toggle() {\n if (this.pinned) {\n this._hide(true);\n } else {\n this._show(true);\n }\n }\n _show() {\n let pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n if (pin) {\n this.pinned = true;\n }\n if (this.hideElement.hasAttribute(\"hidden\")) {\n this.hideElement.removeAttribute(\"hidden\");\n this.container.style.zIndex += 1;\n }\n }\n _hide() {\n let unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n if (unpin) {\n this.pinned = false;\n }\n if (!this.hideElement.hasAttribute(\"hidden\") && !this.pinned) {\n this.hideElement.setAttribute(\"hidden\", true);\n this.container.style.zIndex -= 1;\n }\n }\n }\n class FreeTextAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n }\n render() {\n this.container.className = \"freeTextAnnotation\";\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n }\n class LineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n }\n render() {\n this.container.className = \"lineAnnotation\";\n const data = this.data;\n const width = data.rect[2] - data.rect[0];\n const height = data.rect[3] - data.rect[1];\n const svg = this.svgFactory.create(width, height);\n const line = this.svgFactory.createElement(\"svg:line\");\n line.setAttribute(\"x1\", data.rect[2] - data.lineCoordinates[0]);\n line.setAttribute(\"y1\", data.rect[3] - data.lineCoordinates[1]);\n line.setAttribute(\"x2\", data.rect[2] - data.lineCoordinates[2]);\n line.setAttribute(\"y2\", data.rect[3] - data.lineCoordinates[3]);\n line.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n line.setAttribute(\"stroke\", \"transparent\");\n svg.appendChild(line);\n this.container.append(svg);\n this._createPopup(this.container, line, data);\n return this.container;\n }\n }\n class SquareAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n }\n render() {\n this.container.className = \"squareAnnotation\";\n const data = this.data;\n const width = data.rect[2] - data.rect[0];\n const height = data.rect[3] - data.rect[1];\n const svg = this.svgFactory.create(width, height);\n const borderWidth = data.borderStyle.width;\n const square = this.svgFactory.createElement(\"svg:rect\");\n square.setAttribute(\"x\", borderWidth / 2);\n square.setAttribute(\"y\", borderWidth / 2);\n square.setAttribute(\"width\", width - borderWidth);\n square.setAttribute(\"height\", height - borderWidth);\n square.setAttribute(\"stroke-width\", borderWidth || 1);\n square.setAttribute(\"stroke\", \"transparent\");\n square.setAttribute(\"fill\", \"none\");\n svg.appendChild(square);\n this.container.append(svg);\n this._createPopup(this.container, square, data);\n return this.container;\n }\n }\n class CircleAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n }\n render() {\n this.container.className = \"circleAnnotation\";\n const data = this.data;\n const width = data.rect[2] - data.rect[0];\n const height = data.rect[3] - data.rect[1];\n const svg = this.svgFactory.create(width, height);\n const borderWidth = data.borderStyle.width;\n const circle = this.svgFactory.createElement(\"svg:ellipse\");\n circle.setAttribute(\"cx\", width / 2);\n circle.setAttribute(\"cy\", height / 2);\n circle.setAttribute(\"rx\", width / 2 - borderWidth / 2);\n circle.setAttribute(\"ry\", height / 2 - borderWidth / 2);\n circle.setAttribute(\"stroke-width\", borderWidth || 1);\n circle.setAttribute(\"stroke\", \"transparent\");\n circle.setAttribute(\"fill\", \"none\");\n svg.appendChild(circle);\n this.container.append(svg);\n this._createPopup(this.container, circle, data);\n return this.container;\n }\n }\n class PolylineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n this.containerClassName = \"polylineAnnotation\";\n this.svgElementName = \"svg:polyline\";\n }\n render() {\n this.container.className = this.containerClassName;\n const data = this.data;\n const width = data.rect[2] - data.rect[0];\n const height = data.rect[3] - data.rect[1];\n const svg = this.svgFactory.create(width, height);\n let points = [];\n for (const coordinate of data.vertices) {\n const x = coordinate.x - data.rect[0];\n const y = data.rect[3] - coordinate.y;\n points.push(x + \",\" + y);\n }\n points = points.join(\" \");\n const polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"none\");\n svg.appendChild(polyline);\n this.container.append(svg);\n this._createPopup(this.container, polyline, data);\n return this.container;\n }\n }\n class PolygonAnnotationElement extends PolylineAnnotationElement {\n constructor(parameters) {\n super(parameters);\n this.containerClassName = \"polygonAnnotation\";\n this.svgElementName = \"svg:polygon\";\n }\n }\n class CaretAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n }\n render() {\n this.container.className = \"caretAnnotation\";\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n }\n class InkAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n this.containerClassName = \"inkAnnotation\";\n this.svgElementName = \"svg:polyline\";\n }\n render() {\n this.container.className = this.containerClassName;\n const data = this.data;\n const width = data.rect[2] - data.rect[0];\n const height = data.rect[3] - data.rect[1];\n const svg = this.svgFactory.create(width, height);\n for (const inkList of data.inkLists) {\n let points = [];\n for (const coordinate of inkList) {\n const x = coordinate.x - data.rect[0];\n const y = data.rect[3] - coordinate.y;\n points.push(\"\".concat(x, \",\").concat(y));\n }\n points = points.join(\" \");\n const polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"none\");\n this._createPopup(this.container, polyline, data);\n svg.appendChild(polyline);\n }\n this.container.append(svg);\n return this.container;\n }\n }\n class HighlightAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n }\n render() {\n this.container.className = \"highlightAnnotation\";\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n }\n class UnderlineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n }\n render() {\n this.container.className = \"underlineAnnotation\";\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n }\n class SquigglyAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n }\n render() {\n this.container.className = \"squigglyAnnotation\";\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n }\n class StrikeOutAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n }\n render() {\n this.container.className = \"strikeoutAnnotation\";\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n }\n class StampAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n }\n render() {\n this.container.className = \"stampAnnotation\";\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n return this.container;\n }\n }\n class FileAttachmentAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, true);\n const {\n filename,\n content\n } = this.data.file;\n this.filename = (0, _display_utils.getFilenameFromUrl)(filename);\n this.content = content;\n if (this.linkService.eventBus) {\n this.linkService.eventBus.dispatch(\"fileattachmentannotation\", {\n source: this,\n id: (0, _util.stringToPDFString)(filename),\n filename,\n content\n });\n }\n }\n render() {\n this.container.className = \"fileAttachmentAnnotation\";\n const trigger = document.createElement(\"div\");\n trigger.style.height = this.container.style.height;\n trigger.style.width = this.container.style.width;\n trigger.addEventListener(\"dblclick\", this._download.bind(this));\n if (!this.data.hasPopup && (this.data.title || this.data.contents)) {\n this._createPopup(this.container, trigger, this.data);\n }\n this.container.appendChild(trigger);\n return this.container;\n }\n _download() {\n if (!this.downloadManager) {\n (0, _util.warn)(\"Download cannot be started due to unavailable download manager\");\n return;\n }\n this.downloadManager.downloadData(this.content, this.filename, \"\");\n }\n }\n class AnnotationLayer {\n static render(parameters) {\n const sortedAnnotations = [],\n popupAnnotations = [];\n for (const data of parameters.annotations) {\n if (!data) {\n continue;\n }\n if (data.annotationType === _util.AnnotationType.POPUP) {\n popupAnnotations.push(data);\n continue;\n }\n sortedAnnotations.push(data);\n }\n if (popupAnnotations.length) {\n sortedAnnotations.push(...popupAnnotations);\n }\n for (const data of sortedAnnotations) {\n const element = AnnotationElementFactory.create({\n data,\n layer: parameters.div,\n page: parameters.page,\n viewport: parameters.viewport,\n linkService: parameters.linkService,\n downloadManager: parameters.downloadManager,\n imageResourcesPath: parameters.imageResourcesPath || \"\",\n renderInteractiveForms: typeof parameters.renderInteractiveForms === \"boolean\" ? parameters.renderInteractiveForms : true,\n svgFactory: new _display_utils.DOMSVGFactory(),\n annotationStorage: parameters.annotationStorage || new _annotation_storage.AnnotationStorage()\n });\n if (element.isRenderable) {\n parameters.div.appendChild(element.render());\n }\n }\n }\n static update(parameters) {\n for (const data of parameters.annotations) {\n const element = parameters.div.querySelector(\"[data-annotation-id=\\\"\".concat(data.id, \"\\\"]\"));\n if (element) {\n element.style.transform = \"matrix(\".concat(parameters.viewport.transform.join(\",\"), \")\");\n }\n }\n parameters.div.removeAttribute(\"hidden\");\n }\n }\n exports.AnnotationLayer = AnnotationLayer;\n\n /***/\n }), ( /* 20 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.renderTextLayer = void 0;\n var _util = __w_pdfjs_require__(2);\n var renderTextLayer = function renderTextLayerClosure() {\n var MAX_TEXT_DIVS_TO_RENDER = 100000;\n var NonWhitespaceRegexp = /\\S/;\n function isAllWhitespace(str) {\n return !NonWhitespaceRegexp.test(str);\n }\n function appendText(task, geom, styles) {\n var textDiv = document.createElement(\"span\");\n var textDivProperties = {\n angle: 0,\n canvasWidth: 0,\n isWhitespace: false,\n originalTransform: null,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n paddingTop: 0,\n scale: 1\n };\n task._textDivs.push(textDiv);\n if (isAllWhitespace(geom.str)) {\n textDivProperties.isWhitespace = true;\n task._textDivProperties.set(textDiv, textDivProperties);\n return;\n }\n var tx = _util.Util.transform(task._viewport.transform, geom.transform);\n var angle = Math.atan2(tx[1], tx[0]);\n var style = styles[geom.fontName];\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n var fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]);\n var fontAscent = fontHeight;\n if (style.ascent) {\n fontAscent = style.ascent * fontAscent;\n } else if (style.descent) {\n fontAscent = (1 + style.descent) * fontAscent;\n }\n let left, top;\n if (angle === 0) {\n left = tx[4];\n top = tx[5] - fontAscent;\n } else {\n left = tx[4] + fontAscent * Math.sin(angle);\n top = tx[5] - fontAscent * Math.cos(angle);\n }\n textDiv.style.left = \"\".concat(left, \"px\");\n textDiv.style.top = \"\".concat(top, \"px\");\n textDiv.style.fontSize = \"\".concat(fontHeight, \"px\");\n textDiv.style.fontFamily = style.fontFamily;\n textDiv.textContent = geom.str;\n if (task._fontInspectorEnabled) {\n textDiv.dataset.fontName = geom.fontName;\n }\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n let shouldScaleText = false;\n if (geom.str.length > 1) {\n shouldScaleText = true;\n } else if (geom.transform[0] !== geom.transform[3]) {\n const absScaleX = Math.abs(geom.transform[0]),\n absScaleY = Math.abs(geom.transform[3]);\n if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) {\n shouldScaleText = true;\n }\n }\n if (shouldScaleText) {\n if (style.vertical) {\n textDivProperties.canvasWidth = geom.height * task._viewport.scale;\n } else {\n textDivProperties.canvasWidth = geom.width * task._viewport.scale;\n }\n }\n task._textDivProperties.set(textDiv, textDivProperties);\n if (task._textContentStream) {\n task._layoutText(textDiv);\n }\n if (task._enhanceTextSelection) {\n var angleCos = 1,\n angleSin = 0;\n if (angle !== 0) {\n angleCos = Math.cos(angle);\n angleSin = Math.sin(angle);\n }\n var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;\n var divHeight = fontHeight;\n var m, b;\n if (angle !== 0) {\n m = [angleCos, angleSin, -angleSin, angleCos, left, top];\n b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m);\n } else {\n b = [left, top, left + divWidth, top + divHeight];\n }\n task._bounds.push({\n left: b[0],\n top: b[1],\n right: b[2],\n bottom: b[3],\n div: textDiv,\n size: [divWidth, divHeight],\n m\n });\n }\n }\n function render(task) {\n if (task._canceled) {\n return;\n }\n var textDivs = task._textDivs;\n var capability = task._capability;\n var textDivsLength = textDivs.length;\n if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n task._renderingDone = true;\n capability.resolve();\n return;\n }\n if (!task._textContentStream) {\n for (var i = 0; i < textDivsLength; i++) {\n task._layoutText(textDivs[i]);\n }\n }\n task._renderingDone = true;\n capability.resolve();\n }\n function findPositiveMin(ts, offset, count) {\n let result = 0;\n for (let i = 0; i < count; i++) {\n const t = ts[offset++];\n if (t > 0) {\n result = result ? Math.min(t, result) : t;\n }\n }\n return result;\n }\n function expand(task) {\n var bounds = task._bounds;\n var viewport = task._viewport;\n var expanded = expandBounds(viewport.width, viewport.height, bounds);\n for (var i = 0; i < expanded.length; i++) {\n var div = bounds[i].div;\n var divProperties = task._textDivProperties.get(div);\n if (divProperties.angle === 0) {\n divProperties.paddingLeft = bounds[i].left - expanded[i].left;\n divProperties.paddingTop = bounds[i].top - expanded[i].top;\n divProperties.paddingRight = expanded[i].right - bounds[i].right;\n divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom;\n task._textDivProperties.set(div, divProperties);\n continue;\n }\n var e = expanded[i],\n b = bounds[i];\n var m = b.m,\n c = m[0],\n s = m[1];\n var points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size];\n var ts = new Float64Array(64);\n points.forEach(function (p, j) {\n var t = _util.Util.applyTransform(p, m);\n ts[j + 0] = c && (e.left - t[0]) / c;\n ts[j + 4] = s && (e.top - t[1]) / s;\n ts[j + 8] = c && (e.right - t[0]) / c;\n ts[j + 12] = s && (e.bottom - t[1]) / s;\n ts[j + 16] = s && (e.left - t[0]) / -s;\n ts[j + 20] = c && (e.top - t[1]) / c;\n ts[j + 24] = s && (e.right - t[0]) / -s;\n ts[j + 28] = c && (e.bottom - t[1]) / c;\n ts[j + 32] = c && (e.left - t[0]) / -c;\n ts[j + 36] = s && (e.top - t[1]) / -s;\n ts[j + 40] = c && (e.right - t[0]) / -c;\n ts[j + 44] = s && (e.bottom - t[1]) / -s;\n ts[j + 48] = s && (e.left - t[0]) / s;\n ts[j + 52] = c && (e.top - t[1]) / -c;\n ts[j + 56] = s && (e.right - t[0]) / s;\n ts[j + 60] = c && (e.bottom - t[1]) / -c;\n });\n var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));\n divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale;\n divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale;\n divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale;\n divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale;\n task._textDivProperties.set(div, divProperties);\n }\n }\n function expandBounds(width, height, boxes) {\n var bounds = boxes.map(function (box, i) {\n return {\n x1: box.left,\n y1: box.top,\n x2: box.right,\n y2: box.bottom,\n index: i,\n x1New: undefined,\n x2New: undefined\n };\n });\n expandBoundsLTR(width, bounds);\n var expanded = new Array(boxes.length);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i] = {\n left: b.x1New,\n top: 0,\n right: b.x2New,\n bottom: 0\n };\n });\n boxes.map(function (box, i) {\n var e = expanded[i],\n b = bounds[i];\n b.x1 = box.top;\n b.y1 = width - e.right;\n b.x2 = box.bottom;\n b.y2 = width - e.left;\n b.index = i;\n b.x1New = undefined;\n b.x2New = undefined;\n });\n expandBoundsLTR(height, bounds);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i].top = b.x1New;\n expanded[i].bottom = b.x2New;\n });\n return expanded;\n }\n function expandBoundsLTR(width, bounds) {\n bounds.sort(function (a, b) {\n return a.x1 - b.x1 || a.index - b.index;\n });\n var fakeBoundary = {\n x1: -Infinity,\n y1: -Infinity,\n x2: 0,\n y2: Infinity,\n index: -1,\n x1New: 0,\n x2New: 0\n };\n var horizon = [{\n start: -Infinity,\n end: Infinity,\n boundary: fakeBoundary\n }];\n bounds.forEach(function (boundary) {\n var i = 0;\n while (i < horizon.length && horizon[i].end <= boundary.y1) {\n i++;\n }\n var j = horizon.length - 1;\n while (j >= 0 && horizon[j].start >= boundary.y2) {\n j--;\n }\n var horizonPart, affectedBoundary;\n var q,\n k,\n maxXNew = -Infinity;\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var xNew;\n if (affectedBoundary.x2 > boundary.x1) {\n xNew = affectedBoundary.index > boundary.index ? affectedBoundary.x1New : boundary.x1;\n } else if (affectedBoundary.x2New === undefined) {\n xNew = (affectedBoundary.x2 + boundary.x1) / 2;\n } else {\n xNew = affectedBoundary.x2New;\n }\n if (xNew > maxXNew) {\n maxXNew = xNew;\n }\n }\n boundary.x1New = maxXNew;\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n if (affectedBoundary.x2New === undefined) {\n if (affectedBoundary.x2 > boundary.x1) {\n if (affectedBoundary.index > boundary.index) {\n affectedBoundary.x2New = affectedBoundary.x2;\n }\n } else {\n affectedBoundary.x2New = maxXNew;\n }\n } else if (affectedBoundary.x2New > maxXNew) {\n affectedBoundary.x2New = Math.max(maxXNew, affectedBoundary.x2);\n }\n }\n var changedHorizon = [],\n lastBoundary = null;\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var useBoundary = affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary;\n if (lastBoundary === useBoundary) {\n changedHorizon[changedHorizon.length - 1].end = horizonPart.end;\n } else {\n changedHorizon.push({\n start: horizonPart.start,\n end: horizonPart.end,\n boundary: useBoundary\n });\n lastBoundary = useBoundary;\n }\n }\n if (horizon[i].start < boundary.y1) {\n changedHorizon[0].start = boundary.y1;\n changedHorizon.unshift({\n start: horizon[i].start,\n end: boundary.y1,\n boundary: horizon[i].boundary\n });\n }\n if (boundary.y2 < horizon[j].end) {\n changedHorizon[changedHorizon.length - 1].end = boundary.y2;\n changedHorizon.push({\n start: boundary.y2,\n end: horizon[j].end,\n boundary: horizon[j].boundary\n });\n }\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n if (affectedBoundary.x2New !== undefined) {\n continue;\n }\n var used = false;\n for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) {\n used = horizon[k].boundary === affectedBoundary;\n }\n for (k = j + 1; !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2; k++) {\n used = horizon[k].boundary === affectedBoundary;\n }\n for (k = 0; !used && k < changedHorizon.length; k++) {\n used = changedHorizon[k].boundary === affectedBoundary;\n }\n if (!used) {\n affectedBoundary.x2New = maxXNew;\n }\n }\n Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon));\n });\n horizon.forEach(function (horizonPart) {\n var affectedBoundary = horizonPart.boundary;\n if (affectedBoundary.x2New === undefined) {\n affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);\n }\n });\n }\n function TextLayerRenderTask(_ref22) {\n let {\n textContent,\n textContentStream,\n container,\n viewport,\n textDivs,\n textContentItemsStr,\n enhanceTextSelection\n } = _ref22;\n this._textContent = textContent;\n this._textContentStream = textContentStream;\n this._container = container;\n this._document = container.ownerDocument;\n this._viewport = viewport;\n this._textDivs = textDivs || [];\n this._textContentItemsStr = textContentItemsStr || [];\n this._enhanceTextSelection = !!enhanceTextSelection;\n this._fontInspectorEnabled = !!(globalThis.FontInspector && globalThis.FontInspector.enabled);\n this._reader = null;\n this._layoutTextLastFontSize = null;\n this._layoutTextLastFontFamily = null;\n this._layoutTextCtx = null;\n this._textDivProperties = new WeakMap();\n this._renderingDone = false;\n this._canceled = false;\n this._capability = (0, _util.createPromiseCapability)();\n this._renderTimer = null;\n this._bounds = [];\n this._capability.promise.finally(() => {\n if (this._layoutTextCtx) {\n this._layoutTextCtx.canvas.width = 0;\n this._layoutTextCtx.canvas.height = 0;\n this._layoutTextCtx = null;\n }\n }).catch(() => {});\n }\n TextLayerRenderTask.prototype = {\n get promise() {\n return this._capability.promise;\n },\n cancel: function TextLayer_cancel() {\n this._canceled = true;\n if (this._reader) {\n this._reader.cancel(new _util.AbortException(\"TextLayer task cancelled.\"));\n this._reader = null;\n }\n if (this._renderTimer !== null) {\n clearTimeout(this._renderTimer);\n this._renderTimer = null;\n }\n this._capability.reject(new Error(\"TextLayer task cancelled.\"));\n },\n _processItems(items, styleCache) {\n for (let i = 0, len = items.length; i < len; i++) {\n this._textContentItemsStr.push(items[i].str);\n appendText(this, items[i], styleCache);\n }\n },\n _layoutText(textDiv) {\n const textDivProperties = this._textDivProperties.get(textDiv);\n if (textDivProperties.isWhitespace) {\n return;\n }\n let transform = \"\";\n if (textDivProperties.canvasWidth !== 0) {\n const {\n fontSize,\n fontFamily\n } = textDiv.style;\n if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {\n this._layoutTextCtx.font = \"\".concat(fontSize, \" \").concat(fontFamily);\n this._layoutTextLastFontSize = fontSize;\n this._layoutTextLastFontFamily = fontFamily;\n }\n const {\n width\n } = this._layoutTextCtx.measureText(textDiv.textContent);\n if (width > 0) {\n textDivProperties.scale = textDivProperties.canvasWidth / width;\n transform = \"scaleX(\".concat(textDivProperties.scale, \")\");\n }\n }\n if (textDivProperties.angle !== 0) {\n transform = \"rotate(\".concat(textDivProperties.angle, \"deg) \").concat(transform);\n }\n if (transform.length > 0) {\n if (this._enhanceTextSelection) {\n textDivProperties.originalTransform = transform;\n }\n textDiv.style.transform = transform;\n }\n this._textDivProperties.set(textDiv, textDivProperties);\n this._container.appendChild(textDiv);\n },\n _render: function TextLayer_render(timeout) {\n const capability = (0, _util.createPromiseCapability)();\n let styleCache = Object.create(null);\n const canvas = this._document.createElement(\"canvas\");\n canvas.mozOpaque = true;\n this._layoutTextCtx = canvas.getContext(\"2d\", {\n alpha: false\n });\n if (this._textContent) {\n const textItems = this._textContent.items;\n const textStyles = this._textContent.styles;\n this._processItems(textItems, textStyles);\n capability.resolve();\n } else if (this._textContentStream) {\n const pump = () => {\n this._reader.read().then(_ref23 => {\n let {\n value,\n done\n } = _ref23;\n if (done) {\n capability.resolve();\n return;\n }\n Object.assign(styleCache, value.styles);\n this._processItems(value.items, styleCache);\n pump();\n }, capability.reject);\n };\n this._reader = this._textContentStream.getReader();\n pump();\n } else {\n throw new Error('Neither \"textContent\" nor \"textContentStream\"' + \" parameters specified.\");\n }\n capability.promise.then(() => {\n styleCache = null;\n if (!timeout) {\n render(this);\n } else {\n this._renderTimer = setTimeout(() => {\n render(this);\n this._renderTimer = null;\n }, timeout);\n }\n }, this._capability.reject);\n },\n expandTextDivs: function TextLayer_expandTextDivs(expandDivs) {\n if (!this._enhanceTextSelection || !this._renderingDone) {\n return;\n }\n if (this._bounds !== null) {\n expand(this);\n this._bounds = null;\n }\n const transformBuf = [],\n paddingBuf = [];\n for (var i = 0, ii = this._textDivs.length; i < ii; i++) {\n const div = this._textDivs[i];\n const divProps = this._textDivProperties.get(div);\n if (divProps.isWhitespace) {\n continue;\n }\n if (expandDivs) {\n transformBuf.length = 0;\n paddingBuf.length = 0;\n if (divProps.originalTransform) {\n transformBuf.push(divProps.originalTransform);\n }\n if (divProps.paddingTop > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingTop, \"px\"));\n transformBuf.push(\"translateY(\".concat(-divProps.paddingTop, \"px)\"));\n } else {\n paddingBuf.push(0);\n }\n if (divProps.paddingRight > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingRight / divProps.scale, \"px\"));\n } else {\n paddingBuf.push(0);\n }\n if (divProps.paddingBottom > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingBottom, \"px\"));\n } else {\n paddingBuf.push(0);\n }\n if (divProps.paddingLeft > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingLeft / divProps.scale, \"px\"));\n transformBuf.push(\"translateX(\".concat(-divProps.paddingLeft / divProps.scale, \"px)\"));\n } else {\n paddingBuf.push(0);\n }\n div.style.padding = paddingBuf.join(\" \");\n if (transformBuf.length) {\n div.style.transform = transformBuf.join(\" \");\n }\n } else {\n div.style.padding = null;\n div.style.transform = divProps.originalTransform;\n }\n }\n }\n };\n function renderTextLayer(renderParameters) {\n var task = new TextLayerRenderTask({\n textContent: renderParameters.textContent,\n textContentStream: renderParameters.textContentStream,\n container: renderParameters.container,\n viewport: renderParameters.viewport,\n textDivs: renderParameters.textDivs,\n textContentItemsStr: renderParameters.textContentItemsStr,\n enhanceTextSelection: renderParameters.enhanceTextSelection\n });\n task._render(renderParameters.timeout);\n return task;\n }\n return renderTextLayer;\n }();\n exports.renderTextLayer = renderTextLayer;\n\n /***/\n }), ( /* 21 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.SVGGraphics = void 0;\n var _util = __w_pdfjs_require__(2);\n var _display_utils = __w_pdfjs_require__(1);\n var _is_node = __w_pdfjs_require__(4);\n let SVGGraphics = function () {\n throw new Error(\"Not implemented: SVGGraphics\");\n };\n exports.SVGGraphics = SVGGraphics;\n {\n const SVG_DEFAULTS = {\n fontStyle: \"normal\",\n fontWeight: \"normal\",\n fillColor: \"#000000\"\n };\n const XML_NS = \"http://www.w3.org/XML/1998/namespace\";\n const XLINK_NS = \"http://www.w3.org/1999/xlink\";\n const LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n const LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n const convertImgDataToPng = function () {\n const PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);\n const CHUNK_WRAPPER_SIZE = 12;\n const crcTable = new Int32Array(256);\n for (let i = 0; i < 256; i++) {\n let c = i;\n for (let h = 0; h < 8; h++) {\n if (c & 1) {\n c = 0xedb88320 ^ c >> 1 & 0x7fffffff;\n } else {\n c = c >> 1 & 0x7fffffff;\n }\n }\n crcTable[i] = c;\n }\n function crc32(data, start, end) {\n let crc = -1;\n for (let i = start; i < end; i++) {\n const a = (crc ^ data[i]) & 0xff;\n const b = crcTable[a];\n crc = crc >>> 8 ^ b;\n }\n return crc ^ -1;\n }\n function writePngChunk(type, body, data, offset) {\n let p = offset;\n const len = body.length;\n data[p] = len >> 24 & 0xff;\n data[p + 1] = len >> 16 & 0xff;\n data[p + 2] = len >> 8 & 0xff;\n data[p + 3] = len & 0xff;\n p += 4;\n data[p] = type.charCodeAt(0) & 0xff;\n data[p + 1] = type.charCodeAt(1) & 0xff;\n data[p + 2] = type.charCodeAt(2) & 0xff;\n data[p + 3] = type.charCodeAt(3) & 0xff;\n p += 4;\n data.set(body, p);\n p += body.length;\n const crc = crc32(data, offset + 4, p);\n data[p] = crc >> 24 & 0xff;\n data[p + 1] = crc >> 16 & 0xff;\n data[p + 2] = crc >> 8 & 0xff;\n data[p + 3] = crc & 0xff;\n }\n function adler32(data, start, end) {\n let a = 1;\n let b = 0;\n for (let i = start; i < end; ++i) {\n a = (a + (data[i] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n return b << 16 | a;\n }\n function deflateSync(literals) {\n if (!_is_node.isNodeJS) {\n return deflateSyncUncompressed(literals);\n }\n try {\n let input;\n if (parseInt(process.versions.node) >= 8) {\n input = literals;\n } else {\n input = Buffer.from(literals);\n }\n const output = require(\"zlib\").deflateSync(input, {\n level: 9\n });\n return output instanceof Uint8Array ? output : new Uint8Array(output);\n } catch (e) {\n (0, _util.warn)(\"Not compressing PNG because zlib.deflateSync is unavailable: \" + e);\n }\n return deflateSyncUncompressed(literals);\n }\n function deflateSyncUncompressed(literals) {\n let len = literals.length;\n const maxBlockLength = 0xffff;\n const deflateBlocks = Math.ceil(len / maxBlockLength);\n const idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);\n let pi = 0;\n idat[pi++] = 0x78;\n idat[pi++] = 0x9c;\n let pos = 0;\n while (len > maxBlockLength) {\n idat[pi++] = 0x00;\n idat[pi++] = 0xff;\n idat[pi++] = 0xff;\n idat[pi++] = 0x00;\n idat[pi++] = 0x00;\n idat.set(literals.subarray(pos, pos + maxBlockLength), pi);\n pi += maxBlockLength;\n pos += maxBlockLength;\n len -= maxBlockLength;\n }\n idat[pi++] = 0x01;\n idat[pi++] = len & 0xff;\n idat[pi++] = len >> 8 & 0xff;\n idat[pi++] = ~len & 0xffff & 0xff;\n idat[pi++] = (~len & 0xffff) >> 8 & 0xff;\n idat.set(literals.subarray(pos), pi);\n pi += literals.length - pos;\n const adler = adler32(literals, 0, literals.length);\n idat[pi++] = adler >> 24 & 0xff;\n idat[pi++] = adler >> 16 & 0xff;\n idat[pi++] = adler >> 8 & 0xff;\n idat[pi++] = adler & 0xff;\n return idat;\n }\n function encode(imgData, kind, forceDataSchema, isMask) {\n const width = imgData.width;\n const height = imgData.height;\n let bitDepth, colorType, lineSize;\n const bytes = imgData.data;\n switch (kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n colorType = 0;\n bitDepth = 1;\n lineSize = width + 7 >> 3;\n break;\n case _util.ImageKind.RGB_24BPP:\n colorType = 2;\n bitDepth = 8;\n lineSize = width * 3;\n break;\n case _util.ImageKind.RGBA_32BPP:\n colorType = 6;\n bitDepth = 8;\n lineSize = width * 4;\n break;\n default:\n throw new Error(\"invalid format\");\n }\n const literals = new Uint8Array((1 + lineSize) * height);\n let offsetLiterals = 0,\n offsetBytes = 0;\n for (let y = 0; y < height; ++y) {\n literals[offsetLiterals++] = 0;\n literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);\n offsetBytes += lineSize;\n offsetLiterals += lineSize;\n }\n if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {\n offsetLiterals = 0;\n for (let y = 0; y < height; y++) {\n offsetLiterals++;\n for (let i = 0; i < lineSize; i++) {\n literals[offsetLiterals++] ^= 0xff;\n }\n }\n }\n const ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]);\n const idat = deflateSync(literals);\n const pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;\n const data = new Uint8Array(pngLength);\n let offset = 0;\n data.set(PNG_HEADER, offset);\n offset += PNG_HEADER.length;\n writePngChunk(\"IHDR\", ihdr, data, offset);\n offset += CHUNK_WRAPPER_SIZE + ihdr.length;\n writePngChunk(\"IDATA\", idat, data, offset);\n offset += CHUNK_WRAPPER_SIZE + idat.length;\n writePngChunk(\"IEND\", new Uint8Array(0), data, offset);\n return (0, _util.createObjectURL)(data, \"image/png\", forceDataSchema);\n }\n return function convertImgDataToPng(imgData, forceDataSchema, isMask) {\n const kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;\n return encode(imgData, kind, forceDataSchema, isMask);\n };\n }();\n class SVGExtraState {\n constructor() {\n this.fontSizeScale = 1;\n this.fontWeight = SVG_DEFAULTS.fontWeight;\n this.fontSize = 0;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textMatrixScale = 1;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRise = 0;\n this.fillColor = SVG_DEFAULTS.fillColor;\n this.strokeColor = \"#000000\";\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.lineJoin = \"\";\n this.lineCap = \"\";\n this.miterLimit = 0;\n this.dashArray = [];\n this.dashPhase = 0;\n this.dependencies = [];\n this.activeClipUrl = null;\n this.clipGroup = null;\n this.maskId = \"\";\n }\n clone() {\n return Object.create(this);\n }\n setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n }\n function opListToTree(opList) {\n let opTree = [];\n const tmp = [];\n for (const opListElement of opList) {\n if (opListElement.fn === \"save\") {\n opTree.push({\n fnId: 92,\n fn: \"group\",\n items: []\n });\n tmp.push(opTree);\n opTree = opTree[opTree.length - 1].items;\n continue;\n }\n if (opListElement.fn === \"restore\") {\n opTree = tmp.pop();\n } else {\n opTree.push(opListElement);\n }\n }\n return opTree;\n }\n function pf(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n const s = value.toFixed(10);\n let i = s.length - 1;\n if (s[i] !== \"0\") {\n return s;\n }\n do {\n i--;\n } while (s[i] === \"0\");\n return s.substring(0, s[i] === \".\" ? i : i + 1);\n }\n function pm(m) {\n if (m[4] === 0 && m[5] === 0) {\n if (m[1] === 0 && m[2] === 0) {\n if (m[0] === 1 && m[3] === 1) {\n return \"\";\n }\n return \"scale(\".concat(pf(m[0]), \" \").concat(pf(m[3]), \")\");\n }\n if (m[0] === m[3] && m[1] === -m[2]) {\n const a = Math.acos(m[0]) * 180 / Math.PI;\n return \"rotate(\".concat(pf(a), \")\");\n }\n } else {\n if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return \"translate(\".concat(pf(m[4]), \" \").concat(pf(m[5]), \")\");\n }\n }\n return \"matrix(\".concat(pf(m[0]), \" \").concat(pf(m[1]), \" \").concat(pf(m[2]), \" \").concat(pf(m[3]), \" \").concat(pf(m[4]), \" \") + \"\".concat(pf(m[5]), \")\");\n }\n let clipCount = 0;\n let maskCount = 0;\n let shadingCount = 0;\n exports.SVGGraphics = SVGGraphics = class SVGGraphics {\n constructor(commonObjs, objs) {\n let forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n this.svgFactory = new _display_utils.DOMSVGFactory();\n this.current = new SVGExtraState();\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.transformStack = [];\n this.extraStack = [];\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.embedFonts = false;\n this.embeddedFonts = Object.create(null);\n this.cssStyle = null;\n this.forceDataSchema = !!forceDataSchema;\n this._operatorIdMapping = [];\n for (const op in _util.OPS) {\n this._operatorIdMapping[_util.OPS[op]] = op;\n }\n }\n save() {\n this.transformStack.push(this.transformMatrix);\n const old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n }\n restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n }\n group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n }\n loadDependencies(operatorList) {\n const fnArray = operatorList.fnArray;\n const argsArray = operatorList.argsArray;\n for (let i = 0, ii = fnArray.length; i < ii; i++) {\n if (fnArray[i] !== _util.OPS.dependency) {\n continue;\n }\n for (const obj of argsArray[i]) {\n const objsPool = obj.startsWith(\"g_\") ? this.commonObjs : this.objs;\n const promise = new Promise(resolve => {\n objsPool.get(obj, resolve);\n });\n this.current.dependencies.push(promise);\n }\n }\n return Promise.all(this.current.dependencies);\n }\n transform(a, b, c, d, e, f) {\n const transformMatrix = [a, b, c, d, e, f];\n this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);\n this.tgrp = null;\n }\n getSVG(operatorList, viewport) {\n this.viewport = viewport;\n const svgElement = this._initialize(viewport);\n return this.loadDependencies(operatorList).then(() => {\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.executeOpTree(this.convertOpList(operatorList));\n return svgElement;\n });\n }\n convertOpList(operatorList) {\n const operatorIdMapping = this._operatorIdMapping;\n const argsArray = operatorList.argsArray;\n const fnArray = operatorList.fnArray;\n const opList = [];\n for (let i = 0, ii = fnArray.length; i < ii; i++) {\n const fnId = fnArray[i];\n opList.push({\n fnId,\n fn: operatorIdMapping[fnId],\n args: argsArray[i]\n });\n }\n return opListToTree(opList);\n }\n executeOpTree(opTree) {\n for (const opTreeElement of opTree) {\n const fn = opTreeElement.fn;\n const fnId = opTreeElement.fnId;\n const args = opTreeElement.args;\n switch (fnId | 0) {\n case _util.OPS.beginText:\n this.beginText();\n break;\n case _util.OPS.dependency:\n break;\n case _util.OPS.setLeading:\n this.setLeading(args);\n break;\n case _util.OPS.setLeadingMoveText:\n this.setLeadingMoveText(args[0], args[1]);\n break;\n case _util.OPS.setFont:\n this.setFont(args);\n break;\n case _util.OPS.showText:\n this.showText(args[0]);\n break;\n case _util.OPS.showSpacedText:\n this.showText(args[0]);\n break;\n case _util.OPS.endText:\n this.endText();\n break;\n case _util.OPS.moveText:\n this.moveText(args[0], args[1]);\n break;\n case _util.OPS.setCharSpacing:\n this.setCharSpacing(args[0]);\n break;\n case _util.OPS.setWordSpacing:\n this.setWordSpacing(args[0]);\n break;\n case _util.OPS.setHScale:\n this.setHScale(args[0]);\n break;\n case _util.OPS.setTextMatrix:\n this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n case _util.OPS.setTextRise:\n this.setTextRise(args[0]);\n break;\n case _util.OPS.setTextRenderingMode:\n this.setTextRenderingMode(args[0]);\n break;\n case _util.OPS.setLineWidth:\n this.setLineWidth(args[0]);\n break;\n case _util.OPS.setLineJoin:\n this.setLineJoin(args[0]);\n break;\n case _util.OPS.setLineCap:\n this.setLineCap(args[0]);\n break;\n case _util.OPS.setMiterLimit:\n this.setMiterLimit(args[0]);\n break;\n case _util.OPS.setFillRGBColor:\n this.setFillRGBColor(args[0], args[1], args[2]);\n break;\n case _util.OPS.setStrokeRGBColor:\n this.setStrokeRGBColor(args[0], args[1], args[2]);\n break;\n case _util.OPS.setStrokeColorN:\n this.setStrokeColorN(args);\n break;\n case _util.OPS.setFillColorN:\n this.setFillColorN(args);\n break;\n case _util.OPS.shadingFill:\n this.shadingFill(args[0]);\n break;\n case _util.OPS.setDash:\n this.setDash(args[0], args[1]);\n break;\n case _util.OPS.setRenderingIntent:\n this.setRenderingIntent(args[0]);\n break;\n case _util.OPS.setFlatness:\n this.setFlatness(args[0]);\n break;\n case _util.OPS.setGState:\n this.setGState(args[0]);\n break;\n case _util.OPS.fill:\n this.fill();\n break;\n case _util.OPS.eoFill:\n this.eoFill();\n break;\n case _util.OPS.stroke:\n this.stroke();\n break;\n case _util.OPS.fillStroke:\n this.fillStroke();\n break;\n case _util.OPS.eoFillStroke:\n this.eoFillStroke();\n break;\n case _util.OPS.clip:\n this.clip(\"nonzero\");\n break;\n case _util.OPS.eoClip:\n this.clip(\"evenodd\");\n break;\n case _util.OPS.paintSolidColorImageMask:\n this.paintSolidColorImageMask();\n break;\n case _util.OPS.paintImageXObject:\n this.paintImageXObject(args[0]);\n break;\n case _util.OPS.paintInlineImageXObject:\n this.paintInlineImageXObject(args[0]);\n break;\n case _util.OPS.paintImageMaskXObject:\n this.paintImageMaskXObject(args[0]);\n break;\n case _util.OPS.paintFormXObjectBegin:\n this.paintFormXObjectBegin(args[0], args[1]);\n break;\n case _util.OPS.paintFormXObjectEnd:\n this.paintFormXObjectEnd();\n break;\n case _util.OPS.closePath:\n this.closePath();\n break;\n case _util.OPS.closeStroke:\n this.closeStroke();\n break;\n case _util.OPS.closeFillStroke:\n this.closeFillStroke();\n break;\n case _util.OPS.closeEOFillStroke:\n this.closeEOFillStroke();\n break;\n case _util.OPS.nextLine:\n this.nextLine();\n break;\n case _util.OPS.transform:\n this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n case _util.OPS.constructPath:\n this.constructPath(args[0], args[1]);\n break;\n case _util.OPS.endPath:\n this.endPath();\n break;\n case 92:\n this.group(opTreeElement.items);\n break;\n default:\n (0, _util.warn)(\"Unimplemented operator \".concat(fn));\n break;\n }\n }\n }\n setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n }\n setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n }\n nextLine() {\n this.moveText(0, this.current.leading);\n }\n setTextMatrix(a, b, c, d, e, f) {\n const current = this.current;\n current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];\n current.textMatrixScale = Math.sqrt(a * a + b * b);\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", \"\".concat(pf(current.fontSize), \"px\"));\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtElement.appendChild(current.tspan);\n }\n beginText() {\n const current = this.current;\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.textMatrix = _util.IDENTITY_MATRIX;\n current.lineMatrix = _util.IDENTITY_MATRIX;\n current.textMatrixScale = 1;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtgrp = this.svgFactory.createElement(\"svg:g\");\n current.xcoords = [];\n current.ycoords = [];\n }\n moveText(x, y) {\n const current = this.current;\n current.x = current.lineX += x;\n current.y = current.lineY += y;\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", \"\".concat(pf(current.fontSize), \"px\"));\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n showText(glyphs) {\n const current = this.current;\n const font = current.font;\n const fontSize = current.fontSize;\n if (fontSize === 0) {\n return;\n }\n const fontSizeScale = current.fontSizeScale;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const fontDirection = current.fontDirection;\n const textHScale = current.textHScale * fontDirection;\n const vertical = font.vertical;\n const spacingDir = vertical ? 1 : -1;\n const defaultVMetrics = font.defaultVMetrics;\n const widthAdvanceScale = fontSize * current.fontMatrix[0];\n let x = 0;\n for (const glyph of glyphs) {\n if (glyph === null) {\n x += fontDirection * wordSpacing;\n continue;\n } else if ((0, _util.isNum)(glyph)) {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const character = glyph.fontChar;\n let scaledX, scaledY;\n let width = glyph.width;\n if (vertical) {\n let vx;\n const vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n const vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n if (glyph.isInFont || font.missingFile) {\n current.xcoords.push(current.x + scaledX);\n if (vertical) {\n current.ycoords.push(-current.y + scaledY);\n }\n current.tspan.textContent += character;\n } else {}\n let charWidth;\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n x += charWidth;\n }\n current.tspan.setAttributeNS(null, \"x\", current.xcoords.map(pf).join(\" \"));\n if (vertical) {\n current.tspan.setAttributeNS(null, \"y\", current.ycoords.map(pf).join(\" \"));\n } else {\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", \"\".concat(pf(current.fontSize), \"px\"));\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, \"font-style\", current.fontStyle);\n }\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, \"font-weight\", current.fontWeight);\n }\n const fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n current.tspan.setAttributeNS(null, \"fill\", current.fillColor);\n }\n if (current.fillAlpha < 1) {\n current.tspan.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n }\n } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {\n current.tspan.setAttributeNS(null, \"fill\", \"transparent\");\n } else {\n current.tspan.setAttributeNS(null, \"fill\", \"none\");\n }\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n const lineWidthScale = 1 / (current.textMatrixScale || 1);\n this._setStrokeAttributes(current.tspan, lineWidthScale);\n }\n let textMatrix = current.textMatrix;\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\n current.txtElement.setAttributeNS(null, \"transform\", \"\".concat(pm(textMatrix), \" scale(\").concat(pf(textHScale), \", -1)\"));\n current.txtElement.setAttributeNS(XML_NS, \"xml:space\", \"preserve\");\n current.txtElement.appendChild(current.tspan);\n current.txtgrp.appendChild(current.txtElement);\n this._ensureTransformGroup().appendChild(current.txtElement);\n }\n setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n addFontStyle(fontObj) {\n if (!fontObj.data) {\n throw new Error(\"addFontStyle: No font data available, \" + 'ensure that the \"fontExtraProperties\" API parameter is set.');\n }\n if (!this.cssStyle) {\n this.cssStyle = this.svgFactory.createElement(\"svg:style\");\n this.cssStyle.setAttributeNS(null, \"type\", \"text/css\");\n this.defs.appendChild(this.cssStyle);\n }\n const url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema);\n this.cssStyle.textContent += \"@font-face { font-family: \\\"\".concat(fontObj.loadedName, \"\\\";\") + \" src: url(\".concat(url, \"); }\\n\");\n }\n setFont(details) {\n const current = this.current;\n const fontObj = this.commonObjs.get(details[0]);\n let size = details[1];\n current.font = fontObj;\n if (this.embedFonts && !fontObj.missingFile && !this.embeddedFonts[fontObj.loadedName]) {\n this.addFontStyle(fontObj);\n this.embeddedFonts[fontObj.loadedName] = fontObj;\n }\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n let bold = \"normal\";\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n const italic = fontObj.italic ? \"italic\" : \"normal\";\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n current.fontSize = size;\n current.fontFamily = fontObj.loadedName;\n current.fontWeight = bold;\n current.fontStyle = italic;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.xcoords = [];\n current.ycoords = [];\n }\n endText() {\n const current = this.current;\n if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement && current.txtElement.hasChildNodes()) {\n current.element = current.txtElement;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n setLineWidth(width) {\n if (width > 0) {\n this.current.lineWidth = width;\n }\n }\n setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n }\n setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n }\n setMiterLimit(limit) {\n this.current.miterLimit = limit;\n }\n setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n }\n setStrokeRGBColor(r, g, b) {\n this.current.strokeColor = _util.Util.makeCssRgb(r, g, b);\n }\n setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n }\n setFillRGBColor(r, g, b) {\n this.current.fillColor = _util.Util.makeCssRgb(r, g, b);\n this.current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n this.current.xcoords = [];\n this.current.ycoords = [];\n }\n setStrokeColorN(args) {\n this.current.strokeColor = this._makeColorN_Pattern(args);\n }\n setFillColorN(args) {\n this.current.fillColor = this._makeColorN_Pattern(args);\n }\n shadingFill(args) {\n const width = this.viewport.width;\n const height = this.viewport.height;\n const inv = _util.Util.inverseTransform(this.transformMatrix);\n const bl = _util.Util.applyTransform([0, 0], inv);\n const br = _util.Util.applyTransform([0, height], inv);\n const ul = _util.Util.applyTransform([width, 0], inv);\n const ur = _util.Util.applyTransform([width, height], inv);\n const x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n const y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n const x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n const y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", x0);\n rect.setAttributeNS(null, \"y\", y0);\n rect.setAttributeNS(null, \"width\", x1 - x0);\n rect.setAttributeNS(null, \"height\", y1 - y0);\n rect.setAttributeNS(null, \"fill\", this._makeShadingPattern(args));\n if (this.current.fillAlpha < 1) {\n rect.setAttributeNS(null, \"fill-opacity\", this.current.fillAlpha);\n }\n this._ensureTransformGroup().appendChild(rect);\n }\n _makeColorN_Pattern(args) {\n if (args[0] === \"TilingPattern\") {\n return this._makeTilingPattern(args);\n }\n return this._makeShadingPattern(args);\n }\n _makeTilingPattern(args) {\n const color = args[1];\n const operatorList = args[2];\n const matrix = args[3] || _util.IDENTITY_MATRIX;\n const [x0, y0, x1, y1] = args[4];\n const xstep = args[5];\n const ystep = args[6];\n const paintType = args[7];\n const tilingId = \"shading\".concat(shadingCount++);\n const [tx0, ty0] = _util.Util.applyTransform([x0, y0], matrix);\n const [tx1, ty1] = _util.Util.applyTransform([x1, y1], matrix);\n const [xscale, yscale] = _util.Util.singularValueDecompose2dScale(matrix);\n const txstep = xstep * xscale;\n const tystep = ystep * yscale;\n const tiling = this.svgFactory.createElement(\"svg:pattern\");\n tiling.setAttributeNS(null, \"id\", tilingId);\n tiling.setAttributeNS(null, \"patternUnits\", \"userSpaceOnUse\");\n tiling.setAttributeNS(null, \"width\", txstep);\n tiling.setAttributeNS(null, \"height\", tystep);\n tiling.setAttributeNS(null, \"x\", \"\".concat(tx0));\n tiling.setAttributeNS(null, \"y\", \"\".concat(ty0));\n const svg = this.svg;\n const transformMatrix = this.transformMatrix;\n const fillColor = this.current.fillColor;\n const strokeColor = this.current.strokeColor;\n const bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);\n this.svg = bbox;\n this.transformMatrix = matrix;\n if (paintType === 2) {\n const cssColor = _util.Util.makeCssRgb(...color);\n this.current.fillColor = cssColor;\n this.current.strokeColor = cssColor;\n }\n this.executeOpTree(this.convertOpList(operatorList));\n this.svg = svg;\n this.transformMatrix = transformMatrix;\n this.current.fillColor = fillColor;\n this.current.strokeColor = strokeColor;\n tiling.appendChild(bbox.childNodes[0]);\n this.defs.appendChild(tiling);\n return \"url(#\".concat(tilingId, \")\");\n }\n _makeShadingPattern(args) {\n switch (args[0]) {\n case \"RadialAxial\":\n const shadingId = \"shading\".concat(shadingCount++);\n const colorStops = args[3];\n let gradient;\n switch (args[1]) {\n case \"axial\":\n const point0 = args[4];\n const point1 = args[5];\n gradient = this.svgFactory.createElement(\"svg:linearGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"x1\", point0[0]);\n gradient.setAttributeNS(null, \"y1\", point0[1]);\n gradient.setAttributeNS(null, \"x2\", point1[0]);\n gradient.setAttributeNS(null, \"y2\", point1[1]);\n break;\n case \"radial\":\n const focalPoint = args[4];\n const circlePoint = args[5];\n const focalRadius = args[6];\n const circleRadius = args[7];\n gradient = this.svgFactory.createElement(\"svg:radialGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"cx\", circlePoint[0]);\n gradient.setAttributeNS(null, \"cy\", circlePoint[1]);\n gradient.setAttributeNS(null, \"r\", circleRadius);\n gradient.setAttributeNS(null, \"fx\", focalPoint[0]);\n gradient.setAttributeNS(null, \"fy\", focalPoint[1]);\n gradient.setAttributeNS(null, \"fr\", focalRadius);\n break;\n default:\n throw new Error(\"Unknown RadialAxial type: \".concat(args[1]));\n }\n for (const colorStop of colorStops) {\n const stop = this.svgFactory.createElement(\"svg:stop\");\n stop.setAttributeNS(null, \"offset\", colorStop[0]);\n stop.setAttributeNS(null, \"stop-color\", colorStop[1]);\n gradient.appendChild(stop);\n }\n this.defs.appendChild(gradient);\n return \"url(#\".concat(shadingId, \")\");\n case \"Mesh\":\n (0, _util.warn)(\"Unimplemented pattern Mesh\");\n return null;\n case \"Dummy\":\n return \"hotpink\";\n default:\n throw new Error(\"Unknown IR type: \".concat(args[0]));\n }\n }\n setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n }\n constructPath(ops, args) {\n const current = this.current;\n let x = current.x,\n y = current.y;\n let d = [];\n let j = 0;\n for (const op of ops) {\n switch (op | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n const width = args[j++];\n const height = args[j++];\n const xw = x + width;\n const yh = y + height;\n d.push(\"M\", pf(x), pf(y), \"L\", pf(xw), pf(y), \"L\", pf(xw), pf(yh), \"L\", pf(x), pf(yh), \"Z\");\n break;\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n d.push(\"M\", pf(x), pf(y));\n break;\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n d.push(\"L\", pf(x), pf(y));\n break;\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));\n j += 6;\n break;\n case _util.OPS.curveTo2:\n d.push(\"C\", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));\n j += 4;\n break;\n case _util.OPS.closePath:\n d.push(\"Z\");\n break;\n }\n }\n d = d.join(\" \");\n if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {\n d = current.path.getAttributeNS(null, \"d\") + d;\n } else {\n current.path = this.svgFactory.createElement(\"svg:path\");\n this._ensureTransformGroup().appendChild(current.path);\n }\n current.path.setAttributeNS(null, \"d\", d);\n current.path.setAttributeNS(null, \"fill\", \"none\");\n current.element = current.path;\n current.setCurrentPoint(x, y);\n }\n endPath() {\n const current = this.current;\n current.path = null;\n if (!this.pendingClip) {\n return;\n }\n if (!current.element) {\n this.pendingClip = null;\n return;\n }\n const clipId = \"clippath\".concat(clipCount++);\n const clipPath = this.svgFactory.createElement(\"svg:clipPath\");\n clipPath.setAttributeNS(null, \"id\", clipId);\n clipPath.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n const clipElement = current.element.cloneNode(true);\n if (this.pendingClip === \"evenodd\") {\n clipElement.setAttributeNS(null, \"clip-rule\", \"evenodd\");\n } else {\n clipElement.setAttributeNS(null, \"clip-rule\", \"nonzero\");\n }\n this.pendingClip = null;\n clipPath.appendChild(clipElement);\n this.defs.appendChild(clipPath);\n if (current.activeClipUrl) {\n current.clipGroup = null;\n this.extraStack.forEach(function (prev) {\n prev.clipGroup = null;\n });\n clipPath.setAttributeNS(null, \"clip-path\", current.activeClipUrl);\n }\n current.activeClipUrl = \"url(#\".concat(clipId, \")\");\n this.tgrp = null;\n }\n clip(type) {\n this.pendingClip = type;\n }\n closePath() {\n const current = this.current;\n if (current.path) {\n const d = \"\".concat(current.path.getAttributeNS(null, \"d\"), \"Z\");\n current.path.setAttributeNS(null, \"d\", d);\n }\n }\n setLeading(leading) {\n this.current.leading = -leading;\n }\n setTextRise(textRise) {\n this.current.textRise = textRise;\n }\n setTextRenderingMode(textRenderingMode) {\n this.current.textRenderingMode = textRenderingMode;\n }\n setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n setRenderingIntent(intent) {}\n setFlatness(flatness) {}\n setGState(states) {\n for (const [key, value] of states) {\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n case \"LC\":\n this.setLineCap(value);\n break;\n case \"LJ\":\n this.setLineJoin(value);\n break;\n case \"ML\":\n this.setMiterLimit(value);\n break;\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n case \"FL\":\n this.setFlatness(value);\n break;\n case \"Font\":\n this.setFont(value);\n break;\n case \"CA\":\n this.setStrokeAlpha(value);\n break;\n case \"ca\":\n this.setFillAlpha(value);\n break;\n default:\n (0, _util.warn)(\"Unimplemented graphic state operator \".concat(key));\n break;\n }\n }\n }\n fill() {\n const current = this.current;\n if (current.element) {\n current.element.setAttributeNS(null, \"fill\", current.fillColor);\n current.element.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n this.endPath();\n }\n }\n stroke() {\n const current = this.current;\n if (current.element) {\n this._setStrokeAttributes(current.element);\n current.element.setAttributeNS(null, \"fill\", \"none\");\n this.endPath();\n }\n }\n _setStrokeAttributes(element) {\n let lineWidthScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n const current = this.current;\n let dashArray = current.dashArray;\n if (lineWidthScale !== 1 && dashArray.length > 0) {\n dashArray = dashArray.map(function (value) {\n return lineWidthScale * value;\n });\n }\n element.setAttributeNS(null, \"stroke\", current.strokeColor);\n element.setAttributeNS(null, \"stroke-opacity\", current.strokeAlpha);\n element.setAttributeNS(null, \"stroke-miterlimit\", pf(current.miterLimit));\n element.setAttributeNS(null, \"stroke-linecap\", current.lineCap);\n element.setAttributeNS(null, \"stroke-linejoin\", current.lineJoin);\n element.setAttributeNS(null, \"stroke-width\", pf(lineWidthScale * current.lineWidth) + \"px\");\n element.setAttributeNS(null, \"stroke-dasharray\", dashArray.map(pf).join(\" \"));\n element.setAttributeNS(null, \"stroke-dashoffset\", pf(lineWidthScale * current.dashPhase) + \"px\");\n }\n eoFill() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n this.fill();\n }\n fillStroke() {\n this.stroke();\n this.fill();\n }\n eoFillStroke() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n this.fillStroke();\n }\n closeStroke() {\n this.closePath();\n this.stroke();\n }\n closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n }\n paintSolidColorImageMask() {\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", \"1px\");\n rect.setAttributeNS(null, \"height\", \"1px\");\n rect.setAttributeNS(null, \"fill\", this.current.fillColor);\n this._ensureTransformGroup().appendChild(rect);\n }\n paintImageXObject(objId) {\n const imgData = objId.startsWith(\"g_\") ? this.commonObjs.get(objId) : this.objs.get(objId);\n if (!imgData) {\n (0, _util.warn)(\"Dependent image with object ID \".concat(objId, \" is not ready yet\"));\n return;\n }\n this.paintInlineImageXObject(imgData);\n }\n paintInlineImageXObject(imgData, mask) {\n const width = imgData.width;\n const height = imgData.height;\n const imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);\n const cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", \"0\");\n cliprect.setAttributeNS(null, \"y\", \"0\");\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n const imgEl = this.svgFactory.createElement(\"svg:image\");\n imgEl.setAttributeNS(XLINK_NS, \"xlink:href\", imgSrc);\n imgEl.setAttributeNS(null, \"x\", \"0\");\n imgEl.setAttributeNS(null, \"y\", pf(-height));\n imgEl.setAttributeNS(null, \"width\", pf(width) + \"px\");\n imgEl.setAttributeNS(null, \"height\", pf(height) + \"px\");\n imgEl.setAttributeNS(null, \"transform\", \"scale(\".concat(pf(1 / width), \" \").concat(pf(-1 / height), \")\"));\n if (mask) {\n mask.appendChild(imgEl);\n } else {\n this._ensureTransformGroup().appendChild(imgEl);\n }\n }\n paintImageMaskXObject(imgData) {\n const current = this.current;\n const width = imgData.width;\n const height = imgData.height;\n const fillColor = current.fillColor;\n current.maskId = \"mask\".concat(maskCount++);\n const mask = this.svgFactory.createElement(\"svg:mask\");\n mask.setAttributeNS(null, \"id\", current.maskId);\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", pf(width));\n rect.setAttributeNS(null, \"height\", pf(height));\n rect.setAttributeNS(null, \"fill\", fillColor);\n rect.setAttributeNS(null, \"mask\", \"url(#\".concat(current.maskId, \")\"));\n this.defs.appendChild(mask);\n this._ensureTransformGroup().appendChild(rect);\n this.paintInlineImageXObject(imgData, mask);\n }\n paintFormXObjectBegin(matrix, bbox) {\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);\n }\n if (bbox) {\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n const cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", bbox[0]);\n cliprect.setAttributeNS(null, \"y\", bbox[1]);\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n paintFormXObjectEnd() {}\n _initialize(viewport) {\n const svg = this.svgFactory.create(viewport.width, viewport.height);\n const definitions = this.svgFactory.createElement(\"svg:defs\");\n svg.appendChild(definitions);\n this.defs = definitions;\n const rootGroup = this.svgFactory.createElement(\"svg:g\");\n rootGroup.setAttributeNS(null, \"transform\", pm(viewport.transform));\n svg.appendChild(rootGroup);\n this.svg = rootGroup;\n return svg;\n }\n _ensureClipGroup() {\n if (!this.current.clipGroup) {\n const clipGroup = this.svgFactory.createElement(\"svg:g\");\n clipGroup.setAttributeNS(null, \"clip-path\", this.current.activeClipUrl);\n this.svg.appendChild(clipGroup);\n this.current.clipGroup = clipGroup;\n }\n return this.current.clipGroup;\n }\n _ensureTransformGroup() {\n if (!this.tgrp) {\n this.tgrp = this.svgFactory.createElement(\"svg:g\");\n this.tgrp.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n if (this.current.activeClipUrl) {\n this._ensureClipGroup().appendChild(this.tgrp);\n } else {\n this.svg.appendChild(this.tgrp);\n }\n }\n return this.tgrp;\n }\n };\n }\n\n /***/\n }), ( /* 22 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PDFNodeStream = void 0;\n var _util = __w_pdfjs_require__(2);\n var _network_utils = __w_pdfjs_require__(23);\n ;\n const fs = require(\"fs\");\n const http = require(\"http\");\n const https = require(\"https\");\n const url = require(\"url\");\n const fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\n function parseUrl(sourceUrl) {\n const parsedUrl = url.parse(sourceUrl);\n if (parsedUrl.protocol === \"file:\" || parsedUrl.host) {\n return parsedUrl;\n }\n if (/^[a-z]:[/\\\\]/i.test(sourceUrl)) {\n return url.parse(\"file:///\".concat(sourceUrl));\n }\n if (!parsedUrl.host) {\n parsedUrl.protocol = \"file:\";\n }\n return parsedUrl;\n }\n class PDFNodeStream {\n constructor(source) {\n this.source = source;\n this.url = parseUrl(source.url);\n this.isHttp = this.url.protocol === \"http:\" || this.url.protocol === \"https:\";\n this.isFsUrl = this.url.protocol === \"file:\";\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n get _progressiveDataLength() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFNodeStream.getFullReader can only be called once.\");\n this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n return this._fullRequestReader;\n }\n getRangeReader(start, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n const rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n this._rangeRequestReaders.push(rangeReader);\n return rangeReader;\n }\n cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n const readers = this._rangeRequestReaders.slice(0);\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }\n exports.PDFNodeStream = PDFNodeStream;\n class BaseFullReader {\n constructor(stream) {\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n const source = stream.source;\n this._contentLength = source.length;\n this._loaded = 0;\n this._filename = null;\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._headersCapability = (0, _util.createPromiseCapability)();\n }\n get headersReady() {\n return this._headersCapability.promise;\n }\n get filename() {\n return this._filename;\n }\n get contentLength() {\n return this._contentLength;\n }\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n async read() {\n await this._readCapability.promise;\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n if (this._storedError) {\n throw this._storedError;\n }\n const chunk = this._readableStream.read();\n if (chunk === null) {\n this._readCapability = (0, _util.createPromiseCapability)();\n return this.read();\n }\n this._loaded += chunk.length;\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n const buffer = new Uint8Array(chunk).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n return;\n }\n this._readableStream.destroy(reason);\n }\n _error(reason) {\n this._storedError = reason;\n this._readCapability.resolve();\n }\n _setReadableStream(readableStream) {\n this._readableStream = readableStream;\n readableStream.on(\"readable\", () => {\n this._readCapability.resolve();\n });\n readableStream.on(\"end\", () => {\n readableStream.destroy();\n this._done = true;\n this._readCapability.resolve();\n });\n readableStream.on(\"error\", reason => {\n this._error(reason);\n });\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this._error(new _util.AbortException(\"streaming is disabled\"));\n }\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n }\n class BaseRangeReader {\n constructor(stream) {\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n this._loaded = 0;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n const source = stream.source;\n this._isStreamingSupported = !source.disableStream;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n async read() {\n await this._readCapability.promise;\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n if (this._storedError) {\n throw this._storedError;\n }\n const chunk = this._readableStream.read();\n if (chunk === null) {\n this._readCapability = (0, _util.createPromiseCapability)();\n return this.read();\n }\n this._loaded += chunk.length;\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n const buffer = new Uint8Array(chunk).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n return;\n }\n this._readableStream.destroy(reason);\n }\n _error(reason) {\n this._storedError = reason;\n this._readCapability.resolve();\n }\n _setReadableStream(readableStream) {\n this._readableStream = readableStream;\n readableStream.on(\"readable\", () => {\n this._readCapability.resolve();\n });\n readableStream.on(\"end\", () => {\n readableStream.destroy();\n this._done = true;\n this._readCapability.resolve();\n });\n readableStream.on(\"error\", reason => {\n this._error(reason);\n });\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n }\n function createRequestOptions(parsedUrl, headers) {\n return {\n protocol: parsedUrl.protocol,\n auth: parsedUrl.auth,\n host: parsedUrl.hostname,\n port: parsedUrl.port,\n path: parsedUrl.path,\n method: \"GET\",\n headers\n };\n }\n class PDFNodeStreamFullReader extends BaseFullReader {\n constructor(stream) {\n super(stream);\n const handleResponse = response => {\n if (response.statusCode === 404) {\n const error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(this._url, \"\\\".\"));\n this._storedError = error;\n this._headersCapability.reject(error);\n return;\n }\n this._headersCapability.resolve();\n this._setReadableStream(response);\n const getResponseHeader = name => {\n return this._readableStream.headers[name.toLowerCase()];\n };\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: stream.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n this._isRangeSupported = allowRangeRequests;\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n };\n this._request = null;\n if (this._url.protocol === \"http:\") {\n this._request = http.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse);\n } else {\n this._request = https.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse);\n }\n this._request.on(\"error\", reason => {\n this._storedError = reason;\n this._headersCapability.reject(reason);\n });\n this._request.end();\n }\n }\n class PDFNodeStreamRangeReader extends BaseRangeReader {\n constructor(stream, start, end) {\n super(stream);\n this._httpHeaders = {};\n for (const property in stream.httpHeaders) {\n const value = stream.httpHeaders[property];\n if (typeof value === \"undefined\") {\n continue;\n }\n this._httpHeaders[property] = value;\n }\n this._httpHeaders.Range = \"bytes=\".concat(start, \"-\").concat(end - 1);\n const handleResponse = response => {\n if (response.statusCode === 404) {\n const error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(this._url, \"\\\".\"));\n this._storedError = error;\n return;\n }\n this._setReadableStream(response);\n };\n this._request = null;\n if (this._url.protocol === \"http:\") {\n this._request = http.request(createRequestOptions(this._url, this._httpHeaders), handleResponse);\n } else {\n this._request = https.request(createRequestOptions(this._url, this._httpHeaders), handleResponse);\n }\n this._request.on(\"error\", reason => {\n this._storedError = reason;\n });\n this._request.end();\n }\n }\n class PDFNodeStreamFsFullReader extends BaseFullReader {\n constructor(stream) {\n super(stream);\n let path = decodeURIComponent(this._url.path);\n if (fileUriRegex.test(this._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n fs.lstat(path, (error, stat) => {\n if (error) {\n if (error.code === \"ENOENT\") {\n error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(path, \"\\\".\"));\n }\n this._storedError = error;\n this._headersCapability.reject(error);\n return;\n }\n this._contentLength = stat.size;\n this._setReadableStream(fs.createReadStream(path));\n this._headersCapability.resolve();\n });\n }\n }\n class PDFNodeStreamFsRangeReader extends BaseRangeReader {\n constructor(stream, start, end) {\n super(stream);\n let path = decodeURIComponent(this._url.path);\n if (fileUriRegex.test(this._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n this._setReadableStream(fs.createReadStream(path, {\n start,\n end: end - 1\n }));\n }\n }\n\n /***/\n }), ( /* 23 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.createResponseStatusError = createResponseStatusError;\n exports.extractFilenameFromHeader = extractFilenameFromHeader;\n exports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;\n exports.validateResponseStatus = validateResponseStatus;\n var _util = __w_pdfjs_require__(2);\n var _content_disposition = __w_pdfjs_require__(24);\n function validateRangeRequestCapabilities(_ref24) {\n let {\n getResponseHeader,\n isHttp,\n rangeChunkSize,\n disableRange\n } = _ref24;\n (0, _util.assert)(rangeChunkSize > 0, \"Range chunk size must be larger than zero\");\n const returnValues = {\n allowRangeRequests: false,\n suggestedLength: undefined\n };\n const length = parseInt(getResponseHeader(\"Content-Length\"), 10);\n if (!Number.isInteger(length)) {\n return returnValues;\n }\n returnValues.suggestedLength = length;\n if (length <= 2 * rangeChunkSize) {\n return returnValues;\n }\n if (disableRange || !isHttp) {\n return returnValues;\n }\n if (getResponseHeader(\"Accept-Ranges\") !== \"bytes\") {\n return returnValues;\n }\n const contentEncoding = getResponseHeader(\"Content-Encoding\") || \"identity\";\n if (contentEncoding !== \"identity\") {\n return returnValues;\n }\n returnValues.allowRangeRequests = true;\n return returnValues;\n }\n function extractFilenameFromHeader(getResponseHeader) {\n const contentDisposition = getResponseHeader(\"Content-Disposition\");\n if (contentDisposition) {\n let filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);\n if (filename.includes(\"%\")) {\n try {\n filename = decodeURIComponent(filename);\n } catch (ex) {}\n }\n if (/\\.pdf$/i.test(filename)) {\n return filename;\n }\n }\n return null;\n }\n function createResponseStatusError(status, url) {\n if (status === 404 || status === 0 && url.startsWith(\"file:\")) {\n return new _util.MissingPDFException('Missing PDF \"' + url + '\".');\n }\n return new _util.UnexpectedResponseException(\"Unexpected server response (\" + status + ') while retrieving PDF \"' + url + '\".', status);\n }\n function validateResponseStatus(status) {\n return status === 200 || status === 206;\n }\n\n /***/\n }), ( /* 24 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;\n function getFilenameFromContentDispositionHeader(contentDisposition) {\n let needsEncodingFixup = true;\n let tmp = toParamRegExp(\"filename\\\\*\", \"i\").exec(contentDisposition);\n if (tmp) {\n tmp = tmp[1];\n let filename = rfc2616unquote(tmp);\n filename = unescape(filename);\n filename = rfc5987decode(filename);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n tmp = rfc2231getparam(contentDisposition);\n if (tmp) {\n const filename = rfc2047decode(tmp);\n return fixupEncoding(filename);\n }\n tmp = toParamRegExp(\"filename\", \"i\").exec(contentDisposition);\n if (tmp) {\n tmp = tmp[1];\n let filename = rfc2616unquote(tmp);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n function toParamRegExp(attributePattern, flags) {\n return new RegExp(\"(?:^|;)\\\\s*\" + attributePattern + \"\\\\s*=\\\\s*\" + \"(\" + '[^\";\\\\s][^;\\\\s]*' + \"|\" + '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' + \")\", flags);\n }\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n try {\n const decoder = new TextDecoder(encoding, {\n fatal: true\n });\n const bytes = Array.from(value, function (ch) {\n return ch.charCodeAt(0) & 0xff;\n });\n value = decoder.decode(new Uint8Array(bytes));\n needsEncodingFixup = false;\n } catch (e) {\n if (/^utf-?8$/i.test(encoding)) {\n try {\n value = decodeURIComponent(escape(value));\n needsEncodingFixup = false;\n } catch (err) {}\n }\n }\n }\n return value;\n }\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n value = textdecode(\"utf-8\", value);\n if (needsEncodingFixup) {\n value = textdecode(\"iso-8859-1\", value);\n }\n }\n return value;\n }\n function rfc2231getparam(contentDispositionStr) {\n const matches = [];\n let match;\n const iter = toParamRegExp(\"filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)\", \"ig\");\n while ((match = iter.exec(contentDispositionStr)) !== null) {\n let [, n, quot, part] = match;\n n = parseInt(n, 10);\n if (n in matches) {\n if (n === 0) {\n break;\n }\n continue;\n }\n matches[n] = [quot, part];\n }\n const parts = [];\n for (let n = 0; n < matches.length; ++n) {\n if (!(n in matches)) {\n break;\n }\n let [quot, part] = matches[n];\n part = rfc2616unquote(part);\n if (quot) {\n part = unescape(part);\n if (n === 0) {\n part = rfc5987decode(part);\n }\n }\n parts.push(part);\n }\n return parts.join(\"\");\n }\n function rfc2616unquote(value) {\n if (value.startsWith('\"')) {\n const parts = value.slice(1).split('\\\\\"');\n for (let i = 0; i < parts.length; ++i) {\n const quotindex = parts[i].indexOf('\"');\n if (quotindex !== -1) {\n parts[i] = parts[i].slice(0, quotindex);\n parts.length = i + 1;\n }\n parts[i] = parts[i].replace(/\\\\(.)/g, \"$1\");\n }\n value = parts.join('\"');\n }\n return value;\n }\n function rfc5987decode(extvalue) {\n const encodingend = extvalue.indexOf(\"'\");\n if (encodingend === -1) {\n return extvalue;\n }\n const encoding = extvalue.slice(0, encodingend);\n const langvalue = extvalue.slice(encodingend + 1);\n const value = langvalue.replace(/^[^']*'/, \"\");\n return textdecode(encoding, value);\n }\n function rfc2047decode(value) {\n if (!value.startsWith(\"=?\") || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n return value;\n }\n return value.replace(/=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g, function (matches, charset, encoding, text) {\n if (encoding === \"q\" || encoding === \"Q\") {\n text = text.replace(/_/g, \" \");\n text = text.replace(/=([0-9a-fA-F]{2})/g, function (match, hex) {\n return String.fromCharCode(parseInt(hex, 16));\n });\n return textdecode(charset, text);\n }\n try {\n text = atob(text);\n } catch (e) {}\n return textdecode(charset, text);\n });\n }\n return \"\";\n }\n\n /***/\n }), ( /* 25 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PDFNetworkStream = void 0;\n var _util = __w_pdfjs_require__(2);\n var _network_utils = __w_pdfjs_require__(23);\n ;\n const OK_RESPONSE = 200;\n const PARTIAL_CONTENT_RESPONSE = 206;\n function getArrayBuffer(xhr) {\n const data = xhr.response;\n if (typeof data !== \"string\") {\n return data;\n }\n const array = (0, _util.stringToBytes)(data);\n return array.buffer;\n }\n class NetworkManager {\n constructor(url, args) {\n this.url = url;\n args = args || {};\n this.isHttp = /^https?:/i.test(url);\n this.httpHeaders = this.isHttp && args.httpHeaders || {};\n this.withCredentials = args.withCredentials || false;\n this.getXhr = args.getXhr || function NetworkManager_getXhr() {\n return new XMLHttpRequest();\n };\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n }\n requestRange(begin, end, listeners) {\n const args = {\n begin,\n end\n };\n for (const prop in listeners) {\n args[prop] = listeners[prop];\n }\n return this.request(args);\n }\n requestFull(listeners) {\n return this.request(listeners);\n }\n request(args) {\n const xhr = this.getXhr();\n const xhrId = this.currXhrId++;\n const pendingRequest = this.pendingRequests[xhrId] = {\n xhr\n };\n xhr.open(\"GET\", this.url);\n xhr.withCredentials = this.withCredentials;\n for (const property in this.httpHeaders) {\n const value = this.httpHeaders[property];\n if (typeof value === \"undefined\") {\n continue;\n }\n xhr.setRequestHeader(property, value);\n }\n if (this.isHttp && \"begin\" in args && \"end\" in args) {\n xhr.setRequestHeader(\"Range\", \"bytes=\".concat(args.begin, \"-\").concat(args.end - 1));\n pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;\n } else {\n pendingRequest.expectedStatus = OK_RESPONSE;\n }\n xhr.responseType = \"arraybuffer\";\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\n }\n xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n xhr.onprogress = this.onProgress.bind(this, xhrId);\n pendingRequest.onHeadersReceived = args.onHeadersReceived;\n pendingRequest.onDone = args.onDone;\n pendingRequest.onError = args.onError;\n pendingRequest.onProgress = args.onProgress;\n xhr.send(null);\n return xhrId;\n }\n onProgress(xhrId, evt) {\n const pendingRequest = this.pendingRequests[xhrId];\n if (!pendingRequest) {\n return;\n }\n if (pendingRequest.onProgress) {\n pendingRequest.onProgress(evt);\n }\n }\n onStateChange(xhrId, evt) {\n const pendingRequest = this.pendingRequests[xhrId];\n if (!pendingRequest) {\n return;\n }\n const xhr = pendingRequest.xhr;\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n if (xhr.readyState !== 4) {\n return;\n }\n if (!(xhrId in this.pendingRequests)) {\n return;\n }\n delete this.pendingRequests[xhrId];\n if (xhr.status === 0 && this.isHttp) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n return;\n }\n const xhrStatus = xhr.status || OK_RESPONSE;\n const ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n return;\n }\n const chunk = getArrayBuffer(xhr);\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n const rangeHeader = xhr.getResponseHeader(\"Content-Range\");\n const matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n pendingRequest.onDone({\n begin: parseInt(matches[1], 10),\n chunk\n });\n } else if (chunk) {\n pendingRequest.onDone({\n begin: 0,\n chunk\n });\n } else if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n }\n getRequestXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n }\n isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n }\n abortRequest(xhrId) {\n const xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n }\n class PDFNetworkStream {\n constructor(source) {\n this._source = source;\n this._manager = new NetworkManager(source.url, {\n httpHeaders: source.httpHeaders,\n withCredentials: source.withCredentials\n });\n this._rangeChunkSize = source.rangeChunkSize;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n _onRangeRequestReaderClosed(reader) {\n const i = this._rangeRequestReaders.indexOf(reader);\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n }\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFNetworkStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);\n return this._fullRequestReader;\n }\n getRangeReader(begin, end) {\n const reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n this._rangeRequestReaders.push(reader);\n return reader;\n }\n cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n const readers = this._rangeRequestReaders.slice(0);\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }\n exports.PDFNetworkStream = PDFNetworkStream;\n class PDFNetworkStreamFullRequestReader {\n constructor(manager, source) {\n this._manager = manager;\n const args = {\n onHeadersReceived: this._onHeadersReceived.bind(this),\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = source.url;\n this._fullRequestId = manager.requestFull(args);\n this._headersReceivedCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._contentLength = source.length;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n this._isStreamingSupported = false;\n this._isRangeSupported = false;\n this._cachedChunks = [];\n this._requests = [];\n this._done = false;\n this._storedError = undefined;\n this._filename = null;\n this.onProgress = null;\n }\n _onHeadersReceived() {\n const fullRequestXhrId = this._fullRequestId;\n const fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n const getResponseHeader = name => {\n return fullRequestXhr.getResponseHeader(name);\n };\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n if (allowRangeRequests) {\n this._isRangeSupported = true;\n }\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n if (this._isRangeSupported) {\n this._manager.abortRequest(fullRequestXhrId);\n }\n this._headersReceivedCapability.resolve();\n }\n _onDone(args) {\n if (args) {\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: args.chunk,\n done: false\n });\n } else {\n this._cachedChunks.push(args.chunk);\n }\n }\n this._done = true;\n if (this._cachedChunks.length > 0) {\n return;\n }\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n }\n _onError(status) {\n const url = this._url;\n const exception = (0, _network_utils.createResponseStatusError)(status, url);\n this._storedError = exception;\n this._headersReceivedCapability.reject(exception);\n this._requests.forEach(function (requestCapability) {\n requestCapability.reject(exception);\n });\n this._requests = [];\n this._cachedChunks = [];\n }\n _onProgress(data) {\n if (this.onProgress) {\n this.onProgress({\n loaded: data.loaded,\n total: data.lengthComputable ? data.total : this._contentLength\n });\n }\n }\n get filename() {\n return this._filename;\n }\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n get contentLength() {\n return this._contentLength;\n }\n get headersReady() {\n return this._headersReceivedCapability.promise;\n }\n async read() {\n if (this._storedError) {\n throw this._storedError;\n }\n if (this._cachedChunks.length > 0) {\n const chunk = this._cachedChunks.shift();\n return {\n value: chunk,\n done: false\n };\n }\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n const requestCapability = (0, _util.createPromiseCapability)();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n cancel(reason) {\n this._done = true;\n this._headersReceivedCapability.reject(reason);\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n this._fullRequestReader = null;\n }\n }\n class PDFNetworkStreamRangeRequestReader {\n constructor(manager, begin, end) {\n this._manager = manager;\n const args = {\n onDone: this._onDone.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._requestId = manager.requestRange(begin, end, args);\n this._requests = [];\n this._queuedChunk = null;\n this._done = false;\n this.onProgress = null;\n this.onClosed = null;\n }\n _close() {\n if (this.onClosed) {\n this.onClosed(this);\n }\n }\n _onDone(data) {\n const chunk = data.chunk;\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunk = chunk;\n }\n this._done = true;\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n this._close();\n }\n _onProgress(evt) {\n if (!this.isStreamingSupported && this.onProgress) {\n this.onProgress({\n loaded: evt.loaded\n });\n }\n }\n get isStreamingSupported() {\n return false;\n }\n async read() {\n if (this._queuedChunk !== null) {\n const chunk = this._queuedChunk;\n this._queuedChunk = null;\n return {\n value: chunk,\n done: false\n };\n }\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n const requestCapability = (0, _util.createPromiseCapability)();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n cancel(reason) {\n this._done = true;\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n this._requests = [];\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n this._close();\n }\n }\n\n /***/\n }), ( /* 26 */\n /***/function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.PDFFetchStream = void 0;\n var _util = __w_pdfjs_require__(2);\n var _network_utils = __w_pdfjs_require__(23);\n ;\n function createFetchOptions(headers, withCredentials, abortController) {\n return {\n method: \"GET\",\n headers,\n signal: abortController && abortController.signal,\n mode: \"cors\",\n credentials: withCredentials ? \"include\" : \"same-origin\",\n redirect: \"follow\"\n };\n }\n function createHeaders(httpHeaders) {\n const headers = new Headers();\n for (const property in httpHeaders) {\n const value = httpHeaders[property];\n if (typeof value === \"undefined\") {\n continue;\n }\n headers.append(property, value);\n }\n return headers;\n }\n class PDFFetchStream {\n constructor(source) {\n this.source = source;\n this.isHttp = /^https?:/i.test(source.url);\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n get _progressiveDataLength() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFFetchStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFFetchStreamReader(this);\n return this._fullRequestReader;\n }\n getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n const reader = new PDFFetchStreamRangeReader(this, begin, end);\n this._rangeRequestReaders.push(reader);\n return reader;\n }\n cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n const readers = this._rangeRequestReaders.slice(0);\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }\n exports.PDFFetchStream = PDFFetchStream;\n class PDFFetchStreamReader {\n constructor(stream) {\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n this._filename = null;\n const source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._contentLength = source.length;\n this._headersCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n if (typeof AbortController !== \"undefined\") {\n this._abortController = new AbortController();\n }\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._headers = createHeaders(this._stream.httpHeaders);\n const url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n this._reader = response.body.getReader();\n this._headersCapability.resolve();\n const getResponseHeader = name => {\n return response.headers.get(name);\n };\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: this._stream.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n this._isRangeSupported = allowRangeRequests;\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this.cancel(new _util.AbortException(\"Streaming is disabled.\"));\n }\n }).catch(this._headersCapability.reject);\n this.onProgress = null;\n }\n get headersReady() {\n return this._headersCapability.promise;\n }\n get filename() {\n return this._filename;\n }\n get contentLength() {\n return this._contentLength;\n }\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n async read() {\n await this._headersCapability.promise;\n const {\n value,\n done\n } = await this._reader.read();\n if (done) {\n return {\n value,\n done\n };\n }\n this._loaded += value.byteLength;\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n const buffer = new Uint8Array(value).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n }\n class PDFFetchStreamRangeReader {\n constructor(stream, begin, end) {\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n const source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._isStreamingSupported = !source.disableStream;\n if (typeof AbortController !== \"undefined\") {\n this._abortController = new AbortController();\n }\n this._headers = createHeaders(this._stream.httpHeaders);\n this._headers.append(\"Range\", \"bytes=\".concat(begin, \"-\").concat(end - 1));\n const url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n this._readCapability.resolve();\n this._reader = response.body.getReader();\n }).catch(reason => {\n if (reason && reason.name === \"AbortError\") {\n return;\n }\n throw reason;\n });\n this.onProgress = null;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n async read() {\n await this._readCapability.promise;\n const {\n value,\n done\n } = await this._reader.read();\n if (done) {\n return {\n value,\n done\n };\n }\n this._loaded += value.byteLength;\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n const buffer = new Uint8Array(value).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n }\n\n /***/\n }\n /******/)]);\n});"],"names":["factory","modules","installedModules","__w_pdfjs_require__","moduleId","exports","module","i","l","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","_display_utils","addLinkAttributes","getFilenameFromUrl","LinkTarget","loadScript","PDFDateString","RenderingCancelledException","_api","build","getDocument","LoopbackPort","PDFDataRangeTransport","PDFWorker","version","_util","CMapCompressionType","createObjectURL","createPromiseCapability","createValidAbsoluteUrl","InvalidPDFException","MissingPDFException","OPS","PasswordResponses","PermissionFlag","removeNullCharacters","shadow","UnexpectedResponseException","UNSUPPORTED_FEATURES","Util","VerbosityLevel","_annotation_layer","AnnotationLayer","_api_compatibility","apiCompatibilityParams","_worker_options","GlobalWorkerOptions","_text_layer","renderTextLayer","_svg","SVGGraphics","isNodeJS","PDFNodeStream","setPDFNetworkStreamFactory","params","PDFNetworkStream","PDFFetchStream","isFetchSupported","isValidFetchUrl","url","link","target","rel","enabled","arguments","length","undefined","assert","urlNullRemoved","href","title","concat","onclick","targetStr","NONE","SELF","BLANK","PARENT","TOP","DEFAULT_LINK_REL","anchor","indexOf","query","end","Math","min","substring","lastIndexOf","src","Promise","resolve","reject","script","document","createElement","onload","onerror","Error","head","documentElement","appendChild","deprecated","details","console","log","StatTimer","DOMSVGFactory","DOMCMapReaderFactory","BaseCMapReaderFactory","DOMCanvasFactory","BaseCanvasFactory","PageViewport","SVG_NS","constructor","this","unreachable","width","height","reset","canvasAndContext","canvas","destroy","context","ownerDocument","globalThis","super","_document","getContext","_ref","baseUrl","isCompressed","fetch","_ref2","compressionType","BINARY","_fetchData","catch","reason","baseURI","then","async","response","ok","statusText","cMapData","Uint8Array","arrayBuffer","stringToBytes","text","request","XMLHttpRequest","open","responseType","onreadystatechange","readyState","DONE","status","responseText","send","svg","createElementNS","setAttribute","type","_ref3","viewBox","scale","rotation","offsetX","offsetY","dontFlip","centerX","centerY","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","abs","transform","clone","slice","convertToViewportPoint","x","y","applyTransform","convertToViewportRectangle","rect","topLeft","bottomRight","convertToPdfPoint","applyInverseTransform","BaseException","msg","Response","ReadableStream","protocol","URL","ex","pdfDateStringRegex","started","times","time","warn","Date","now","timeEnd","push","start","toString","outBuf","longest","duration","padEnd","join","toDateObject","input","isString","RegExp","matches","exec","year","parseInt","month","day","hour","minute","second","universalTimeRelation","offsetHour","offsetMinute","UTC","arrayByteLength","arraysToBytes","arr","resultLength","pos","data","item","itemLength","byteLength","set","bytesToString","bytes","MAX_ARGUMENT_COUNT","String","fromCharCode","apply","strBuf","chunkEnd","chunk","subarray","capability","isSettled","promise","escapeString","str","replace","getModificationDate","date","getUTCFullYear","getUTCMonth","padStart","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getVerbosityLevel","verbosity","info","INFOS","isArrayBuffer","v","isArrayEqual","arr1","arr2","every","element","index","isBool","isNum","isSameOrigin","otherUrl","base","origin","e","other","absoluteUrl","_isValidProtocol","NullCharactersRegExp","setVerbosityLevel","level","Number","isInteger","string32","stringToPDFString","charCodeAt","code","PDFStringTranslateTable","charAt","stringToUTF8String","decodeURIComponent","escape","utf8StringToString","unescape","encodeURIComponent","IsEvalSupportedCached","IsLittleEndianCached","FormatError","UnknownErrorException","TextRenderingMode","StreamType","PasswordException","AbortException","ImageKind","FontType","AnnotationType","AnnotationStateModelType","AnnotationReviewState","AnnotationReplyType","AnnotationMarkedState","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","PRINT","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","FILL","STROKE","FILL_STROKE","INVISIBLE","FILL_ADD_TO_PATH","STROKE_ADD_TO_PATH","FILL_STROKE_ADD_TO_PATH","ADD_TO_PATH","FILL_STROKE_MASK","ADD_TO_PATH_FLAG","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","TEXT","LINK","FREETEXT","LINE","SQUARE","CIRCLE","POLYGON","POLYLINE","HIGHLIGHT","UNDERLINE","SQUIGGLY","STRIKEOUT","STAMP","CARET","INK","POPUP","FILEATTACHMENT","SOUND","MOVIE","WIDGET","SCREEN","PRINTERMARK","TRAPNET","WATERMARK","THREED","REDACT","MARKED","REVIEW","UNMARKED","ACCEPTED","REJECTED","CANCELLED","COMPLETED","GROUP","REPLY","HIDDEN","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","REQUIRED","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","SOLID","DASHED","BEVELED","INSET","UNKNOWN","FLATE","LZW","DCT","JPX","JBIG","A85","AHX","CCF","RLX","TYPE1","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","ERRORS","WARNINGS","STREAM","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","save","restore","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotations","endAnnotations","beginAnnotation","endAnnotation","paintJpegXObject","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","unknown","forms","javaScript","smask","shadingPattern","font","errorTilingPattern","errorExtGState","errorXObject","errorFontLoadType3","errorFontState","errorFontMissing","errorFontTranslate","errorColorSpace","errorOperatorList","errorFontToUnicode","errorFontLoadNative","errorFontGetPath","errorMarkedContent","NEED_PASSWORD","INCORRECT_PASSWORD","cond","obj","prop","configurable","writable","message","buffer8","Uint32Array","buffer","isLittleEndian","Function","isEvalSupported","rgbBuf","makeCssRgb","g","b","m1","m2","getAxialAlignedBoundingBox","p1","p2","p3","p4","max","inverseTransform","apply3dTransform","singularValueDecompose2dScale","transpose","a","first","sqrt","sx","sy","normalizeRect","intersect","rect1","rect2","compare","orderedX","sort","orderedY","result","digits","contentType","blob","Blob","ii","b1","b2","b3","process","versions","nw","electron","PDFPageProxy","PDFDocumentProxy","_font_loader","_node_utils","_annotation_storage","_canvas","_is_node","_message_handler","_metadata","_optional_content_config","_transport_stream","_webgl","DEFAULT_RANGE_CHUNK_SIZE","RENDERING_CANCELLED_TIMEOUT","DefaultCanvasFactory","NodeCanvasFactory","DefaultCMapReaderFactory","NodeCMapReaderFactory","createPDFNetworkStream","pdfNetworkStreamFactory","task","PDFDocumentLoadingTask","source","range","rangeTransport","worker","window","pdfBytes","isNaN","location","rangeChunkSize","CMapReaderFactory","ignoreErrors","stopAtErrors","fontExtraProperties","pdfBug","maxImageSize","disableFontFace","disableRange","disableStream","disableAutoFetch","workerParams","port","workerPort","fromPort","_worker","docId","destroyed","workerIdPromise","_fetchDocument","networkStreamPromise","networkStream","PDFDataTransportStream","initialData","progressiveDone","httpHeaders","withCredentials","all","_ref4","workerId","messageHandler","MessageHandler","postMessageTransfers","transport","WorkerTransport","_transport","_capability","pdfDataRangeTransport","sendWithPromise","apiVersion","password","docBaseUrl","nextDocumentId","onPassword","onProgress","onUnsupportedFeature","_rangeListeners","_progressListeners","_progressiveReadListeners","_progressiveDoneListeners","_readyCapability","addRangeListener","listener","addProgressListener","addProgressiveReadListener","addProgressiveDoneListener","onDataRange","begin","onDataProgress","loaded","total","onDataProgressiveRead","onDataProgressiveDone","transportReady","requestDataRange","abort","pdfInfo","_pdfInfo","annotationStorage","AnnotationStorage","numPages","fingerprint","getPage","pageNumber","getPageIndex","ref","getDestinations","getDestination","id","getPageLabels","getPageLayout","getPageMode","getViewerPreferences","getOpenAction","getAttachments","getJavaScript","getOutline","getOptionalContentConfig","getPermissions","getMetadata","getData","getDownloadInfo","downloadInfoCapability","getStats","cleanup","startCleanup","loadingTask","loadingParams","saveDocument","pageIndex","pageInfo","_pageIndex","_pageInfo","_ownerDocument","_stats","_pdfBug","commonObjs","objs","PDFObjects","cleanupAfterRender","pendingCleanup","_intentStates","Map","rotate","userUnit","view","getViewport","getAnnotations","intent","annotationsPromise","annotationsIntent","render","_ref5","canvasContext","viewport","enableWebGL","renderInteractiveForms","imageLayer","canvasFactory","background","optionalContentConfigPromise","renderingIntent","intentState","streamReaderCancelTimeout","clearTimeout","canvasFactoryInstance","webGLContext","WebGLContext","enable","displayReadyCapability","operatorList","fnArray","argsArray","lastChunk","_pumpOperatorList","getAll","complete","error","renderTasks","internalRenderTask","splice","_tryCleanup","_abortOperatorList","InternalRenderTask","callback","useRequestAnimationFrame","renderTask","_ref6","transparency","optionalContentConfig","initializeGraphics","operatorListChanged","getOperatorList","opListTask","opListReadCapability","streamTextContent","normalizeWhitespace","disableCombineTextItems","sendWithStream","combineTextItems","highWaterMark","size","textContent","items","getTextContent","readableStream","reader","getReader","styles","pump","read","_ref7","done","assign","_destroy","pageCache","waitOn","force","completed","cancel","clear","resetStats","values","_startRenderPage","_renderPageChunk","operatorListChunk","args","streamReader","_ref8","_ref9","setTimeout","curIntentState","delete","stats","defer","_listeners","_defer","_deferred","postMessage","transfers","forEach","cloned","WeakMap","cloneValue","has","includes","byteOffset","Array","isArray","desc","getOwnPropertyDescriptor","getPrototypeOf","addEventListener","removeEventListener","terminate","PDFWorkerClosure","pdfWorkerPorts","isWorkerDisabled","fallbackWorkerSrc","nextFakeWorkerId","fakeWorkerCapability","pdfjsFilePath","currentScript","getWorkerSrc","workerSrc","getMainThreadWorkerMessageHandler","mainWorkerMessageHandler","pdfjsWorker","WorkerMessageHandler","setupFakeWorkerGlobal","loader","eval","createCDNWrapper","wrapper","_port","_webWorker","_messageHandler","_initializeFromPort","_initialize","on","Worker","terminateEarly","onWorkerError","_setupFakeWorker","supportTransfers","sendTest","testObj","workerHandler","setup","fontLoader","FontLoader","_onUnsupportedFeature","_params","cMapUrl","cMapPacked","destroyCapability","_passwordCapability","_networkStream","_fullReader","_lastProgress","pagePromises","setupMessageHandler","page","terminated","cancelAllRequests","sink","getFullReader","evt","onPull","_ref10","close","enqueue","onCancel","ready","readyReason","headersCapability","fullReader","headersReady","isStreamingSupported","isRangeSupported","contentLength","rangeReader","getRangeReader","_ref11","_ref12","_numPages","exception","updatePassword","exportedData","exportedError","fontRegistry","FontInspector","registerFont","fontAdded","FontFaceObject","finally","imageData","pageProxy","MAX_IMAGE_SIZE_TO_STORE","fetched","builtInCMap","_ref13","featureId","filename","resetModified","results","OptionalContentConfig","metadata","Metadata","contentDispositionFilename","_objs","_ensureObj","objId","resolved","RenderTask","_internalRenderTask","onContinue","canvasInRendering","WeakSet","_ref14","operatorListIdx","running","graphicsReadyCallback","graphicsReady","_useRequestAnimationFrame","cancelled","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","_next","_ref15","add","StepperManager","stepper","init","nextBreakPoint","getNextBreakPoint","gfx","CanvasGraphics","beginDrawing","endDrawing","updateOperatorList","requestAnimationFrame","executeOperatorList","BaseFontLoader","_ref16","nativeFontFaces","styleElement","addNativeFontFace","nativeFontFace","fonts","insertRule","rule","getElementsByTagName","styleSheet","sheet","cssRules","remove","attached","missingFile","isFontLoadingAPISupported","createNativeFontFace","family","createFontFaceRule","isSyncFontLoadingSupported","_queueLoadingCallback","_prepareFontLoadEvent","supported","_loadTestFont","rules","fontsToLoad","loadingContext","requests","nextRequestId","loadTestFontId","navigator","userAgent","otherRequest","shift","atob","int32","offset","spliceString","insert","ctx","called","XXXX_VALUE","checksum","btoa","names","loadedName","div","style","visibility","position","top","left","span","fontFamily","body","isFontReady","fillText","getImageData","removeChild","translatedData","_ref17","compiledGlyphs","FontFace","mimetype","getPathGenerator","character","cmds","current","js","cmd","createCanvas","readFile","_storage","_modified","onSetModified","onResetModified","getOrCreateValue","defaultValue","setValue","_setModified","fromEntries","compatibilityParams","freeze","_pattern_helper","MAX_GROUP_SIZE","MIN_WIDTH_FACTOR","FULL_CHUNK_HEIGHT","addContextCurrentTransform","mozCurrentTransform","_originalSave","_originalRestore","_originalRotate","_originalScale","_originalTranslate","translate","_originalTransform","_originalSetTransform","setTransform","_transformMatrix","_transformStack","f","ad_bc","bc_ad","old","prev","pop","angle","cosValue","cos","sinValue","sin","CachedCanvases","cache","getCanvas","trackTransform","canvasEntry","CanvasExtraState","alphaIsShape","fontSize","fontSizeScale","textMatrix","textMatrixScale","fontMatrix","leading","lineX","lineY","charSpacing","wordSpacing","textHScale","textRenderingMode","textRise","fillColor","strokeColor","patternFill","fillAlpha","strokeAlpha","lineWidth","activeSMask","resumeSMaskCtx","transferMaps","setCurrentPoint","canvasCtx","stateStack","pendingClip","pendingEOFill","res","xobjs","groupStack","processingType3","baseTransform","baseTransformStack","groupLevel","smaskStack","smaskCounter","tempSMask","contentVisible","markedContentStack","cachedCanvases","_cachedGetSinglePixelWidth","putBinaryImageData","imgData","ImageData","putImageData","destPos","j","thisChunkHeight","elemsInThisChunk","partialChunkHeight","fullChunks","totalChunks","chunkImgData","createImageData","srcPos","dest","transferMapRed","transferMapGreen","transferMapBlue","transferMapGray","kind","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","srcDiff","k","kEnd","kEndUnrolled","mask","srcByte","hasTransferMaps","putBinaryImageMask","elem","copyCtxState","sourceCtx","destCtx","properties","setLineDash","getLineDash","lineDashOffset","resetCtxToDefault","strokeStyle","fillStyle","fillRule","globalAlpha","lineCap","lineJoin","miterLimit","globalCompositeOperation","composeSMaskBackdrop","r0","g0","b0","alpha","alpha_","composeSMaskAlpha","maskData","layerData","transferMap","composeSMaskLuminosity","composeSMask","layerCtx","maskCtx","scaleX","scaleY","backdrop","isEnabled","composed","layer","subtype","drawImage","composeFn","hasBackdrop","chunkSize","ceil","row","chunkHeight","genericComposeSMask","LINE_CAP_STYLES","LINE_JOIN_STYLES","NORMAL_CLIP","EO_CLIP","op","_ref18","fillRect","transparentCanvas","compositeCtx","beginLayout","executionStartIdx","continueCallback","argsArrayLen","fnId","chunkOperations","endTime","steps","breakIt","depObjId","objsPool","startsWith","endSMaskGroup","endLayout","limit","dashArray","dashPhase","flatness","states","state","suspendSMaskGroup","beginSMaskGroup","drawnWidth","drawnHeight","cacheId","scratchCanvas","currentCtx","currentTransform","groupCtx","startTransformInverse","mozCurrentTransformInverse","deltaTransform","clearRect","resumeSMaskGroup","ops","getSinglePixelWidth","xw","yh","bezierCurveTo","consumePath","getPattern","needRestore","paths","pendingTextPaths","beginPath","path","addToPath","spacing","fontRefName","fontObj","fontDirection","isType3Font","bold","italic","typeface","fallbackName","browserFontSize","rise","paintChar","patternTransform","fillStrokeMode","isAddToPathSet","strokeText","isFontSubpixelAAEnabled","glyphs","showType3Text","glyphsLength","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","pattern","glyph","scaledX","scaledY","scaledAccentX","scaledAccentY","vmetric","vx","vy","restoreNeeded","isSpace","fontChar","accent","remeasure","measuredWidth","measureText","characterScaleX","isInFont","spacingLength","charProcOperatorList","operatorListId","xWidth","yWidth","llx","lly","urx","ury","getColorN_Pattern","IR","color","canvasGraphicsFactory","createCanvasGraphics","TilingPattern","getShadingPatternFromIR","patternIR","inv","bl","br","ul","ur","x0","y0","x1","y1","matrix","bbox","group","isolated","knockout","bounds","canvasBounds","floor","imageSmoothingEnabled","mozImageSmoothingEnabled","img","isPatternFill","compiled","j0","width1","points","POINT_TYPES","lineSize","data0","count","sum","Int32Array","outlines","pp","coords","p0","step","kk","ll","compileType3Glyph","maskCanvas","skewX","skewY","positions","images","image","map","w","h","imgToPaint","tmpCanvas","widthScale","heightScale","HTMLElement","tmpCtx","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","getCanvasPosition","appendImage","entry","tag","visible","isVisible","isContentVisible","inverse","raw","shadingIR","ShadingIRs","fromIR","applyBoundingBox","Path2D","region","RadialAxial","colorStops","r1","grad","createLinearGradient","createRadialGradient","addColorStop","createMeshCanvas","drawTriangle","c1","c2","c3","tmp","colors","rowSize","x2","y2","x3","y3","xa","car","cag","cab","xb","cbr","cbg","cbb","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","minY","round","maxY","x1_","x2_","drawFigure","figure","ps","cs","verticesPerRow","rows","cols","q","combinesScale","figures","backgroundColor","boundsWidth","boundsHeight","paddedWidth","BORDER_SIZE","paddedHeight","drawFigures","Mesh","owner","matrixScale","temporaryPatternCanvas","createPattern","Dummy","PaintType","xstep","ystep","paintType","tilingType","createPatternCanvas","curMatrixScale","combinedScale","dimx","getSizeAndScale","dimy","graphics","setFillAndStrokeStyleToContext","clipBbox","realOutputSize","maxSize","bboxWidth","bboxHeight","cssColor","CallbackKind","StreamKind","wrapReason","sourceName","targetName","comObj","callbackId","streamId","streamSinks","streamControllers","callbackCapabilities","actionHandler","_onComObjOnMessage","event","stream","_processStreamMessage","action","cbSourceName","cbTargetName","_createStreamSink","actionName","handler","ah","_postMessage","queueingStrategy","controller","startCapability","startCall","pullCall","cancelCall","isClosed","desiredSize","pull","pullCapability","cancelCapability","self","streamSink","isCancelled","lastDesiredSize","sinkCapability","success","_deleteStreamController","allSettled","_xml_parser","_repair","xmlDocument","SimpleXMLParser","parseFromString","_metadataMap","_parse","codes","d1","d2","d3","chars","rdf","nodeName","toLowerCase","firstChild","nextSibling","hasChildNodes","children","childNodes","jj","trim","XMLParserErrorCode","isWhitespace","ch","XMLParserBase","_resolveEntities","entity","onResolveEntity","_parseContent","attributes","skipWs","attrName","attrValue","attrEndChar","attrEndIndex","parsed","_parseProcessingInstruction","attrStart","parseXml","onError","onEndElement","pi","onPi","onComment","onCdata","q2","complexDoctype","doctypeContent","onDoctype","content","onBeginElement","onText","isEmpty","SimpleDOMNode","nodeValue","parentNode","child","_currentFragment","_stack","_errorCode","isWhitespaceString","node","lastElement","OptionalContentGroup","creator","_order","_groups","order","groups","baseState","off","expression","policy","ids","setVisibility","getOrder","from","keys","getGroups","getGroup","_queuedChunks","_progressiveDone","_pdfDataRangeTransport","_isStreamingSupported","_isRangeSupported","_contentLength","_fullRequestReader","_rangeReaders","_onReceiveData","_onProgress","_onProgressiveDone","_enqueue","found","some","_begin","_progressiveDataLength","_loaded","firstReader","_removeRangeReader","queuedChunks","PDFDataTransportStreamReader","PDFDataTransportStreamRangeReader","_stream","_done","_filename","_requests","_headersReady","requestCapability","_end","_queuedChunk","_ref19","_enabled","WebGLUtils","tryInitGL","_ref20","_ref21","loadShader","gl","shaderType","shader","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","errorMsg","getShaderInfoLog","createVertexShader","VERTEX_SHADER","createFragmentShader","FRAGMENT_SHADER","createProgram","shaders","program","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","createTexture","textureId","activeTexture","texture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MIN_FILTER","NEAREST","TEXTURE_MAG_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","currentGL","currentCanvas","generateGL","premultipliedalpha","smaskVertexShaderCode","smaskFragmentShaderCode","smaskCache","figuresVertexShaderCode","figuresFragmentShaderCode","figuresCache","useProgram","resolutionLocation","getUniformLocation","positionLocation","getAttribLocation","backdropLocation","subtypeLocation","texCoordLocation","texLayerLocation","texMaskLocation","texCoordBuffer","createBuffer","bindBuffer","ARRAY_BUFFER","bufferData","Float32Array","STATIC_DRAW","enableVertexAttribArray","vertexAttribPointer","FLOAT","uniform1i","initSmaskGL","drawingBufferWidth","drawingBufferHeight","uniform2f","uniform4f","TEXTURE0","maskTexture","TEXTURE1","clearColor","BLEND","blendFunc","ONE","ONE_MINUS_SRC_ALPHA","COLOR_BUFFER_BIT","drawArrays","TRIANGLES","flush","deleteTexture","deleteBuffer","scaleLocation","offsetLocation","colorLocation","initFiguresGL","coordsMap","colorsMap","pIndex","cIndex","col","coordsBuffer","colorsBuffer","AnnotationElementFactory","parameters","annotationType","LinkAnnotationElement","TextAnnotationElement","fieldType","TextWidgetAnnotationElement","radioButton","RadioButtonWidgetAnnotationElement","checkBox","CheckboxWidgetAnnotationElement","PushButtonWidgetAnnotationElement","ChoiceWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","FreeTextAnnotationElement","LineAnnotationElement","SquareAnnotationElement","CircleAnnotationElement","PolylineAnnotationElement","CaretAnnotationElement","InkAnnotationElement","PolygonAnnotationElement","HighlightAnnotationElement","UnderlineAnnotationElement","SquigglyAnnotationElement","StrikeOutAnnotationElement","StampAnnotationElement","FileAttachmentAnnotationElement","AnnotationElement","isRenderable","ignoreBorder","linkService","downloadManager","imageResourcesPath","svgFactory","container","_createContainer","transformOrigin","borderStyle","borderWidth","horizontalRadius","horizontalCornerRadius","verticalRadius","verticalCornerRadius","radius","borderRadius","borderBottomStyle","borderColor","_createPopup","trigger","popup","PopupElement","modificationDate","contents","hideWrapper","className","newWindow","externalLinkTarget","externalLinkRel","externalLinkEnabled","_bindNamedAction","_bindLink","destination","getDestinationHash","navigateTo","getAnchorUrl","executeNamedAction","hasPopup","alt","dataset","l10nId","l10nArgs","JSON","stringify","hasAppearance","fieldValue","TEXT_ALIGNMENT","storage","multiLine","disabled","readOnly","fieldName","maxLen","maxLength","comb","combWidth","classList","letterSpacing","verticalAlign","display","_setTextStyle","textAlignment","textAlign","direction","fontWeight","fontStyle","checked","buttonValue","radio","getElementsByName","getAttribute","selectElement","combo","options","multiSelect","multiple","option","optionElement","displayValue","exportValue","selectedIndex","parentType","selector","parentId","parentElement","querySelector","parentLeft","parseFloat","parentWidth","pinned","hideElement","dateObject","toLocaleDateString","toLocaleTimeString","_formatContents","_toggle","_show","_hide","lines","split","line","createTextNode","hasAttribute","removeAttribute","zIndex","lineCoordinates","append","square","circle","containerClassName","svgElementName","coordinate","vertices","polyline","inkList","inkLists","file","eventBus","dispatch","_download","downloadData","sortedAnnotations","popupAnnotations","annotations","update","NonWhitespaceRegexp","appendText","geom","textDiv","textDivProperties","canvasWidth","originalTransform","paddingBottom","paddingLeft","paddingRight","paddingTop","_textDivs","test","_textDivProperties","tx","_viewport","atan2","fontName","PI","fontHeight","fontAscent","ascent","descent","_fontInspectorEnabled","shouldScaleText","absScaleX","absScaleY","_textContentStream","_layoutText","_enhanceTextSelection","angleCos","angleSin","divWidth","divHeight","_bounds","right","bottom","_canceled","textDivs","textDivsLength","_renderingDone","findPositiveMin","ts","expand","expanded","boxes","box","x1New","x2New","expandBoundsLTR","expandBounds","divProperties","Float64Array","boxScale","horizon","Infinity","boundary","horizonPart","affectedBoundary","maxXNew","xNew","changedHorizon","lastBoundary","useBoundary","unshift","used","TextLayerRenderTask","_ref22","textContentStream","textContentItemsStr","enhanceTextSelection","_textContent","_container","_textContentItemsStr","_reader","_layoutTextLastFontSize","_layoutTextLastFontFamily","_layoutTextCtx","_renderTimer","_processItems","styleCache","len","_render","timeout","mozOpaque","textItems","textStyles","_ref23","expandTextDivs","expandDivs","transformBuf","paddingBuf","divProps","padding","renderParameters","SVG_DEFAULTS","XML_NS","XLINK_NS","convertImgDataToPng","PNG_HEADER","crcTable","writePngChunk","crc","crc32","deflateSyncUncompressed","literals","maxBlockLength","deflateBlocks","idat","adler","adler32","encode","forceDataSchema","isMask","bitDepth","colorType","offsetLiterals","offsetBytes","ihdr","Buffer","output","deflateSync","pngLength","CHUNK_WRAPPER_SIZE","SVGExtraState","dependencies","activeClipUrl","clipGroup","maskId","opListToTree","opList","opTree","opListElement","fn","pf","toFixed","pm","acos","clipCount","maskCount","shadingCount","transformMatrix","transformStack","extraStack","embedFonts","embeddedFonts","cssStyle","_operatorIdMapping","tgrp","executeOpTree","loadDependencies","getSVG","svgElement","convertOpList","operatorIdMapping","opTreeElement","lineMatrix","xcoords","ycoords","tspan","setAttributeNS","txtElement","txtgrp","charWidth","lineWidthScale","_setStrokeAttributes","_ensureTransformGroup","addFontStyle","defs","setStrokeAlpha","setFillAlpha","_makeColorN_Pattern","_makeShadingPattern","_makeTilingPattern","tilingId","tx0","ty0","tx1","ty1","xscale","yscale","txstep","tystep","tiling","shadingId","gradient","point0","point1","focalPoint","circlePoint","focalRadius","circleRadius","colorStop","stop","getAttributeNS","clipId","clipPath","clipElement","cloneNode","imgSrc","cliprect","imgEl","definitions","rootGroup","_ensureClipGroup","_network_utils","fs","http","https","fileUriRegex","sourceUrl","parsedUrl","parse","host","parseUrl","isHttp","isFsUrl","_rangeRequestReaders","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","_url","_storedError","_disableRange","_rangeChunkSize","_readableStream","_readCapability","_headersCapability","_error","_setReadableStream","BaseRangeReader","createRequestOptions","headers","auth","hostname","method","handleResponse","statusCode","getResponseHeader","allowRangeRequests","suggestedLength","validateRangeRequestCapabilities","extractFilenameFromHeader","_request","_httpHeaders","Range","lstat","stat","createReadStream","createResponseStatusError","contentDisposition","_content_disposition","getFilenameFromContentDispositionHeader","_ref24","returnValues","validateResponseStatus","needsEncodingFixup","toParamRegExp","rfc2616unquote","rfc5987decode","rfc2047decode","fixupEncoding","contentDispositionStr","match","iter","quot","part","parts","rfc2231getparam","attributePattern","flags","textdecode","encoding","decoder","TextDecoder","fatal","decode","err","quotindex","extvalue","encodingend","charset","hex","NetworkManager","getXhr","currXhrId","pendingRequests","requestRange","listeners","requestFull","xhr","xhrId","pendingRequest","setRequestHeader","expectedStatus","onStateChange","onprogress","onHeadersReceived","onDone","xhrStatus","getArrayBuffer","rangeHeader","getRequestXhr","isPendingRequest","abortRequest","_source","_manager","_onRangeRequestReaderClosed","PDFNetworkStreamFullRequestReader","PDFNetworkStreamRangeRequestReader","onClosed","manager","_onHeadersReceived","_onDone","_onError","_fullRequestId","_headersReceivedCapability","_cachedChunks","fullRequestXhrId","fullRequestXhr","lengthComputable","_requestId","_close","createFetchOptions","abortController","signal","credentials","redirect","createHeaders","Headers","PDFFetchStreamReader","PDFFetchStreamRangeReader","_withCredentials","AbortController","_abortController","_headers"],"sourceRoot":""}