{"version":3,"file":"2b7b2d2a-8827a689a0957875e13a.js","mappings":"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","sources":["webpack://d9test/./node_modules/pdfjs-dist/build/pdf.js"],"sourcesContent":["var _assertThisInitialized = require(\"/codebuild/output/src166867192/src/broad-gatsby/node_modules/@babel/runtime/helpers/assertThisInitialized.js\");\n\nvar _get = require(\"/codebuild/output/src166867192/src/broad-gatsby/node_modules/@babel/runtime/helpers/get.js\");\n\nvar _toConsumableArray = require(\"/codebuild/output/src166867192/src/broad-gatsby/node_modules/@babel/runtime/helpers/toConsumableArray.js\");\n\nvar _slicedToArray = require(\"/codebuild/output/src166867192/src/broad-gatsby/node_modules/@babel/runtime/helpers/slicedToArray.js\");\n\nvar _inherits = require(\"/codebuild/output/src166867192/src/broad-gatsby/node_modules/@babel/runtime/helpers/inherits.js\");\n\nvar _possibleConstructorReturn = require(\"/codebuild/output/src166867192/src/broad-gatsby/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js\");\n\nvar _getPrototypeOf = require(\"/codebuild/output/src166867192/src/broad-gatsby/node_modules/@babel/runtime/helpers/getPrototypeOf.js\");\n\nvar _regeneratorRuntime = require(\"/codebuild/output/src166867192/src/broad-gatsby/node_modules/@babel/runtime/regenerator/index.js\");\n\nvar _asyncToGenerator = require(\"/codebuild/output/src166867192/src/broad-gatsby/node_modules/@babel/runtime/helpers/asyncToGenerator.js\");\n\nvar _classCallCheck = require(\"/codebuild/output/src166867192/src/broad-gatsby/node_modules/@babel/runtime/helpers/classCallCheck.js\");\n\nvar _createClass = require(\"/codebuild/output/src166867192/src/broad-gatsby/node_modules/@babel/runtime/helpers/createClass.js\");\n\nrequire(\"core-js/modules/esnext.global-this.js\");\n\nrequire(\"core-js/modules/es.promise.finally.js\");\n\nrequire(\"core-js/modules/esnext.promise.all-settled.js\");\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\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(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 (\n /******/\n function (modules) {\n // webpackBootstrap\n\n /******/\n // The module cache\n\n /******/\n var installedModules = {};\n /******/\n\n /******/\n // The require function\n\n /******/\n\n function __w_pdfjs_require__(moduleId) {\n /******/\n\n /******/\n // Check if module is in cache\n\n /******/\n if (installedModules[moduleId]) {\n /******/\n return installedModules[moduleId].exports;\n /******/\n }\n /******/\n // Create a new module (and put it into the cache)\n\n /******/\n\n\n var module = installedModules[moduleId] = {\n /******/\n i: moduleId,\n\n /******/\n l: false,\n\n /******/\n exports: {}\n /******/\n\n };\n /******/\n\n /******/\n // Execute the module function\n\n /******/\n\n modules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n /******/\n\n /******/\n // Flag the module as loaded\n\n /******/\n\n module.l = true;\n /******/\n\n /******/\n // Return the exports of the module\n\n /******/\n\n return module.exports;\n /******/\n }\n /******/\n\n /******/\n\n /******/\n // expose the modules object (__webpack_modules__)\n\n /******/\n\n\n __w_pdfjs_require__.m = modules;\n /******/\n\n /******/\n // expose the module cache\n\n /******/\n\n __w_pdfjs_require__.c = installedModules;\n /******/\n\n /******/\n // define getter function for harmony exports\n\n /******/\n\n __w_pdfjs_require__.d = function (exports, name, getter) {\n /******/\n if (!__w_pdfjs_require__.o(exports, name)) {\n /******/\n Object.defineProperty(exports, name, {\n enumerable: true,\n get: getter\n });\n /******/\n }\n /******/\n\n };\n /******/\n\n /******/\n // define __esModule on exports\n\n /******/\n\n\n __w_pdfjs_require__.r = function (exports) {\n /******/\n if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n /******/\n Object.defineProperty(exports, Symbol.toStringTag, {\n value: 'Module'\n });\n /******/\n }\n /******/\n\n\n Object.defineProperty(exports, '__esModule', {\n value: true\n });\n /******/\n };\n /******/\n\n /******/\n // create a fake namespace object\n\n /******/\n // mode & 1: value is a module id, require it\n\n /******/\n // mode & 2: merge all properties of value into the ns\n\n /******/\n // mode & 4: return value when already ns object\n\n /******/\n // mode & 8|1: behave like require\n\n /******/\n\n\n __w_pdfjs_require__.t = function (value, mode) {\n /******/\n if (mode & 1) value = __w_pdfjs_require__(value);\n /******/\n\n if (mode & 8) return value;\n /******/\n\n if (mode & 4 && typeof value === 'object' && value && value.__esModule) return value;\n /******/\n\n var ns = Object.create(null);\n /******/\n\n __w_pdfjs_require__.r(ns);\n /******/\n\n\n Object.defineProperty(ns, 'default', {\n enumerable: true,\n value: value\n });\n /******/\n\n if (mode & 2 && typeof value != 'string') for (var key in value) {\n __w_pdfjs_require__.d(ns, key, function (key) {\n return value[key];\n }.bind(null, key));\n }\n /******/\n\n return ns;\n /******/\n };\n /******/\n\n /******/\n // getDefaultExport function for compatibility with non-harmony modules\n\n /******/\n\n\n __w_pdfjs_require__.n = function (module) {\n /******/\n var getter = module && module.__esModule ?\n /******/\n function getDefault() {\n return module['default'];\n } :\n /******/\n function getModuleExports() {\n return module;\n };\n /******/\n\n __w_pdfjs_require__.d(getter, 'a', getter);\n /******/\n\n\n return getter;\n /******/\n };\n /******/\n\n /******/\n // Object.prototype.hasOwnProperty.call\n\n /******/\n\n\n __w_pdfjs_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\n /******/\n\n /******/\n // __webpack_public_path__\n\n /******/\n\n\n __w_pdfjs_require__.p = \"\";\n /******/\n\n /******/\n\n /******/\n // Load entry module and return exports\n\n /******/\n\n return __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n /******/\n }\n /************************************************************************/\n\n /******/\n ([\n /* 0 */\n\n /***/\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 get() {\n return _display_utils.addLinkAttributes;\n }\n });\n Object.defineProperty(exports, \"getFilenameFromUrl\", {\n enumerable: true,\n get: function get() {\n return _display_utils.getFilenameFromUrl;\n }\n });\n Object.defineProperty(exports, \"LinkTarget\", {\n enumerable: true,\n get: function get() {\n return _display_utils.LinkTarget;\n }\n });\n Object.defineProperty(exports, \"loadScript\", {\n enumerable: true,\n get: function get() {\n return _display_utils.loadScript;\n }\n });\n Object.defineProperty(exports, \"PDFDateString\", {\n enumerable: true,\n get: function get() {\n return _display_utils.PDFDateString;\n }\n });\n Object.defineProperty(exports, \"RenderingCancelledException\", {\n enumerable: true,\n get: function get() {\n return _display_utils.RenderingCancelledException;\n }\n });\n Object.defineProperty(exports, \"build\", {\n enumerable: true,\n get: function get() {\n return _api.build;\n }\n });\n Object.defineProperty(exports, \"getDocument\", {\n enumerable: true,\n get: function get() {\n return _api.getDocument;\n }\n });\n Object.defineProperty(exports, \"LoopbackPort\", {\n enumerable: true,\n get: function get() {\n return _api.LoopbackPort;\n }\n });\n Object.defineProperty(exports, \"PDFDataRangeTransport\", {\n enumerable: true,\n get: function get() {\n return _api.PDFDataRangeTransport;\n }\n });\n Object.defineProperty(exports, \"PDFWorker\", {\n enumerable: true,\n get: function get() {\n return _api.PDFWorker;\n }\n });\n Object.defineProperty(exports, \"version\", {\n enumerable: true,\n get: function get() {\n return _api.version;\n }\n });\n Object.defineProperty(exports, \"CMapCompressionType\", {\n enumerable: true,\n get: function get() {\n return _util.CMapCompressionType;\n }\n });\n Object.defineProperty(exports, \"createObjectURL\", {\n enumerable: true,\n get: function get() {\n return _util.createObjectURL;\n }\n });\n Object.defineProperty(exports, \"createPromiseCapability\", {\n enumerable: true,\n get: function get() {\n return _util.createPromiseCapability;\n }\n });\n Object.defineProperty(exports, \"createValidAbsoluteUrl\", {\n enumerable: true,\n get: function get() {\n return _util.createValidAbsoluteUrl;\n }\n });\n Object.defineProperty(exports, \"InvalidPDFException\", {\n enumerable: true,\n get: function get() {\n return _util.InvalidPDFException;\n }\n });\n Object.defineProperty(exports, \"MissingPDFException\", {\n enumerable: true,\n get: function get() {\n return _util.MissingPDFException;\n }\n });\n Object.defineProperty(exports, \"OPS\", {\n enumerable: true,\n get: function get() {\n return _util.OPS;\n }\n });\n Object.defineProperty(exports, \"PasswordResponses\", {\n enumerable: true,\n get: function get() {\n return _util.PasswordResponses;\n }\n });\n Object.defineProperty(exports, \"PermissionFlag\", {\n enumerable: true,\n get: function get() {\n return _util.PermissionFlag;\n }\n });\n Object.defineProperty(exports, \"removeNullCharacters\", {\n enumerable: true,\n get: function get() {\n return _util.removeNullCharacters;\n }\n });\n Object.defineProperty(exports, \"shadow\", {\n enumerable: true,\n get: function get() {\n return _util.shadow;\n }\n });\n Object.defineProperty(exports, \"UnexpectedResponseException\", {\n enumerable: true,\n get: function get() {\n return _util.UnexpectedResponseException;\n }\n });\n Object.defineProperty(exports, \"UNSUPPORTED_FEATURES\", {\n enumerable: true,\n get: function get() {\n return _util.UNSUPPORTED_FEATURES;\n }\n });\n Object.defineProperty(exports, \"Util\", {\n enumerable: true,\n get: function get() {\n return _util.Util;\n }\n });\n Object.defineProperty(exports, \"VerbosityLevel\", {\n enumerable: true,\n get: function get() {\n return _util.VerbosityLevel;\n }\n });\n Object.defineProperty(exports, \"AnnotationLayer\", {\n enumerable: true,\n get: function get() {\n return _annotation_layer.AnnotationLayer;\n }\n });\n Object.defineProperty(exports, \"apiCompatibilityParams\", {\n enumerable: true,\n get: function get() {\n return _api_compatibility.apiCompatibilityParams;\n }\n });\n Object.defineProperty(exports, \"GlobalWorkerOptions\", {\n enumerable: true,\n get: function get() {\n return _worker_options.GlobalWorkerOptions;\n }\n });\n Object.defineProperty(exports, \"renderTextLayer\", {\n enumerable: true,\n get: function get() {\n return _text_layer.renderTextLayer;\n }\n });\n Object.defineProperty(exports, \"SVGGraphics\", {\n enumerable: true,\n get: function get() {\n return _svg.SVGGraphics;\n }\n });\n\n var _display_utils = __w_pdfjs_require__(1);\n\n var _api = __w_pdfjs_require__(5);\n\n var _util = __w_pdfjs_require__(2);\n\n var _annotation_layer = __w_pdfjs_require__(16);\n\n var _api_compatibility = __w_pdfjs_require__(7);\n\n var _worker_options = __w_pdfjs_require__(10);\n\n var _text_layer = __w_pdfjs_require__(17);\n\n var _svg = __w_pdfjs_require__(18);\n\n var pdfjsVersion = '2.5.207';\n var pdfjsBuild = '0974d605';\n {\n var _w_pdfjs_require__ = __w_pdfjs_require__(4),\n isNodeJS = _w_pdfjs_require__.isNodeJS;\n\n if (isNodeJS) {\n var PDFNodeStream = __w_pdfjs_require__(19).PDFNodeStream;\n\n (0, _api.setPDFNetworkStreamFactory)(function (params) {\n return new PDFNodeStream(params);\n });\n } else {\n var PDFNetworkStream = __w_pdfjs_require__(22).PDFNetworkStream;\n\n var PDFFetchStream;\n\n if ((0, _display_utils.isFetchSupported)()) {\n PDFFetchStream = __w_pdfjs_require__(23).PDFFetchStream;\n }\n\n (0, _api.setPDFNetworkStreamFactory)(function (params) {\n if (PDFFetchStream && (0, _display_utils.isValidFetchUrl)(params.url)) {\n return new PDFFetchStream(params);\n }\n\n return new PDFNetworkStream(params);\n });\n }\n }\n /***/\n },\n /* 1 */\n\n /***/\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.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.LinkTarget = exports.RenderingCancelledException = exports.PageViewport = void 0;\n\n var _util = __w_pdfjs_require__(2);\n\n var DEFAULT_LINK_REL = \"noopener noreferrer nofollow\";\n exports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;\n var SVG_NS = \"http://www.w3.org/2000/svg\";\n\n var DOMCanvasFactory = /*#__PURE__*/function () {\n function DOMCanvasFactory() {\n _classCallCheck(this, DOMCanvasFactory);\n }\n\n _createClass(DOMCanvasFactory, [{\n key: \"create\",\n value: function create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n\n var canvas = document.createElement(\"canvas\");\n var context = canvas.getContext(\"2d\");\n canvas.width = width;\n canvas.height = height;\n return {\n canvas: canvas,\n context: context\n };\n }\n }, {\n key: \"reset\",\n value: function reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n\n canvasAndContext.canvas.width = width;\n canvasAndContext.canvas.height = height;\n }\n }, {\n key: \"destroy\",\n value: function destroy(canvasAndContext) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n\n canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n }]);\n\n return DOMCanvasFactory;\n }();\n\n exports.DOMCanvasFactory = DOMCanvasFactory;\n\n var DOMCMapReaderFactory = /*#__PURE__*/function () {\n function DOMCMapReaderFactory(_ref) {\n var _ref$baseUrl = _ref.baseUrl,\n baseUrl = _ref$baseUrl === void 0 ? null : _ref$baseUrl,\n _ref$isCompressed = _ref.isCompressed,\n isCompressed = _ref$isCompressed === void 0 ? false : _ref$isCompressed;\n\n _classCallCheck(this, DOMCMapReaderFactory);\n\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n\n _createClass(DOMCMapReaderFactory, [{\n key: \"fetch\",\n value: function (_fetch) {\n function fetch(_x) {\n return _fetch.apply(this, arguments);\n }\n\n fetch.toString = function () {\n return _fetch.toString();\n };\n\n return fetch;\n }( /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref2) {\n var _this = this;\n\n var name, url, compressionType;\n return _regeneratorRuntime.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n name = _ref2.name;\n\n if (this.baseUrl) {\n _context2.next = 3;\n break;\n }\n\n throw new Error('The CMap \"baseUrl\" parameter must be specified, ensure that ' + 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.');\n\n case 3:\n if (name) {\n _context2.next = 5;\n break;\n }\n\n throw new Error(\"CMap name must be specified.\");\n\n case 5:\n url = this.baseUrl + name + (this.isCompressed ? \".bcmap\" : \"\");\n compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;\n\n if (!(isFetchSupported() && isValidFetchUrl(url, document.baseURI))) {\n _context2.next = 9;\n break;\n }\n\n return _context2.abrupt(\"return\", fetch(url).then( /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(response) {\n var cMapData;\n return _regeneratorRuntime.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (response.ok) {\n _context.next = 2;\n break;\n }\n\n throw new Error(response.statusText);\n\n case 2:\n if (!_this.isCompressed) {\n _context.next = 10;\n break;\n }\n\n _context.t0 = Uint8Array;\n _context.next = 6;\n return response.arrayBuffer();\n\n case 6:\n _context.t1 = _context.sent;\n cMapData = new _context.t0(_context.t1);\n _context.next = 15;\n break;\n\n case 10:\n _context.t2 = (0, _util.stringToBytes);\n _context.next = 13;\n return response.text();\n\n case 13:\n _context.t3 = _context.sent;\n cMapData = (0, _context.t2)(_context.t3);\n\n case 15:\n return _context.abrupt(\"return\", {\n cMapData: cMapData,\n compressionType: compressionType\n });\n\n case 16:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function (_x3) {\n return _ref4.apply(this, arguments);\n };\n }()).catch(function (reason) {\n throw new Error(\"Unable to load \".concat(_this.isCompressed ? \"binary \" : \"\") + \"CMap at: \".concat(url));\n }));\n\n case 9:\n return _context2.abrupt(\"return\", new Promise(function (resolve, reject) {\n var request = new XMLHttpRequest();\n request.open(\"GET\", url, true);\n\n if (_this.isCompressed) {\n request.responseType = \"arraybuffer\";\n }\n\n request.onreadystatechange = function () {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n\n if (request.status === 200 || request.status === 0) {\n var cMapData;\n\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\n if (cMapData) {\n resolve({\n cMapData: cMapData,\n compressionType: compressionType\n });\n return;\n }\n }\n\n reject(new Error(request.statusText));\n };\n\n request.send(null);\n }).catch(function (reason) {\n throw new Error(\"Unable to load \".concat(_this.isCompressed ? \"binary \" : \"\") + \"CMap at: \".concat(url));\n }));\n\n case 10:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, this);\n }));\n\n return function (_x2) {\n return _ref3.apply(this, arguments);\n };\n }())\n }]);\n\n return DOMCMapReaderFactory;\n }();\n\n exports.DOMCMapReaderFactory = DOMCMapReaderFactory;\n\n var DOMSVGFactory = /*#__PURE__*/function () {\n function DOMSVGFactory() {\n _classCallCheck(this, DOMSVGFactory);\n }\n\n _createClass(DOMSVGFactory, [{\n key: \"create\",\n value: function create(width, height) {\n (0, _util.assert)(width > 0 && height > 0, \"Invalid SVG dimensions\");\n var 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 }, {\n key: \"createElement\",\n value: function createElement(type) {\n (0, _util.assert)(typeof type === \"string\", \"Invalid SVG element type\");\n return document.createElementNS(SVG_NS, type);\n }\n }]);\n\n return DOMSVGFactory;\n }();\n\n exports.DOMSVGFactory = DOMSVGFactory;\n\n var PageViewport = /*#__PURE__*/function () {\n function PageViewport(_ref5) {\n var viewBox = _ref5.viewBox,\n scale = _ref5.scale,\n rotation = _ref5.rotation,\n _ref5$offsetX = _ref5.offsetX,\n offsetX = _ref5$offsetX === void 0 ? 0 : _ref5$offsetX,\n _ref5$offsetY = _ref5.offsetY,\n offsetY = _ref5$offsetY === void 0 ? 0 : _ref5$offsetY,\n _ref5$dontFlip = _ref5.dontFlip,\n dontFlip = _ref5$dontFlip === void 0 ? false : _ref5$dontFlip;\n\n _classCallCheck(this, PageViewport);\n\n this.viewBox = viewBox;\n this.scale = scale;\n this.rotation = rotation;\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n var centerX = (viewBox[2] + viewBox[0]) / 2;\n var centerY = (viewBox[3] + viewBox[1]) / 2;\n var rotateA, rotateB, rotateC, rotateD;\n rotation = rotation % 360;\n rotation = rotation < 0 ? rotation + 360 : rotation;\n\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n\n case 0:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n\n default:\n throw new Error(\"PageViewport: Invalid rotation, must be a multiple of 90 degrees.\");\n }\n\n if (dontFlip) {\n rotateC = -rotateC;\n rotateD = -rotateD;\n }\n\n var offsetCanvasX, offsetCanvasY;\n var width, height;\n\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\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\n _createClass(PageViewport, [{\n key: \"clone\",\n value: function clone() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref6$scale = _ref6.scale,\n scale = _ref6$scale === void 0 ? this.scale : _ref6$scale,\n _ref6$rotation = _ref6.rotation,\n rotation = _ref6$rotation === void 0 ? this.rotation : _ref6$rotation,\n _ref6$offsetX = _ref6.offsetX,\n offsetX = _ref6$offsetX === void 0 ? this.offsetX : _ref6$offsetX,\n _ref6$offsetY = _ref6.offsetY,\n offsetY = _ref6$offsetY === void 0 ? this.offsetY : _ref6$offsetY,\n _ref6$dontFlip = _ref6.dontFlip,\n dontFlip = _ref6$dontFlip === void 0 ? false : _ref6$dontFlip;\n\n return new PageViewport({\n viewBox: this.viewBox.slice(),\n scale: scale,\n rotation: rotation,\n offsetX: offsetX,\n offsetY: offsetY,\n dontFlip: dontFlip\n });\n }\n }, {\n key: \"convertToViewportPoint\",\n value: function convertToViewportPoint(x, y) {\n return _util.Util.applyTransform([x, y], this.transform);\n }\n }, {\n key: \"convertToViewportRectangle\",\n value: function convertToViewportRectangle(rect) {\n var topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);\n\n var bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);\n\n return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];\n }\n }, {\n key: \"convertToPdfPoint\",\n value: function convertToPdfPoint(x, y) {\n return _util.Util.applyInverseTransform([x, y], this.transform);\n }\n }]);\n\n return PageViewport;\n }();\n\n exports.PageViewport = PageViewport;\n\n var RenderingCancelledException = /*#__PURE__*/function (_util$BaseException) {\n _inherits(RenderingCancelledException, _util$BaseException);\n\n var _super = _createSuper(RenderingCancelledException);\n\n function RenderingCancelledException(msg, type) {\n var _this2;\n\n _classCallCheck(this, RenderingCancelledException);\n\n _this2 = _super.call(this, msg);\n _this2.type = type;\n return _this2;\n }\n\n return _createClass(RenderingCancelledException);\n }(_util.BaseException);\n\n exports.RenderingCancelledException = RenderingCancelledException;\n var LinkTarget = {\n NONE: 0,\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4\n };\n exports.LinkTarget = LinkTarget;\n\n function addLinkAttributes(link) {\n var _ref7 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n url = _ref7.url,\n target = _ref7.target,\n rel = _ref7.rel,\n _ref7$enabled = _ref7.enabled,\n enabled = _ref7$enabled === void 0 ? true : _ref7$enabled;\n\n (0, _util.assert)(url && typeof url === \"string\", 'addLinkAttributes: A valid \"url\" parameter must provided.');\n var urlNullRemoved = (0, _util.removeNullCharacters)(url);\n\n if (enabled) {\n link.href = link.title = urlNullRemoved;\n } else {\n link.href = \"\";\n link.title = \"Disabled: \".concat(urlNullRemoved);\n\n link.onclick = function () {\n return false;\n };\n }\n\n var targetStr = \"\";\n\n switch (target) {\n case LinkTarget.NONE:\n break;\n\n case LinkTarget.SELF:\n targetStr = \"_self\";\n break;\n\n case LinkTarget.BLANK:\n targetStr = \"_blank\";\n break;\n\n case LinkTarget.PARENT:\n targetStr = \"_parent\";\n break;\n\n case LinkTarget.TOP:\n targetStr = \"_top\";\n break;\n }\n\n link.target = targetStr;\n link.rel = typeof rel === \"string\" ? rel : DEFAULT_LINK_REL;\n }\n\n function getFilenameFromUrl(url) {\n var anchor = url.indexOf(\"#\");\n var query = url.indexOf(\"?\");\n var end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);\n return url.substring(url.lastIndexOf(\"/\", end) + 1, end);\n }\n\n var StatTimer = /*#__PURE__*/function () {\n function StatTimer() {\n _classCallCheck(this, StatTimer);\n\n this.started = Object.create(null);\n this.times = [];\n }\n\n _createClass(StatTimer, [{\n key: \"time\",\n value: function time(name) {\n if (name in this.started) {\n (0, _util.warn)(\"Timer is already running for \".concat(name));\n }\n\n this.started[name] = Date.now();\n }\n }, {\n key: \"timeEnd\",\n value: function timeEnd(name) {\n if (!(name in this.started)) {\n (0, _util.warn)(\"Timer has not been started for \".concat(name));\n }\n\n this.times.push({\n name: name,\n start: this.started[name],\n end: Date.now()\n });\n delete this.started[name];\n }\n }, {\n key: \"toString\",\n value: function toString() {\n var outBuf = [];\n var longest = 0;\n\n var _iterator = _createForOfIteratorHelper(this.times),\n _step;\n\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var time = _step.value;\n var name = time.name;\n\n if (name.length > longest) {\n longest = name.length;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n\n var _iterator2 = _createForOfIteratorHelper(this.times),\n _step2;\n\n try {\n for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n var _time = _step2.value;\n var duration = _time.end - _time.start;\n outBuf.push(\"\".concat(_time.name.padEnd(longest), \" \").concat(duration, \"ms\\n\"));\n }\n } catch (err) {\n _iterator2.e(err);\n } finally {\n _iterator2.f();\n }\n\n return outBuf.join(\"\");\n }\n }]);\n\n return StatTimer;\n }();\n\n exports.StatTimer = StatTimer;\n\n function isFetchSupported() {\n return typeof fetch !== \"undefined\" && typeof Response !== \"undefined\" && \"body\" in Response.prototype && typeof ReadableStream !== \"undefined\";\n }\n\n function isValidFetchUrl(url, baseUrl) {\n try {\n var _ref8 = baseUrl ? new URL(url, baseUrl) : new URL(url),\n protocol = _ref8.protocol;\n\n return protocol === \"http:\" || protocol === \"https:\";\n } catch (ex) {\n return false;\n }\n }\n\n function loadScript(src) {\n return new Promise(function (resolve, reject) {\n var script = document.createElement(\"script\");\n script.src = src;\n script.onload = resolve;\n\n script.onerror = function () {\n reject(new Error(\"Cannot load script at: \".concat(script.src)));\n };\n\n (document.head || document.documentElement).appendChild(script);\n });\n }\n\n function deprecated(details) {\n console.log(\"Deprecated API usage: \" + details);\n }\n\n var pdfDateStringRegex;\n\n var PDFDateString = /*#__PURE__*/function () {\n function PDFDateString() {\n _classCallCheck(this, PDFDateString);\n }\n\n _createClass(PDFDateString, null, [{\n key: \"toDateObject\",\n value: function toDateObject(input) {\n if (!input || !(0, _util.isString)(input)) {\n return null;\n }\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\n var matches = pdfDateStringRegex.exec(input);\n\n if (!matches) {\n return null;\n }\n\n var year = parseInt(matches[1], 10);\n var month = parseInt(matches[2], 10);\n month = month >= 1 && month <= 12 ? month - 1 : 0;\n var day = parseInt(matches[3], 10);\n day = day >= 1 && day <= 31 ? day : 1;\n var hour = parseInt(matches[4], 10);\n hour = hour >= 0 && hour <= 23 ? hour : 0;\n var minute = parseInt(matches[5], 10);\n minute = minute >= 0 && minute <= 59 ? minute : 0;\n var second = parseInt(matches[6], 10);\n second = second >= 0 && second <= 59 ? second : 0;\n var universalTimeRelation = matches[7] || \"Z\";\n var offsetHour = parseInt(matches[8], 10);\n offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;\n var offsetMinute = parseInt(matches[9], 10) || 0;\n offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;\n\n if (universalTimeRelation === \"-\") {\n hour += offsetHour;\n minute += offsetMinute;\n } else if (universalTimeRelation === \"+\") {\n hour -= offsetHour;\n minute -= offsetMinute;\n }\n\n return new Date(Date.UTC(year, month, day, hour, minute, second));\n }\n }]);\n\n return PDFDateString;\n }();\n\n exports.PDFDateString = PDFDateString;\n /***/\n },\n /* 2 */\n\n /***/\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.getVerbosityLevel = getVerbosityLevel;\n exports.info = info;\n exports.isArrayBuffer = isArrayBuffer;\n exports.isArrayEqual = isArrayEqual;\n exports.isBool = isBool;\n exports.isEmptyObj = isEmptyObj;\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\n __w_pdfjs_require__(3);\n\n var IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\n exports.IDENTITY_MATRIX = IDENTITY_MATRIX;\n var FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\n exports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\n var 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 var 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 var ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n };\n exports.ImageKind = ImageKind;\n var 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 var AnnotationStateModelType = {\n MARKED: \"Marked\",\n REVIEW: \"Review\"\n };\n exports.AnnotationStateModelType = AnnotationStateModelType;\n var AnnotationMarkedState = {\n MARKED: \"Marked\",\n UNMARKED: \"Unmarked\"\n };\n exports.AnnotationMarkedState = AnnotationMarkedState;\n var AnnotationReviewState = {\n ACCEPTED: \"Accepted\",\n REJECTED: \"Rejected\",\n CANCELLED: \"Cancelled\",\n COMPLETED: \"Completed\",\n NONE: \"None\"\n };\n exports.AnnotationReviewState = AnnotationReviewState;\n var AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\"\n };\n exports.AnnotationReplyType = AnnotationReplyType;\n var 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 var 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 var AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n };\n exports.AnnotationBorderStyleType = AnnotationBorderStyleType;\n var 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 var 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 var VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n };\n exports.VerbosityLevel = VerbosityLevel;\n var CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n };\n exports.CMapCompressionType = CMapCompressionType;\n var 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 var 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 };\n exports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\n var PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n };\n exports.PasswordResponses = PasswordResponses;\n var verbosity = VerbosityLevel.WARNINGS;\n\n function setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n }\n\n function getVerbosityLevel() {\n return verbosity;\n }\n\n function info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(\"Info: \".concat(msg));\n }\n }\n\n function warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(\"Warning: \".concat(msg));\n }\n }\n\n function unreachable(msg) {\n throw new Error(msg);\n }\n\n function assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n }\n\n function isSameOrigin(baseUrl, otherUrl) {\n var base;\n\n try {\n base = new URL(baseUrl);\n\n if (!base.origin || base.origin === \"null\") {\n return false;\n }\n } catch (e) {\n return false;\n }\n\n var other = new URL(otherUrl, base);\n return base.origin === other.origin;\n }\n\n function _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n\n switch (url.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n\n default:\n return false;\n }\n }\n\n function createValidAbsoluteUrl(url, baseUrl) {\n if (!url) {\n return null;\n }\n\n try {\n var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n\n return null;\n }\n\n function shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: false\n });\n return value;\n }\n\n var BaseException = function BaseExceptionClosure() {\n function BaseException(message) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n\n this.message = message;\n this.name = this.constructor.name;\n }\n\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n return BaseException;\n }();\n\n exports.BaseException = BaseException;\n\n var PasswordException = /*#__PURE__*/function (_BaseException) {\n _inherits(PasswordException, _BaseException);\n\n var _super2 = _createSuper(PasswordException);\n\n function PasswordException(msg, code) {\n var _this3;\n\n _classCallCheck(this, PasswordException);\n\n _this3 = _super2.call(this, msg);\n _this3.code = code;\n return _this3;\n }\n\n return _createClass(PasswordException);\n }(BaseException);\n\n exports.PasswordException = PasswordException;\n\n var UnknownErrorException = /*#__PURE__*/function (_BaseException2) {\n _inherits(UnknownErrorException, _BaseException2);\n\n var _super3 = _createSuper(UnknownErrorException);\n\n function UnknownErrorException(msg, details) {\n var _this4;\n\n _classCallCheck(this, UnknownErrorException);\n\n _this4 = _super3.call(this, msg);\n _this4.details = details;\n return _this4;\n }\n\n return _createClass(UnknownErrorException);\n }(BaseException);\n\n exports.UnknownErrorException = UnknownErrorException;\n\n var InvalidPDFException = /*#__PURE__*/function (_BaseException3) {\n _inherits(InvalidPDFException, _BaseException3);\n\n var _super4 = _createSuper(InvalidPDFException);\n\n function InvalidPDFException() {\n _classCallCheck(this, InvalidPDFException);\n\n return _super4.apply(this, arguments);\n }\n\n return _createClass(InvalidPDFException);\n }(BaseException);\n\n exports.InvalidPDFException = InvalidPDFException;\n\n var MissingPDFException = /*#__PURE__*/function (_BaseException4) {\n _inherits(MissingPDFException, _BaseException4);\n\n var _super5 = _createSuper(MissingPDFException);\n\n function MissingPDFException() {\n _classCallCheck(this, MissingPDFException);\n\n return _super5.apply(this, arguments);\n }\n\n return _createClass(MissingPDFException);\n }(BaseException);\n\n exports.MissingPDFException = MissingPDFException;\n\n var UnexpectedResponseException = /*#__PURE__*/function (_BaseException5) {\n _inherits(UnexpectedResponseException, _BaseException5);\n\n var _super6 = _createSuper(UnexpectedResponseException);\n\n function UnexpectedResponseException(msg, status) {\n var _this5;\n\n _classCallCheck(this, UnexpectedResponseException);\n\n _this5 = _super6.call(this, msg);\n _this5.status = status;\n return _this5;\n }\n\n return _createClass(UnexpectedResponseException);\n }(BaseException);\n\n exports.UnexpectedResponseException = UnexpectedResponseException;\n\n var FormatError = /*#__PURE__*/function (_BaseException6) {\n _inherits(FormatError, _BaseException6);\n\n var _super7 = _createSuper(FormatError);\n\n function FormatError() {\n _classCallCheck(this, FormatError);\n\n return _super7.apply(this, arguments);\n }\n\n return _createClass(FormatError);\n }(BaseException);\n\n exports.FormatError = FormatError;\n\n var AbortException = /*#__PURE__*/function (_BaseException7) {\n _inherits(AbortException, _BaseException7);\n\n var _super8 = _createSuper(AbortException);\n\n function AbortException() {\n _classCallCheck(this, AbortException);\n\n return _super8.apply(this, arguments);\n }\n\n return _createClass(AbortException);\n }(BaseException);\n\n exports.AbortException = AbortException;\n var NullCharactersRegExp = /\\x00/g;\n\n function removeNullCharacters(str) {\n if (typeof str !== \"string\") {\n warn(\"The argument for removeNullCharacters must be a string.\");\n return str;\n }\n\n return str.replace(NullCharactersRegExp, \"\");\n }\n\n function bytesToString(bytes) {\n assert(bytes !== null && typeof bytes === \"object\" && bytes.length !== undefined, \"Invalid argument for bytesToString\");\n var length = bytes.length;\n var MAX_ARGUMENT_COUNT = 8192;\n\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n\n var strBuf = [];\n\n for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n var chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n\n return strBuf.join(\"\");\n }\n\n function stringToBytes(str) {\n assert(typeof str === \"string\", \"Invalid argument for stringToBytes\");\n var length = str.length;\n var bytes = new Uint8Array(length);\n\n for (var i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n\n return bytes;\n }\n\n function arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n\n assert(arr.byteLength !== undefined, \"arrayByteLength - invalid argument.\");\n return arr.byteLength;\n }\n\n function arraysToBytes(arr) {\n var length = arr.length;\n\n if (length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n\n var resultLength = 0;\n\n for (var i = 0; i < length; i++) {\n resultLength += arrayByteLength(arr[i]);\n }\n\n var pos = 0;\n var data = new Uint8Array(resultLength);\n\n for (var _i = 0; _i < length; _i++) {\n var item = arr[_i];\n\n if (!(item instanceof Uint8Array)) {\n if (typeof item === \"string\") {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n\n var itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n\n return data;\n }\n\n function string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n }\n\n function isLittleEndian() {\n var buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n var view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n }\n\n var IsLittleEndianCached = {\n get value() {\n return shadow(this, \"value\", isLittleEndian());\n }\n\n };\n exports.IsLittleEndianCached = IsLittleEndianCached;\n\n function isEvalSupported() {\n try {\n new Function(\"\");\n return true;\n } catch (e) {\n return false;\n }\n }\n\n var IsEvalSupportedCached = {\n get value() {\n return shadow(this, \"value\", isEvalSupported());\n }\n\n };\n exports.IsEvalSupportedCached = IsEvalSupportedCached;\n var rgbBuf = [\"rgb(\", 0, \",\", 0, \",\", 0, \")\"];\n\n var Util = /*#__PURE__*/function () {\n function Util() {\n _classCallCheck(this, Util);\n }\n\n _createClass(Util, null, [{\n key: \"makeCssRgb\",\n value: function makeCssRgb(r, g, b) {\n rgbBuf[1] = r;\n rgbBuf[3] = g;\n rgbBuf[5] = b;\n return rgbBuf.join(\"\");\n }\n }, {\n key: \"transform\",\n value: function 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 }, {\n key: \"applyTransform\",\n value: function applyTransform(p, m) {\n var xt = p[0] * m[0] + p[1] * m[2] + m[4];\n var yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n }, {\n key: \"applyInverseTransform\",\n value: function applyInverseTransform(p, m) {\n var d = m[0] * m[3] - m[1] * m[2];\n var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n }, {\n key: \"getAxialAlignedBoundingBox\",\n value: function getAxialAlignedBoundingBox(r, m) {\n var p1 = Util.applyTransform(r, m);\n var p2 = Util.applyTransform(r.slice(2, 4), m);\n var p3 = Util.applyTransform([r[0], r[3]], m);\n var 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 }, {\n key: \"inverseTransform\",\n value: function inverseTransform(m) {\n var 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 }, {\n key: \"apply3dTransform\",\n value: function 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 }, {\n key: \"singularValueDecompose2dScale\",\n value: function singularValueDecompose2dScale(m) {\n var transpose = [m[0], m[2], m[1], m[3]];\n var a = m[0] * transpose[0] + m[1] * transpose[2];\n var b = m[0] * transpose[1] + m[1] * transpose[3];\n var c = m[2] * transpose[0] + m[3] * transpose[2];\n var d = m[2] * transpose[1] + m[3] * transpose[3];\n var first = (a + d) / 2;\n var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n var sx = first + second || 1;\n var sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n }, {\n key: \"normalizeRect\",\n value: function normalizeRect(rect) {\n var r = rect.slice(0);\n\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n\n return r;\n }\n }, {\n key: \"intersect\",\n value: function intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n\n var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);\n var orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);\n var result = [];\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n\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\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\n return result;\n }\n }]);\n\n return Util;\n }();\n\n exports.Util = Util;\n var 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\n function stringToPDFString(str) {\n var length = str.length,\n strBuf = [];\n\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n for (var 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 (var _i2 = 2; _i2 < length; _i2 += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(_i2 + 1) << 8 | str.charCodeAt(_i2)));\n }\n } else {\n for (var _i3 = 0; _i3 < length; ++_i3) {\n var code = PDFStringTranslateTable[str.charCodeAt(_i3)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(_i3));\n }\n }\n\n return strBuf.join(\"\");\n }\n\n function stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n }\n\n function utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n }\n\n function isEmptyObj(obj) {\n for (var key in obj) {\n return false;\n }\n\n return true;\n }\n\n function isBool(v) {\n return typeof v === \"boolean\";\n }\n\n function isNum(v) {\n return typeof v === \"number\";\n }\n\n function isString(v) {\n return typeof v === \"string\";\n }\n\n function isArrayBuffer(v) {\n return typeof v === \"object\" && v !== null && v.byteLength !== undefined;\n }\n\n function isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n\n return arr1.every(function (element, index) {\n return element === arr2[index];\n });\n }\n\n function createPromiseCapability() {\n var capability = Object.create(null);\n var isSettled = false;\n Object.defineProperty(capability, \"settled\", {\n get: function 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\n capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n }\n\n var createObjectURL = function createObjectURLClosure() {\n var digits = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n return function createObjectURL(data, contentType) {\n var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (!forceDataSchema && URL.createObjectURL) {\n var blob = new Blob([data], {\n type: contentType\n });\n return URL.createObjectURL(blob);\n }\n\n var buffer = \"data:\".concat(contentType, \";base64,\");\n\n for (var i = 0, ii = data.length; i < ii; i += 3) {\n var b1 = data[i] & 0xff;\n var b2 = data[i + 1] & 0xff;\n var b3 = data[i + 2] & 0xff;\n var d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n var d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;\n var d4 = i + 2 < ii ? b3 & 0x3f : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n\n return buffer;\n };\n }();\n\n exports.createObjectURL = createObjectURL;\n /***/\n },\n /* 3 */\n\n /***/\n function (module, exports, __w_pdfjs_require__) {\n \"use strict\";\n\n var _is_node = __w_pdfjs_require__(4);\n\n ;\n /***/\n },\n /* 4 */\n\n /***/\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 var isNodeJS = typeof process === \"object\" && process + \"\" === \"[object process]\" && !process.versions.nw && !process.versions.electron;\n exports.isNodeJS = isNodeJS;\n /***/\n },\n /* 5 */\n\n /***/\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\n var _util = __w_pdfjs_require__(2);\n\n var _display_utils = __w_pdfjs_require__(1);\n\n var _font_loader = __w_pdfjs_require__(6);\n\n var _api_compatibility = __w_pdfjs_require__(7);\n\n var _canvas = __w_pdfjs_require__(8);\n\n var _worker_options = __w_pdfjs_require__(10);\n\n var _is_node = __w_pdfjs_require__(4);\n\n var _message_handler = __w_pdfjs_require__(11);\n\n var _metadata = __w_pdfjs_require__(12);\n\n var _transport_stream = __w_pdfjs_require__(14);\n\n var _webgl = __w_pdfjs_require__(15);\n\n var DEFAULT_RANGE_CHUNK_SIZE = 65536;\n var RENDERING_CANCELLED_TIMEOUT = 100;\n var createPDFNetworkStream;\n\n function setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n }\n\n function getDocument(src) {\n var task = new PDFDocumentLoadingTask();\n var source;\n\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\n if (!src.url && !src.data && !src.range) {\n throw new Error(\"Invalid parameter object: need either .data, .range or .url\");\n }\n\n source = src;\n }\n\n var params = Object.create(null);\n var rangeTransport = null,\n worker = null;\n\n for (var 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 var pdfBytes = source[key];\n\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\n continue;\n }\n\n params[key] = source[key];\n }\n\n params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n params.CMapReaderFactory = params.CMapReaderFactory || _display_utils.DOMCMapReaderFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.fontExtraProperties = params.fontExtraProperties === true;\n params.pdfBug = params.pdfBug === true;\n\n if (!Number.isInteger(params.maxImageSize)) {\n params.maxImageSize = -1;\n }\n\n if (typeof params.isEvalSupported !== \"boolean\") {\n params.isEvalSupported = true;\n }\n\n if (typeof params.disableFontFace !== \"boolean\") {\n params.disableFontFace = _api_compatibility.apiCompatibilityParams.disableFontFace || false;\n }\n\n if (typeof params.disableRange !== \"boolean\") {\n params.disableRange = false;\n }\n\n if (typeof params.disableStream !== \"boolean\") {\n params.disableStream = false;\n }\n\n if (typeof params.disableAutoFetch !== \"boolean\") {\n params.disableAutoFetch = false;\n }\n\n (0, _util.setVerbosityLevel)(params.verbosity);\n\n if (!worker) {\n var 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\n var docId = task.docId;\n worker.promise.then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n var workerIdPromise = _fetchDocument(worker, params, rangeTransport, docId);\n\n var networkStreamPromise = new Promise(function (resolve) {\n var networkStream;\n\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\n resolve(networkStream);\n });\n return Promise.all([workerIdPromise, networkStreamPromise]).then(function (_ref9) {\n var _ref10 = _slicedToArray(_ref9, 2),\n workerId = _ref10[0],\n networkStream = _ref10[1];\n\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n var messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);\n messageHandler.postMessageTransfers = worker.postMessageTransfers;\n var 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\n function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n return Promise.reject(new Error(\"Worker was destroyed\"));\n }\n\n if (pdfDataRangeTransport) {\n source.length = pdfDataRangeTransport.length;\n source.initialData = pdfDataRangeTransport.initialData;\n source.progressiveDone = pdfDataRangeTransport.progressiveDone;\n }\n\n return worker.messageHandler.sendWithPromise(\"GetDocRequest\", {\n docId: docId,\n apiVersion: '2.5.207',\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\n return workerId;\n });\n }\n\n var PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {\n var nextDocumentId = 0;\n\n var PDFDocumentLoadingTask = /*#__PURE__*/function () {\n function PDFDocumentLoadingTask() {\n _classCallCheck(this, PDFDocumentLoadingTask);\n\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\n _createClass(PDFDocumentLoadingTask, [{\n key: \"promise\",\n get: function get() {\n return this._capability.promise;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n var _this6 = this;\n\n this.destroyed = true;\n var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();\n return transportDestroyed.then(function () {\n _this6._transport = null;\n\n if (_this6._worker) {\n _this6._worker.destroy();\n\n _this6._worker = null;\n }\n });\n }\n }]);\n\n return PDFDocumentLoadingTask;\n }();\n\n return PDFDocumentLoadingTask;\n }();\n\n var PDFDataRangeTransport = /*#__PURE__*/function () {\n function PDFDataRangeTransport(length, initialData) {\n var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, PDFDataRangeTransport);\n\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\n _createClass(PDFDataRangeTransport, [{\n key: \"addRangeListener\",\n value: function addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n }, {\n key: \"addProgressListener\",\n value: function addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n }, {\n key: \"addProgressiveReadListener\",\n value: function addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n }, {\n key: \"addProgressiveDoneListener\",\n value: function addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n }, {\n key: \"onDataRange\",\n value: function onDataRange(begin, chunk) {\n var _iterator3 = _createForOfIteratorHelper(this._rangeListeners),\n _step3;\n\n try {\n for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n var listener = _step3.value;\n listener(begin, chunk);\n }\n } catch (err) {\n _iterator3.e(err);\n } finally {\n _iterator3.f();\n }\n }\n }, {\n key: \"onDataProgress\",\n value: function onDataProgress(loaded, total) {\n var _this7 = this;\n\n this._readyCapability.promise.then(function () {\n var _iterator4 = _createForOfIteratorHelper(_this7._progressListeners),\n _step4;\n\n try {\n for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n var listener = _step4.value;\n listener(loaded, total);\n }\n } catch (err) {\n _iterator4.e(err);\n } finally {\n _iterator4.f();\n }\n });\n }\n }, {\n key: \"onDataProgressiveRead\",\n value: function onDataProgressiveRead(chunk) {\n var _this8 = this;\n\n this._readyCapability.promise.then(function () {\n var _iterator5 = _createForOfIteratorHelper(_this8._progressiveReadListeners),\n _step5;\n\n try {\n for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n var listener = _step5.value;\n listener(chunk);\n }\n } catch (err) {\n _iterator5.e(err);\n } finally {\n _iterator5.f();\n }\n });\n }\n }, {\n key: \"onDataProgressiveDone\",\n value: function onDataProgressiveDone() {\n var _this9 = this;\n\n this._readyCapability.promise.then(function () {\n var _iterator6 = _createForOfIteratorHelper(_this9._progressiveDoneListeners),\n _step6;\n\n try {\n for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n var listener = _step6.value;\n listener();\n }\n } catch (err) {\n _iterator6.e(err);\n } finally {\n _iterator6.f();\n }\n });\n }\n }, {\n key: \"transportReady\",\n value: function transportReady() {\n this._readyCapability.resolve();\n }\n }, {\n key: \"requestDataRange\",\n value: function requestDataRange(begin, end) {\n (0, _util.unreachable)(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n }\n }, {\n key: \"abort\",\n value: function abort() {}\n }]);\n\n return PDFDataRangeTransport;\n }();\n\n exports.PDFDataRangeTransport = PDFDataRangeTransport;\n\n var PDFDocumentProxy = /*#__PURE__*/function () {\n function PDFDocumentProxy(pdfInfo, transport) {\n _classCallCheck(this, PDFDocumentProxy);\n\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n }\n\n _createClass(PDFDocumentProxy, [{\n key: \"numPages\",\n get: function get() {\n return this._pdfInfo.numPages;\n }\n }, {\n key: \"fingerprint\",\n get: function get() {\n return this._pdfInfo.fingerprint;\n }\n }, {\n key: \"getPage\",\n value: function getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n }, {\n key: \"getDestinations\",\n value: function getDestinations() {\n return this._transport.getDestinations();\n }\n }, {\n key: \"getDestination\",\n value: function getDestination(id) {\n return this._transport.getDestination(id);\n }\n }, {\n key: \"getPageLabels\",\n value: function getPageLabels() {\n return this._transport.getPageLabels();\n }\n }, {\n key: \"getPageLayout\",\n value: function getPageLayout() {\n return this._transport.getPageLayout();\n }\n }, {\n key: \"getPageMode\",\n value: function getPageMode() {\n return this._transport.getPageMode();\n }\n }, {\n key: \"getViewerPreferences\",\n value: function getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n }, {\n key: \"getOpenAction\",\n value: function getOpenAction() {\n return this._transport.getOpenAction();\n }\n }, {\n key: \"getOpenActionDestination\",\n value: function getOpenActionDestination() {\n (0, _display_utils.deprecated)(\"getOpenActionDestination, use getOpenAction instead.\");\n return this.getOpenAction().then(function (openAction) {\n return openAction && openAction.dest ? openAction.dest : null;\n });\n }\n }, {\n key: \"getAttachments\",\n value: function getAttachments() {\n return this._transport.getAttachments();\n }\n }, {\n key: \"getJavaScript\",\n value: function getJavaScript() {\n return this._transport.getJavaScript();\n }\n }, {\n key: \"getOutline\",\n value: function getOutline() {\n return this._transport.getOutline();\n }\n }, {\n key: \"getPermissions\",\n value: function getPermissions() {\n return this._transport.getPermissions();\n }\n }, {\n key: \"getMetadata\",\n value: function getMetadata() {\n return this._transport.getMetadata();\n }\n }, {\n key: \"getData\",\n value: function getData() {\n return this._transport.getData();\n }\n }, {\n key: \"getDownloadInfo\",\n value: function getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n }, {\n key: \"getStats\",\n value: function getStats() {\n return this._transport.getStats();\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n return this._transport.startCleanup();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n return this.loadingTask.destroy();\n }\n }, {\n key: \"loadingParams\",\n get: function get() {\n return this._transport.loadingParams;\n }\n }, {\n key: \"loadingTask\",\n get: function get() {\n return this._transport.loadingTask;\n }\n }]);\n\n return PDFDocumentProxy;\n }();\n\n exports.PDFDocumentProxy = PDFDocumentProxy;\n\n var PDFPageProxy = /*#__PURE__*/function () {\n function PDFPageProxy(pageIndex, pageInfo, transport) {\n var pdfBug = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n _classCallCheck(this, PDFPageProxy);\n\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\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 = Object.create(null);\n this.destroyed = false;\n }\n\n _createClass(PDFPageProxy, [{\n key: \"pageNumber\",\n get: function get() {\n return this._pageIndex + 1;\n }\n }, {\n key: \"rotate\",\n get: function get() {\n return this._pageInfo.rotate;\n }\n }, {\n key: \"ref\",\n get: function get() {\n return this._pageInfo.ref;\n }\n }, {\n key: \"userUnit\",\n get: function get() {\n return this._pageInfo.userUnit;\n }\n }, {\n key: \"view\",\n get: function get() {\n return this._pageInfo.view;\n }\n }, {\n key: \"getViewport\",\n value: function getViewport() {\n var _ref11 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n scale = _ref11.scale,\n _ref11$rotation = _ref11.rotation,\n rotation = _ref11$rotation === void 0 ? this.rotate : _ref11$rotation,\n _ref11$offsetX = _ref11.offsetX,\n offsetX = _ref11$offsetX === void 0 ? 0 : _ref11$offsetX,\n _ref11$offsetY = _ref11.offsetY,\n offsetY = _ref11$offsetY === void 0 ? 0 : _ref11$offsetY,\n _ref11$dontFlip = _ref11.dontFlip,\n dontFlip = _ref11$dontFlip === void 0 ? false : _ref11$dontFlip;\n\n return new _display_utils.PageViewport({\n viewBox: this.view,\n scale: scale,\n rotation: rotation,\n offsetX: offsetX,\n offsetY: offsetY,\n dontFlip: dontFlip\n });\n }\n }, {\n key: \"getAnnotations\",\n value: function getAnnotations() {\n var _ref12 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref12$intent = _ref12.intent,\n intent = _ref12$intent === void 0 ? null : _ref12$intent;\n\n if (!this.annotationsPromise || this.annotationsIntent !== intent) {\n this.annotationsPromise = this._transport.getAnnotations(this._pageIndex, intent);\n this.annotationsIntent = intent;\n }\n\n return this.annotationsPromise;\n }\n }, {\n key: \"render\",\n value: function render(_ref13) {\n var _this10 = this;\n\n var canvasContext = _ref13.canvasContext,\n viewport = _ref13.viewport,\n _ref13$intent = _ref13.intent,\n intent = _ref13$intent === void 0 ? \"display\" : _ref13$intent,\n _ref13$enableWebGL = _ref13.enableWebGL,\n enableWebGL = _ref13$enableWebGL === void 0 ? false : _ref13$enableWebGL,\n _ref13$renderInteract = _ref13.renderInteractiveForms,\n renderInteractiveForms = _ref13$renderInteract === void 0 ? false : _ref13$renderInteract,\n _ref13$transform = _ref13.transform,\n transform = _ref13$transform === void 0 ? null : _ref13$transform,\n _ref13$imageLayer = _ref13.imageLayer,\n imageLayer = _ref13$imageLayer === void 0 ? null : _ref13$imageLayer,\n _ref13$canvasFactory = _ref13.canvasFactory,\n canvasFactory = _ref13$canvasFactory === void 0 ? null : _ref13$canvasFactory,\n _ref13$background = _ref13.background,\n background = _ref13$background === void 0 ? null : _ref13$background;\n\n if (this._stats) {\n this._stats.time(\"Overall\");\n }\n\n var renderingIntent = intent === \"print\" ? \"print\" : \"display\";\n this.pendingCleanup = false;\n\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n\n var intentState = this.intentStates[renderingIntent];\n\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n var canvasFactoryInstance = canvasFactory || new _display_utils.DOMCanvasFactory();\n var webGLContext = new _webgl.WebGLContext({\n enable: enableWebGL\n });\n\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = (0, _util.createPromiseCapability)();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n\n this._pumpOperatorList({\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n renderInteractiveForms: renderInteractiveForms === true\n });\n }\n\n var complete = function complete(error) {\n var i = intentState.renderTasks.indexOf(internalRenderTask);\n\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n\n if (_this10.cleanupAfterRender || renderingIntent === \"print\") {\n _this10.pendingCleanup = true;\n }\n\n _this10._tryCleanup();\n\n if (error) {\n internalRenderTask.capability.reject(error);\n\n _this10._abortOperatorList({\n intentState: intentState,\n reason: error\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n\n if (_this10._stats) {\n _this10._stats.timeEnd(\"Rendering\");\n\n _this10._stats.timeEnd(\"Overall\");\n }\n };\n\n var internalRenderTask = new InternalRenderTask({\n callback: complete,\n params: {\n canvasContext: canvasContext,\n viewport: viewport,\n transform: transform,\n imageLayer: imageLayer,\n background: background\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: canvasFactoryInstance,\n webGLContext: webGLContext,\n useRequestAnimationFrame: renderingIntent !== \"print\",\n pdfBug: this._pdfBug\n });\n\n if (!intentState.renderTasks) {\n intentState.renderTasks = [];\n }\n\n intentState.renderTasks.push(internalRenderTask);\n var renderTask = internalRenderTask.task;\n intentState.displayReadyCapability.promise.then(function (transparency) {\n if (_this10.pendingCleanup) {\n complete();\n return;\n }\n\n if (_this10._stats) {\n _this10._stats.time(\"Rendering\");\n }\n\n internalRenderTask.initializeGraphics(transparency);\n internalRenderTask.operatorListChanged();\n }).catch(complete);\n return renderTask;\n }\n }, {\n key: \"getOperatorList\",\n value: function getOperatorList() {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n var i = intentState.renderTasks.indexOf(opListTask);\n\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n }\n }\n\n var renderingIntent = \"oplist\";\n\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n\n var intentState = this.intentStates[renderingIntent];\n var opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = {};\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\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n\n this._pumpOperatorList({\n pageIndex: this._pageIndex,\n intent: renderingIntent\n });\n }\n\n return intentState.opListReadCapability.promise;\n }\n }, {\n key: \"streamTextContent\",\n value: function streamTextContent() {\n var _ref14 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref14$normalizeWhite = _ref14.normalizeWhitespace,\n normalizeWhitespace = _ref14$normalizeWhite === void 0 ? false : _ref14$normalizeWhite,\n _ref14$disableCombine = _ref14.disableCombineTextItems,\n disableCombineTextItems = _ref14$disableCombine === void 0 ? false : _ref14$disableCombine;\n\n var 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: function size(textContent) {\n return textContent.items.length;\n }\n });\n }\n }, {\n key: \"getTextContent\",\n value: function getTextContent() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var readableStream = this.streamTextContent(params);\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function (_ref15) {\n var _textContent$items;\n\n var value = _ref15.value,\n done = _ref15.done;\n\n if (done) {\n resolve(textContent);\n return;\n }\n\n Object.assign(textContent.styles, value.styles);\n\n (_textContent$items = textContent.items).push.apply(_textContent$items, _toConsumableArray(value.items));\n\n pump();\n }, reject);\n }\n\n var reader = readableStream.getReader();\n var textContent = {\n items: [],\n styles: Object.create(null)\n };\n pump();\n });\n }\n }, {\n key: \"_destroy\",\n value: function _destroy() {\n var _this11 = this;\n\n this.destroyed = true;\n this._transport.pageCache[this._pageIndex] = null;\n var waitOn = [];\n Object.keys(this.intentStates).forEach(function (intent) {\n var intentState = _this11.intentStates[intent];\n\n _this11._abortOperatorList({\n intentState: intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true\n });\n\n if (intent === \"oplist\") {\n return;\n }\n\n intentState.renderTasks.forEach(function (renderTask) {\n var renderCompleted = renderTask.capability.promise.catch(function () {});\n waitOn.push(renderCompleted);\n renderTask.cancel();\n });\n });\n this.objs.clear();\n this.annotationsPromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n }\n }, {\n key: \"cleanup\",\n value: function cleanup() {\n var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n this.pendingCleanup = true;\n return this._tryCleanup(resetStats);\n }\n }, {\n key: \"_tryCleanup\",\n value: function _tryCleanup() {\n var _this12 = this;\n\n var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this.pendingCleanup || Object.keys(this.intentStates).some(function (intent) {\n var intentState = _this12.intentStates[intent];\n return intentState.renderTasks.length !== 0 || !intentState.operatorList.lastChunk;\n })) {\n return false;\n }\n\n Object.keys(this.intentStates).forEach(function (intent) {\n delete _this12.intentStates[intent];\n });\n this.objs.clear();\n this.annotationsPromise = null;\n\n if (resetStats && this._stats) {\n this._stats = new _display_utils.StatTimer();\n }\n\n this.pendingCleanup = false;\n return true;\n }\n }, {\n key: \"_startRenderPage\",\n value: function _startRenderPage(transparency, intent) {\n var intentState = this.intentStates[intent];\n\n if (!intentState) {\n return;\n }\n\n if (this._stats) {\n this._stats.timeEnd(\"Page Request\");\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n }\n }, {\n key: \"_renderPageChunk\",\n value: function _renderPageChunk(operatorListChunk, intentState) {\n for (var 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\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n\n for (var _i4 = 0; _i4 < intentState.renderTasks.length; _i4++) {\n intentState.renderTasks[_i4].operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n this._tryCleanup();\n }\n }\n }, {\n key: \"_pumpOperatorList\",\n value: function _pumpOperatorList(args) {\n var _this13 = this;\n\n (0, _util.assert)(args.intent, 'PDFPageProxy._pumpOperatorList: Expected \"intent\" argument.');\n\n var readableStream = this._transport.messageHandler.sendWithStream(\"GetOperatorList\", args);\n\n var reader = readableStream.getReader();\n var intentState = this.intentStates[args.intent];\n intentState.streamReader = reader;\n\n var pump = function pump() {\n reader.read().then(function (_ref16) {\n var value = _ref16.value,\n done = _ref16.done;\n\n if (done) {\n intentState.streamReader = null;\n return;\n }\n\n if (_this13._transport.destroyed) {\n return;\n }\n\n _this13._renderPageChunk(value, intentState);\n\n pump();\n }, function (reason) {\n intentState.streamReader = null;\n\n if (_this13._transport.destroyed) {\n return;\n }\n\n if (intentState.operatorList) {\n intentState.operatorList.lastChunk = true;\n\n for (var i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\n }\n\n _this13._tryCleanup();\n }\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\n pump();\n }\n }, {\n key: \"_abortOperatorList\",\n value: function _abortOperatorList(_ref17) {\n var _this14 = this;\n\n var intentState = _ref17.intentState,\n reason = _ref17.reason,\n _ref17$force = _ref17.force,\n force = _ref17$force === void 0 ? false : _ref17$force;\n (0, _util.assert)(reason instanceof Error || typeof reason === \"object\" && reason !== null, 'PDFPageProxy._abortOperatorList: Expected \"reason\" argument.');\n\n if (!intentState.streamReader) {\n return;\n }\n\n if (!force) {\n if (intentState.renderTasks.length !== 0) {\n return;\n }\n\n if (reason instanceof _display_utils.RenderingCancelledException) {\n intentState.streamReaderCancelTimeout = setTimeout(function () {\n _this14._abortOperatorList({\n intentState: intentState,\n reason: reason,\n force: true\n });\n\n intentState.streamReaderCancelTimeout = null;\n }, RENDERING_CANCELLED_TIMEOUT);\n return;\n }\n }\n\n intentState.streamReader.cancel(new _util.AbortException(reason && reason.message));\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return;\n }\n\n Object.keys(this.intentStates).some(function (intent) {\n if (_this14.intentStates[intent] === intentState) {\n delete _this14.intentStates[intent];\n return true;\n }\n\n return false;\n });\n this.cleanup();\n }\n }, {\n key: \"stats\",\n get: function get() {\n return this._stats;\n }\n }]);\n\n return PDFPageProxy;\n }();\n\n exports.PDFPageProxy = PDFPageProxy;\n\n var LoopbackPort = /*#__PURE__*/function () {\n function LoopbackPort() {\n var defer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n _classCallCheck(this, LoopbackPort);\n\n this._listeners = [];\n this._defer = defer;\n this._deferred = Promise.resolve(undefined);\n }\n\n _createClass(LoopbackPort, [{\n key: \"postMessage\",\n value: function postMessage(obj, transfers) {\n var _this15 = this;\n\n function cloneValue(value) {\n if (typeof value !== \"object\" || value === null) {\n return value;\n }\n\n if (cloned.has(value)) {\n return cloned.get(value);\n }\n\n var buffer, result;\n\n if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) {\n var transferable = transfers && transfers.includes(buffer);\n\n if (transferable) {\n result = new value.constructor(buffer, value.byteOffset, value.byteLength);\n } else {\n result = new value.constructor(value);\n }\n\n cloned.set(value, result);\n return result;\n }\n\n result = Array.isArray(value) ? [] : {};\n cloned.set(value, result);\n\n for (var i in value) {\n var desc = void 0,\n p = value;\n\n while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {\n p = Object.getPrototypeOf(p);\n }\n\n if (typeof desc.value === \"undefined\") {\n continue;\n }\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\n continue;\n }\n\n result[i] = cloneValue(desc.value);\n }\n\n return result;\n }\n\n if (!this._defer) {\n this._listeners.forEach(function (listener) {\n listener.call(_this15, {\n data: obj\n });\n });\n\n return;\n }\n\n var cloned = new WeakMap();\n var e = {\n data: cloneValue(obj)\n };\n\n this._deferred.then(function () {\n _this15._listeners.forEach(function (listener) {\n listener.call(_this15, e);\n });\n });\n }\n }, {\n key: \"addEventListener\",\n value: function addEventListener(name, listener) {\n this._listeners.push(listener);\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(name, listener) {\n var i = this._listeners.indexOf(listener);\n\n this._listeners.splice(i, 1);\n }\n }, {\n key: \"terminate\",\n value: function terminate() {\n this._listeners.length = 0;\n }\n }]);\n\n return LoopbackPort;\n }();\n\n exports.LoopbackPort = LoopbackPort;\n\n var PDFWorker = function PDFWorkerClosure() {\n var pdfWorkerPorts = new WeakMap();\n var isWorkerDisabled = false;\n var fallbackWorkerSrc;\n var nextFakeWorkerId = 0;\n var fakeWorkerCapability;\n\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 var pdfjsFilePath = document.currentScript && document.currentScript.src;\n\n if (pdfjsFilePath) {\n fallbackWorkerSrc = pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i, \".worker$1$2\");\n }\n }\n\n function _getWorkerSrc() {\n if (_worker_options.GlobalWorkerOptions.workerSrc) {\n return _worker_options.GlobalWorkerOptions.workerSrc;\n }\n\n if (typeof fallbackWorkerSrc !== \"undefined\") {\n if (!_is_node.isNodeJS) {\n (0, _display_utils.deprecated)('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n return fallbackWorkerSrc;\n }\n\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n function getMainThreadWorkerMessageHandler() {\n var mainWorkerMessageHandler;\n\n try {\n mainWorkerMessageHandler = globalThis.pdfjsWorker && globalThis.pdfjsWorker.WorkerMessageHandler;\n } catch (ex) {}\n\n return mainWorkerMessageHandler || null;\n }\n\n function setupFakeWorkerGlobal() {\n if (fakeWorkerCapability) {\n return fakeWorkerCapability.promise;\n }\n\n fakeWorkerCapability = (0, _util.createPromiseCapability)();\n\n var loader = /*#__PURE__*/function () {\n var _ref18 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {\n var mainWorkerMessageHandler, worker;\n return _regeneratorRuntime.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();\n\n if (!mainWorkerMessageHandler) {\n _context3.next = 3;\n break;\n }\n\n return _context3.abrupt(\"return\", mainWorkerMessageHandler);\n\n case 3:\n if (!(_is_node.isNodeJS && typeof require === \"function\")) {\n _context3.next = 6;\n break;\n }\n\n worker = eval(\"require\")(_getWorkerSrc());\n return _context3.abrupt(\"return\", worker.WorkerMessageHandler);\n\n case 6:\n _context3.next = 8;\n return (0, _display_utils.loadScript)(_getWorkerSrc());\n\n case 8:\n return _context3.abrupt(\"return\", window.pdfjsWorker.WorkerMessageHandler);\n\n case 9:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n\n return function loader() {\n return _ref18.apply(this, arguments);\n };\n }();\n\n loader().then(fakeWorkerCapability.resolve, fakeWorkerCapability.reject);\n return fakeWorkerCapability.promise;\n }\n\n function createCDNWrapper(url) {\n var wrapper = \"importScripts('\" + url + \"');\";\n return URL.createObjectURL(new Blob([wrapper]));\n }\n\n var PDFWorker = /*#__PURE__*/function () {\n function PDFWorker() {\n var _ref19 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref19$name = _ref19.name,\n name = _ref19$name === void 0 ? null : _ref19$name,\n _ref19$port = _ref19.port,\n port = _ref19$port === void 0 ? null : _ref19$port,\n _ref19$verbosity = _ref19.verbosity,\n verbosity = _ref19$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref19$verbosity;\n\n _classCallCheck(this, PDFWorker);\n\n if (port && pdfWorkerPorts.has(port)) {\n throw new Error(\"Cannot use more than one PDFWorker per port\");\n }\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\n if (port) {\n pdfWorkerPorts.set(port, this);\n\n this._initializeFromPort(port);\n\n return;\n }\n\n this._initialize();\n }\n\n _createClass(PDFWorker, [{\n key: \"promise\",\n get: function get() {\n return this._readyCapability.promise;\n }\n }, {\n key: \"port\",\n get: function get() {\n return this._port;\n }\n }, {\n key: \"messageHandler\",\n get: function get() {\n return this._messageHandler;\n }\n }, {\n key: \"_initializeFromPort\",\n value: function _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", port);\n\n this._messageHandler.on(\"ready\", function () {});\n\n this._readyCapability.resolve();\n }\n }, {\n key: \"_initialize\",\n value: function _initialize() {\n var _this16 = this;\n\n if (typeof Worker !== \"undefined\" && !isWorkerDisabled && !getMainThreadWorkerMessageHandler()) {\n var workerSrc = _getWorkerSrc();\n\n try {\n if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {\n workerSrc = createCDNWrapper(new URL(workerSrc, window.location).href);\n }\n\n var worker = new Worker(workerSrc);\n var messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", worker);\n\n var terminateEarly = function terminateEarly() {\n worker.removeEventListener(\"error\", onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n\n if (_this16.destroyed) {\n _this16._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n _this16._setupFakeWorker();\n }\n };\n\n var onWorkerError = function onWorkerError() {\n if (!_this16._webWorker) {\n terminateEarly();\n }\n };\n\n worker.addEventListener(\"error\", onWorkerError);\n messageHandler.on(\"test\", function (data) {\n worker.removeEventListener(\"error\", onWorkerError);\n\n if (_this16.destroyed) {\n terminateEarly();\n return;\n }\n\n if (data) {\n _this16._messageHandler = messageHandler;\n _this16._port = worker;\n _this16._webWorker = worker;\n\n if (!data.supportTransfers) {\n _this16.postMessageTransfers = false;\n }\n\n _this16._readyCapability.resolve();\n\n messageHandler.send(\"configure\", {\n verbosity: _this16.verbosity\n });\n } else {\n _this16._setupFakeWorker();\n\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on(\"ready\", function (data) {\n worker.removeEventListener(\"error\", onWorkerError);\n\n if (_this16.destroyed) {\n terminateEarly();\n return;\n }\n\n try {\n sendTest();\n } catch (e) {\n _this16._setupFakeWorker();\n }\n });\n\n var sendTest = function sendTest() {\n var testObj = new Uint8Array([_this16.postMessageTransfers ? 255 : 0]);\n\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\n sendTest();\n return;\n } catch (e) {\n (0, _util.info)(\"The worker has been disabled.\");\n }\n }\n\n this._setupFakeWorker();\n }\n }, {\n key: \"_setupFakeWorker\",\n value: function _setupFakeWorker() {\n var _this17 = this;\n\n if (!isWorkerDisabled) {\n (0, _util.warn)(\"Setting up fake worker.\");\n isWorkerDisabled = true;\n }\n\n setupFakeWorkerGlobal().then(function (WorkerMessageHandler) {\n if (_this17.destroyed) {\n _this17._readyCapability.reject(new Error(\"Worker was destroyed\"));\n\n return;\n }\n\n var port = new LoopbackPort();\n _this17._port = port;\n var id = \"fake\" + nextFakeWorkerId++;\n var workerHandler = new _message_handler.MessageHandler(id + \"_worker\", id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n var messageHandler = new _message_handler.MessageHandler(id, id + \"_worker\", port);\n _this17._messageHandler = messageHandler;\n\n _this17._readyCapability.resolve();\n\n messageHandler.send(\"configure\", {\n verbosity: _this17.verbosity\n });\n }).catch(function (reason) {\n _this17._readyCapability.reject(new Error(\"Setting up fake worker failed: \\\"\".concat(reason.message, \"\\\".\")));\n });\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.destroyed = true;\n\n if (this._webWorker) {\n this._webWorker.terminate();\n\n this._webWorker = null;\n }\n\n pdfWorkerPorts.delete(this._port);\n this._port = null;\n\n if (this._messageHandler) {\n this._messageHandler.destroy();\n\n this._messageHandler = null;\n }\n }\n }], [{\n key: \"fromPort\",\n value: function fromPort(params) {\n if (!params || !params.port) {\n throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n }\n\n if (pdfWorkerPorts.has(params.port)) {\n return pdfWorkerPorts.get(params.port);\n }\n\n return new PDFWorker(params);\n }\n }, {\n key: \"getWorkerSrc\",\n value: function getWorkerSrc() {\n return _getWorkerSrc();\n }\n }]);\n\n return PDFWorker;\n }();\n\n return PDFWorker;\n }();\n\n exports.PDFWorker = PDFWorker;\n\n var WorkerTransport = /*#__PURE__*/function () {\n function WorkerTransport(messageHandler, loadingTask, networkStream, params) {\n _classCallCheck(this, WorkerTransport);\n\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 });\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\n _createClass(WorkerTransport, [{\n key: \"destroy\",\n value: function destroy() {\n var _this18 = this;\n\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n\n this.destroyed = true;\n this.destroyCapability = (0, _util.createPromiseCapability)();\n\n if (this._passwordCapability) {\n this._passwordCapability.reject(new Error(\"Worker was destroyed during onPassword callback\"));\n }\n\n var 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 var terminated = this.messageHandler.sendWithPromise(\"Terminate\", null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(function () {\n _this18.fontLoader.clear();\n\n if (_this18._networkStream) {\n _this18._networkStream.cancelAllRequests(new _util.AbortException(\"Worker was terminated.\"));\n }\n\n if (_this18.messageHandler) {\n _this18.messageHandler.destroy();\n\n _this18.messageHandler = null;\n }\n\n _this18.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n }, {\n key: \"setupMessageHandler\",\n value: function setupMessageHandler() {\n var _this19 = this;\n\n var messageHandler = this.messageHandler,\n loadingTask = this.loadingTask;\n messageHandler.on(\"GetReader\", function (data, sink) {\n (0, _util.assert)(_this19._networkStream, \"GetReader - no `IPDFStream` instance available.\");\n _this19._fullReader = _this19._networkStream.getFullReader();\n\n _this19._fullReader.onProgress = function (evt) {\n _this19._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n\n sink.onPull = function () {\n _this19._fullReader.read().then(function (_ref20) {\n var value = _ref20.value,\n done = _ref20.done;\n\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value), \"GetReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(function (reason) {\n sink.error(reason);\n });\n };\n\n sink.onCancel = function (reason) {\n _this19._fullReader.cancel(reason);\n };\n });\n messageHandler.on(\"ReaderHeadersReady\", function (data) {\n var headersCapability = (0, _util.createPromiseCapability)();\n var fullReader = _this19._fullReader;\n fullReader.headersReady.then(function () {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (_this19._lastProgress && loadingTask.onProgress) {\n loadingTask.onProgress(_this19._lastProgress);\n }\n\n fullReader.onProgress = function (evt) {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\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\", function (data, sink) {\n (0, _util.assert)(_this19._networkStream, \"GetRangeReader - no `IPDFStream` instance available.\");\n\n var rangeReader = _this19._networkStream.getRangeReader(data.begin, data.end);\n\n if (!rangeReader) {\n sink.close();\n return;\n }\n\n sink.onPull = function () {\n rangeReader.read().then(function (_ref21) {\n var value = _ref21.value,\n done = _ref21.done;\n\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value), \"GetRangeReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(function (reason) {\n sink.error(reason);\n });\n };\n\n sink.onCancel = function (reason) {\n rangeReader.cancel(reason);\n };\n });\n messageHandler.on(\"GetDoc\", function (_ref22) {\n var pdfInfo = _ref22.pdfInfo;\n _this19._numPages = pdfInfo.numPages;\n\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, _this19));\n });\n messageHandler.on(\"DocException\", function (ex) {\n var reason;\n\n switch (ex.name) {\n case \"PasswordException\":\n reason = new _util.PasswordException(ex.message, ex.code);\n break;\n\n case \"InvalidPDFException\":\n reason = new _util.InvalidPDFException(ex.message);\n break;\n\n case \"MissingPDFException\":\n reason = new _util.MissingPDFException(ex.message);\n break;\n\n case \"UnexpectedResponseException\":\n reason = new _util.UnexpectedResponseException(ex.message, ex.status);\n break;\n\n case \"UnknownErrorException\":\n reason = new _util.UnknownErrorException(ex.message, ex.details);\n break;\n }\n\n loadingTask._capability.reject(reason);\n });\n messageHandler.on(\"PasswordRequest\", function (exception) {\n _this19._passwordCapability = (0, _util.createPromiseCapability)();\n\n if (loadingTask.onPassword) {\n var updatePassword = function updatePassword(password) {\n _this19._passwordCapability.resolve({\n password: password\n });\n };\n\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n _this19._passwordCapability.reject(ex);\n }\n } else {\n _this19._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n\n return _this19._passwordCapability.promise;\n });\n messageHandler.on(\"DataLoaded\", function (data) {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.length,\n total: data.length\n });\n }\n\n _this19.downloadInfoCapability.resolve(data);\n });\n messageHandler.on(\"StartRenderPage\", function (data) {\n if (_this19.destroyed) {\n return;\n }\n\n var page = _this19.pageCache[data.pageIndex];\n\n page._startRenderPage(data.transparency, data.intent);\n });\n messageHandler.on(\"commonobj\", function (data) {\n if (_this19.destroyed) {\n return;\n }\n\n var _data = _slicedToArray(data, 3),\n id = _data[0],\n type = _data[1],\n exportedData = _data[2];\n\n if (_this19.commonObjs.has(id)) {\n return;\n }\n\n switch (type) {\n case \"Font\":\n var params = _this19._params;\n\n if (\"error\" in exportedData) {\n var exportedError = exportedData.error;\n (0, _util.warn)(\"Error during font loading: \".concat(exportedError));\n\n _this19.commonObjs.resolve(id, exportedError);\n\n break;\n }\n\n var fontRegistry = null;\n\n if (params.pdfBug && globalThis.FontInspector && globalThis.FontInspector.enabled) {\n fontRegistry = {\n registerFont: function registerFont(font, url) {\n globalThis.FontInspector.fontAdded(font, url);\n }\n };\n }\n\n var font = new _font_loader.FontFaceObject(exportedData, {\n isEvalSupported: params.isEvalSupported,\n disableFontFace: params.disableFontFace,\n ignoreErrors: params.ignoreErrors,\n onUnsupportedFeature: _this19._onUnsupportedFeature.bind(_this19),\n fontRegistry: fontRegistry\n });\n\n _this19.fontLoader.bind(font).catch(function (reason) {\n return messageHandler.sendWithPromise(\"FontFallback\", {\n id: id\n });\n }).finally(function () {\n if (!params.fontExtraProperties && font.data) {\n font.data = null;\n }\n\n _this19.commonObjs.resolve(id, font);\n });\n\n break;\n\n case \"FontPath\":\n case \"FontType3Res\":\n case \"Image\":\n _this19.commonObjs.resolve(id, exportedData);\n\n break;\n\n default:\n throw new Error(\"Got unknown common object type \".concat(type));\n }\n });\n messageHandler.on(\"obj\", function (data) {\n if (_this19.destroyed) {\n return undefined;\n }\n\n var _data2 = _slicedToArray(data, 4),\n id = _data2[0],\n pageIndex = _data2[1],\n type = _data2[2],\n imageData = _data2[3];\n\n var pageProxy = _this19.pageCache[pageIndex];\n\n if (pageProxy.objs.has(id)) {\n return undefined;\n }\n\n switch (type) {\n case \"Image\":\n pageProxy.objs.resolve(id, imageData);\n var MAX_IMAGE_SIZE_TO_STORE = 8000000;\n\n if (imageData && \"data\" in imageData && imageData.data.length > MAX_IMAGE_SIZE_TO_STORE) {\n pageProxy.cleanupAfterRender = true;\n }\n\n break;\n\n default:\n throw new Error(\"Got unknown object type \".concat(type));\n }\n\n return undefined;\n });\n messageHandler.on(\"DocProgress\", function (data) {\n if (_this19.destroyed) {\n return;\n }\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\", function (data, sink) {\n if (_this19.destroyed) {\n sink.error(new Error(\"Worker was destroyed\"));\n return;\n }\n\n var fetched = false;\n\n sink.onPull = function () {\n if (fetched) {\n sink.close();\n return;\n }\n\n fetched = true;\n\n _this19.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 }, {\n key: \"_onUnsupportedFeature\",\n value: function _onUnsupportedFeature(_ref23) {\n var featureId = _ref23.featureId;\n\n if (this.destroyed) {\n return;\n }\n\n if (this.loadingTask.onUnsupportedFeature) {\n this.loadingTask.onUnsupportedFeature(featureId);\n }\n }\n }, {\n key: \"getData\",\n value: function getData() {\n return this.messageHandler.sendWithPromise(\"GetData\", null);\n }\n }, {\n key: \"getPage\",\n value: function getPage(pageNumber) {\n var _this20 = this;\n\n if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {\n return Promise.reject(new Error(\"Invalid page request\"));\n }\n\n var pageIndex = pageNumber - 1;\n\n if (pageIndex in this.pagePromises) {\n return this.pagePromises[pageIndex];\n }\n\n var promise = this.messageHandler.sendWithPromise(\"GetPage\", {\n pageIndex: pageIndex\n }).then(function (pageInfo) {\n if (_this20.destroyed) {\n throw new Error(\"Transport destroyed\");\n }\n\n var page = new PDFPageProxy(pageIndex, pageInfo, _this20, _this20._params.pdfBug);\n _this20.pageCache[pageIndex] = page;\n return page;\n });\n this.pagePromises[pageIndex] = promise;\n return promise;\n }\n }, {\n key: \"getPageIndex\",\n value: function getPageIndex(ref) {\n return this.messageHandler.sendWithPromise(\"GetPageIndex\", {\n ref: ref\n }).catch(function (reason) {\n return Promise.reject(new Error(reason));\n });\n }\n }, {\n key: \"getAnnotations\",\n value: function getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise(\"GetAnnotations\", {\n pageIndex: pageIndex,\n intent: intent\n });\n }\n }, {\n key: \"getDestinations\",\n value: function getDestinations() {\n return this.messageHandler.sendWithPromise(\"GetDestinations\", null);\n }\n }, {\n key: \"getDestination\",\n value: function getDestination(id) {\n if (typeof id !== \"string\") {\n return Promise.reject(new Error(\"Invalid destination request.\"));\n }\n\n return this.messageHandler.sendWithPromise(\"GetDestination\", {\n id: id\n });\n }\n }, {\n key: \"getPageLabels\",\n value: function getPageLabels() {\n return this.messageHandler.sendWithPromise(\"GetPageLabels\", null);\n }\n }, {\n key: \"getPageLayout\",\n value: function getPageLayout() {\n return this.messageHandler.sendWithPromise(\"GetPageLayout\", null);\n }\n }, {\n key: \"getPageMode\",\n value: function getPageMode() {\n return this.messageHandler.sendWithPromise(\"GetPageMode\", null);\n }\n }, {\n key: \"getViewerPreferences\",\n value: function getViewerPreferences() {\n return this.messageHandler.sendWithPromise(\"GetViewerPreferences\", null);\n }\n }, {\n key: \"getOpenAction\",\n value: function getOpenAction() {\n return this.messageHandler.sendWithPromise(\"GetOpenAction\", null);\n }\n }, {\n key: \"getAttachments\",\n value: function getAttachments() {\n return this.messageHandler.sendWithPromise(\"GetAttachments\", null);\n }\n }, {\n key: \"getJavaScript\",\n value: function getJavaScript() {\n return this.messageHandler.sendWithPromise(\"GetJavaScript\", null);\n }\n }, {\n key: \"getOutline\",\n value: function getOutline() {\n return this.messageHandler.sendWithPromise(\"GetOutline\", null);\n }\n }, {\n key: \"getPermissions\",\n value: function getPermissions() {\n return this.messageHandler.sendWithPromise(\"GetPermissions\", null);\n }\n }, {\n key: \"getMetadata\",\n value: function getMetadata() {\n var _this21 = this;\n\n return this.messageHandler.sendWithPromise(\"GetMetadata\", null).then(function (results) {\n return {\n info: results[0],\n metadata: results[1] ? new _metadata.Metadata(results[1]) : null,\n contentDispositionFilename: _this21._fullReader ? _this21._fullReader.filename : null\n };\n });\n }\n }, {\n key: \"getStats\",\n value: function getStats() {\n return this.messageHandler.sendWithPromise(\"GetStats\", null);\n }\n }, {\n key: \"startCleanup\",\n value: function startCleanup() {\n var _this22 = this;\n\n return this.messageHandler.sendWithPromise(\"Cleanup\", null).then(function () {\n for (var i = 0, ii = _this22.pageCache.length; i < ii; i++) {\n var page = _this22.pageCache[i];\n\n if (page) {\n var cleanupSuccessful = page.cleanup();\n\n if (!cleanupSuccessful) {\n throw new Error(\"startCleanup: Page \".concat(i + 1, \" is currently rendering.\"));\n }\n }\n }\n\n _this22.commonObjs.clear();\n\n _this22.fontLoader.clear();\n });\n }\n }, {\n key: \"loadingParams\",\n get: function get() {\n var params = this._params;\n return (0, _util.shadow)(this, \"loadingParams\", {\n disableAutoFetch: params.disableAutoFetch,\n disableFontFace: params.disableFontFace\n });\n }\n }]);\n\n return WorkerTransport;\n }();\n\n var PDFObjects = /*#__PURE__*/function () {\n function PDFObjects() {\n _classCallCheck(this, PDFObjects);\n\n this._objs = Object.create(null);\n }\n\n _createClass(PDFObjects, [{\n key: \"_ensureObj\",\n value: function _ensureObj(objId) {\n if (this._objs[objId]) {\n return this._objs[objId];\n }\n\n return this._objs[objId] = {\n capability: (0, _util.createPromiseCapability)(),\n data: null,\n resolved: false\n };\n }\n }, {\n key: \"get\",\n value: function get(objId) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (callback) {\n this._ensureObj(objId).capability.promise.then(callback);\n\n return null;\n }\n\n var obj = this._objs[objId];\n\n if (!obj || !obj.resolved) {\n throw new Error(\"Requesting object that isn't resolved yet \".concat(objId, \".\"));\n }\n\n return obj.data;\n }\n }, {\n key: \"has\",\n value: function has(objId) {\n var obj = this._objs[objId];\n return obj ? obj.resolved : false;\n }\n }, {\n key: \"resolve\",\n value: function resolve(objId, data) {\n var obj = this._ensureObj(objId);\n\n obj.resolved = true;\n obj.data = data;\n obj.capability.resolve(data);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this._objs = Object.create(null);\n }\n }]);\n\n return PDFObjects;\n }();\n\n var RenderTask = /*#__PURE__*/function () {\n function RenderTask(internalRenderTask) {\n _classCallCheck(this, RenderTask);\n\n this._internalRenderTask = internalRenderTask;\n this.onContinue = null;\n }\n\n _createClass(RenderTask, [{\n key: \"promise\",\n get: function get() {\n return this._internalRenderTask.capability.promise;\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n this._internalRenderTask.cancel();\n }\n }]);\n\n return RenderTask;\n }();\n\n var InternalRenderTask = function InternalRenderTaskClosure() {\n var canvasInRendering = new WeakSet();\n\n var InternalRenderTask = /*#__PURE__*/function () {\n function InternalRenderTask(_ref24) {\n var callback = _ref24.callback,\n params = _ref24.params,\n objs = _ref24.objs,\n commonObjs = _ref24.commonObjs,\n operatorList = _ref24.operatorList,\n pageIndex = _ref24.pageIndex,\n canvasFactory = _ref24.canvasFactory,\n webGLContext = _ref24.webGLContext,\n _ref24$useRequestAnim = _ref24.useRequestAnimationFrame,\n useRequestAnimationFrame = _ref24$useRequestAnim === void 0 ? false : _ref24$useRequestAnim,\n _ref24$pdfBug = _ref24.pdfBug,\n pdfBug = _ref24$pdfBug === void 0 ? false : _ref24$pdfBug;\n\n _classCallCheck(this, InternalRenderTask);\n\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\n _createClass(InternalRenderTask, [{\n key: \"initializeGraphics\",\n value: function initializeGraphics() {\n var transparency = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (this.cancelled) {\n return;\n }\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\n canvasInRendering.add(this._canvas);\n }\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\n var _this$params = this.params,\n canvasContext = _this$params.canvasContext,\n viewport = _this$params.viewport,\n transform = _this$params.transform,\n imageLayer = _this$params.imageLayer,\n background = _this$params.background;\n this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext, imageLayer);\n this.gfx.beginDrawing({\n transform: transform,\n viewport: viewport,\n transparency: transparency,\n background: background\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n\n if (this.graphicsReadyCallback) {\n this.graphicsReadyCallback();\n }\n }\n }, {\n key: \"cancel\",\n value: function cancel() {\n var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n this.running = false;\n this.cancelled = true;\n\n if (this.gfx) {\n this.gfx.endDrawing();\n }\n\n if (this._canvas) {\n canvasInRendering.delete(this._canvas);\n }\n\n this.callback(error || new _display_utils.RenderingCancelledException(\"Rendering cancelled, page \".concat(this._pageIndex + 1), \"canvas\"));\n }\n }, {\n key: \"operatorListChanged\",\n value: function operatorListChanged() {\n if (!this.graphicsReady) {\n if (!this.graphicsReadyCallback) {\n this.graphicsReadyCallback = this._continueBound;\n }\n\n return;\n }\n\n if (this.stepper) {\n this.stepper.updateOperatorList(this.operatorList);\n }\n\n if (this.running) {\n return;\n }\n\n this._continue();\n }\n }, {\n key: \"_continue\",\n value: function _continue() {\n this.running = true;\n\n if (this.cancelled) {\n return;\n }\n\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n }\n }, {\n key: \"_scheduleNext\",\n value: function _scheduleNext() {\n var _this23 = this;\n\n if (this._useRequestAnimationFrame) {\n window.requestAnimationFrame(function () {\n _this23._nextBound().catch(_this23.cancel.bind(_this23));\n });\n } else {\n Promise.resolve().then(this._nextBound).catch(this.cancel.bind(this));\n }\n }\n }, {\n key: \"_next\",\n value: function () {\n var _next2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4() {\n return _regeneratorRuntime.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n if (!this.cancelled) {\n _context4.next = 2;\n break;\n }\n\n return _context4.abrupt(\"return\");\n\n case 2:\n this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);\n\n if (this.operatorListIdx === this.operatorList.argsArray.length) {\n this.running = false;\n\n if (this.operatorList.lastChunk) {\n this.gfx.endDrawing();\n\n if (this._canvas) {\n canvasInRendering.delete(this._canvas);\n }\n\n this.callback();\n }\n }\n\n case 4:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, this);\n }));\n\n function _next() {\n return _next2.apply(this, arguments);\n }\n\n return _next;\n }()\n }]);\n\n return InternalRenderTask;\n }();\n\n return InternalRenderTask;\n }();\n\n var version = '2.5.207';\n exports.version = version;\n var build = '0974d605';\n exports.build = build;\n /***/\n },\n /* 6 */\n\n /***/\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\n var _util = __w_pdfjs_require__(2);\n\n var BaseFontLoader = /*#__PURE__*/function () {\n function BaseFontLoader(_ref25) {\n var docId = _ref25.docId,\n onUnsupportedFeature = _ref25.onUnsupportedFeature;\n\n _classCallCheck(this, BaseFontLoader);\n\n if (this.constructor === BaseFontLoader) {\n (0, _util.unreachable)(\"Cannot initialize BaseFontLoader.\");\n }\n\n this.docId = docId;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this.nativeFontFaces = [];\n this.styleElement = null;\n }\n\n _createClass(BaseFontLoader, [{\n key: \"addNativeFontFace\",\n value: function addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.push(nativeFontFace);\n document.fonts.add(nativeFontFace);\n }\n }, {\n key: \"insertRule\",\n value: function insertRule(rule) {\n var styleElement = this.styleElement;\n\n if (!styleElement) {\n styleElement = this.styleElement = document.createElement(\"style\");\n styleElement.id = \"PDFJS_FONT_STYLE_TAG_\".concat(this.docId);\n document.documentElement.getElementsByTagName(\"head\")[0].appendChild(styleElement);\n }\n\n var styleSheet = styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.nativeFontFaces.forEach(function (nativeFontFace) {\n document.fonts.delete(nativeFontFace);\n });\n this.nativeFontFaces.length = 0;\n\n if (this.styleElement) {\n this.styleElement.remove();\n this.styleElement = null;\n }\n }\n }, {\n key: \"bind\",\n value: function () {\n var _bind = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(font) {\n var _this24 = this;\n\n var nativeFontFace, rule;\n return _regeneratorRuntime.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n if (!(font.attached || font.missingFile)) {\n _context5.next = 2;\n break;\n }\n\n return _context5.abrupt(\"return\");\n\n case 2:\n font.attached = true;\n\n if (!this.isFontLoadingAPISupported) {\n _context5.next = 19;\n break;\n }\n\n nativeFontFace = font.createNativeFontFace();\n\n if (!nativeFontFace) {\n _context5.next = 18;\n break;\n }\n\n this.addNativeFontFace(nativeFontFace);\n _context5.prev = 7;\n _context5.next = 10;\n return nativeFontFace.loaded;\n\n case 10:\n _context5.next = 18;\n break;\n\n case 12:\n _context5.prev = 12;\n _context5.t0 = _context5[\"catch\"](7);\n\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.errorFontLoadNative\n });\n\n (0, _util.warn)(\"Failed to load font '\".concat(nativeFontFace.family, \"': '\").concat(_context5.t0, \"'.\"));\n font.disableFontFace = true;\n throw _context5.t0;\n\n case 18:\n return _context5.abrupt(\"return\");\n\n case 19:\n rule = font.createFontFaceRule();\n\n if (!rule) {\n _context5.next = 26;\n break;\n }\n\n this.insertRule(rule);\n\n if (!this.isSyncFontLoadingSupported) {\n _context5.next = 24;\n break;\n }\n\n return _context5.abrupt(\"return\");\n\n case 24:\n _context5.next = 26;\n return new Promise(function (resolve) {\n var request = _this24._queueLoadingCallback(resolve);\n\n _this24._prepareFontLoadEvent([rule], [font], request);\n });\n\n case 26:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5, this, [[7, 12]]);\n }));\n\n function bind(_x4) {\n return _bind.apply(this, arguments);\n }\n\n return bind;\n }()\n }, {\n key: \"_queueLoadingCallback\",\n value: function _queueLoadingCallback(callback) {\n (0, _util.unreachable)(\"Abstract method `_queueLoadingCallback`.\");\n }\n }, {\n key: \"isFontLoadingAPISupported\",\n get: function get() {\n var supported = typeof document !== \"undefined\" && !!document.fonts;\n return (0, _util.shadow)(this, \"isFontLoadingAPISupported\", supported);\n }\n }, {\n key: \"isSyncFontLoadingSupported\",\n get: function get() {\n (0, _util.unreachable)(\"Abstract method `isSyncFontLoadingSupported`.\");\n }\n }, {\n key: \"_loadTestFont\",\n get: function get() {\n (0, _util.unreachable)(\"Abstract method `_loadTestFont`.\");\n }\n }, {\n key: \"_prepareFontLoadEvent\",\n value: function _prepareFontLoadEvent(rules, fontsToLoad, request) {\n (0, _util.unreachable)(\"Abstract method `_prepareFontLoadEvent`.\");\n }\n }]);\n\n return BaseFontLoader;\n }();\n\n var FontLoader;\n exports.FontLoader = FontLoader;\n {\n exports.FontLoader = FontLoader = /*#__PURE__*/function (_BaseFontLoader) {\n _inherits(GenericFontLoader, _BaseFontLoader);\n\n var _super9 = _createSuper(GenericFontLoader);\n\n function GenericFontLoader(docId) {\n var _this25;\n\n _classCallCheck(this, GenericFontLoader);\n\n _this25 = _super9.call(this, docId);\n _this25.loadingContext = {\n requests: [],\n nextRequestId: 0\n };\n _this25.loadTestFontId = 0;\n return _this25;\n }\n\n _createClass(GenericFontLoader, [{\n key: \"isSyncFontLoadingSupported\",\n get: function get() {\n var supported = false;\n\n if (typeof navigator === \"undefined\") {\n supported = true;\n } else {\n var m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n\n if (m && m[1] >= 14) {\n supported = true;\n }\n }\n\n return (0, _util.shadow)(this, \"isSyncFontLoadingSupported\", supported);\n }\n }, {\n key: \"_queueLoadingCallback\",\n value: function _queueLoadingCallback(callback) {\n function completeRequest() {\n (0, _util.assert)(!request.done, \"completeRequest() cannot be called twice.\");\n request.done = true;\n\n while (context.requests.length > 0 && context.requests[0].done) {\n var otherRequest = context.requests.shift();\n setTimeout(otherRequest.callback, 0);\n }\n }\n\n var context = this.loadingContext;\n var request = {\n id: \"pdfjs-font-loading-\".concat(context.nextRequestId++),\n done: false,\n complete: completeRequest,\n callback: callback\n };\n context.requests.push(request);\n return request;\n }\n }, {\n key: \"_loadTestFont\",\n get: function get() {\n var getLoadTestFont = function getLoadTestFont() {\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\n return (0, _util.shadow)(this, \"_loadTestFont\", getLoadTestFont());\n }\n }, {\n key: \"_prepareFontLoadEvent\",\n value: function _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\n function spliceString(s, offset, remove, insert) {\n var chunk1 = s.substring(0, offset);\n var chunk2 = s.substring(offset + remove);\n return chunk1 + insert + chunk2;\n }\n\n var i, ii;\n var canvas = document.createElement(\"canvas\");\n canvas.width = 1;\n canvas.height = 1;\n var ctx = canvas.getContext(\"2d\");\n var called = 0;\n\n function isFontReady(name, callback) {\n called++;\n\n if (called > 30) {\n (0, _util.warn)(\"Load test font never loaded.\");\n callback();\n return;\n }\n\n ctx.font = \"30px \" + name;\n ctx.fillText(\".\", 0, 20);\n var imageData = ctx.getImageData(0, 0, 1, 1);\n\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n\n setTimeout(isFontReady.bind(null, name, callback));\n }\n\n var loadTestFontId = \"lt\".concat(Date.now()).concat(this.loadTestFontId++);\n var data = this._loadTestFont;\n var COMMENT_OFFSET = 976;\n data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);\n var CFF_CHECKSUM_OFFSET = 16;\n var XXXX_VALUE = 0x58585858;\n var checksum = int32(data, CFF_CHECKSUM_OFFSET);\n\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n }\n\n if (i < loadTestFontId.length) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId + \"XXX\", i) | 0;\n }\n\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));\n var url = \"url(data:font/opentype;base64,\".concat(btoa(data), \");\");\n var rule = \"@font-face {font-family:\\\"\".concat(loadTestFontId, \"\\\";src:\").concat(url, \"}\");\n this.insertRule(rule);\n var names = [];\n\n for (i = 0, ii = fonts.length; i < ii; i++) {\n names.push(fonts[i].loadedName);\n }\n\n names.push(loadTestFontId);\n var div = 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\n for (i = 0, ii = names.length; i < ii; ++i) {\n var span = document.createElement(\"span\");\n span.textContent = \"Hi\";\n span.style.fontFamily = names[i];\n div.appendChild(span);\n }\n\n document.body.appendChild(div);\n isFontReady(loadTestFontId, function () {\n document.body.removeChild(div);\n request.complete();\n });\n }\n }]);\n\n return GenericFontLoader;\n }(BaseFontLoader);\n }\n\n var FontFaceObject = /*#__PURE__*/function () {\n function FontFaceObject(translatedData, _ref26) {\n var _ref26$isEvalSupporte = _ref26.isEvalSupported,\n isEvalSupported = _ref26$isEvalSupporte === void 0 ? true : _ref26$isEvalSupporte,\n _ref26$disableFontFac = _ref26.disableFontFace,\n disableFontFace = _ref26$disableFontFac === void 0 ? false : _ref26$disableFontFac,\n _ref26$ignoreErrors = _ref26.ignoreErrors,\n ignoreErrors = _ref26$ignoreErrors === void 0 ? false : _ref26$ignoreErrors,\n _ref26$onUnsupportedF = _ref26.onUnsupportedFeature,\n onUnsupportedFeature = _ref26$onUnsupportedF === void 0 ? null : _ref26$onUnsupportedF,\n _ref26$fontRegistry = _ref26.fontRegistry,\n fontRegistry = _ref26$fontRegistry === void 0 ? null : _ref26$fontRegistry;\n\n _classCallCheck(this, FontFaceObject);\n\n this.compiledGlyphs = Object.create(null);\n\n for (var i in translatedData) {\n this[i] = translatedData[i];\n }\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\n _createClass(FontFaceObject, [{\n key: \"createNativeFontFace\",\n value: function createNativeFontFace() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n var nativeFontFace = new FontFace(this.loadedName, this.data, {});\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this);\n }\n\n return nativeFontFace;\n }\n }, {\n key: \"createFontFaceRule\",\n value: function createFontFaceRule() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n var data = (0, _util.bytesToString)(new Uint8Array(this.data));\n var url = \"url(data:\".concat(this.mimetype, \";base64,\").concat(btoa(data), \");\");\n var rule = \"@font-face {font-family:\\\"\".concat(this.loadedName, \"\\\";src:\").concat(url, \"}\");\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this, url);\n }\n\n return rule;\n }\n }, {\n key: \"getPathGenerator\",\n value: function getPathGenerator(objs, character) {\n if (this.compiledGlyphs[character] !== undefined) {\n return this.compiledGlyphs[character];\n }\n\n var cmds, current;\n\n try {\n cmds = objs.get(this.loadedName + \"_path_\" + character);\n } catch (ex) {\n if (!this.ignoreErrors) {\n throw ex;\n }\n\n if (this._onUnsupportedFeature) {\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.errorFontGetPath\n });\n }\n\n (0, _util.warn)(\"getPathGenerator - ignoring character: \\\"\".concat(ex, \"\\\".\"));\n return this.compiledGlyphs[character] = function (c, size) {};\n }\n\n if (this.isEvalSupported && _util.IsEvalSupportedCached.value) {\n var args,\n js = \"\";\n\n for (var i = 0, ii = cmds.length; i < ii; i++) {\n current = cmds[i];\n\n if (current.args !== undefined) {\n args = current.args.join(\",\");\n } else {\n args = \"\";\n }\n\n js += \"c.\" + current.cmd + \"(\" + args + \");\\n\";\n }\n\n return this.compiledGlyphs[character] = new Function(\"c\", \"size\", js);\n }\n\n return this.compiledGlyphs[character] = function (c, size) {\n for (var _i5 = 0, _ii = cmds.length; _i5 < _ii; _i5++) {\n current = cmds[_i5];\n\n if (current.cmd === \"scale\") {\n current.args = [size, -size];\n }\n\n c[current.cmd].apply(c, current.args);\n }\n };\n }\n }]);\n\n return FontFaceObject;\n }();\n\n exports.FontFaceObject = FontFaceObject;\n /***/\n },\n /* 7 */\n\n /***/\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\n var _is_node = __w_pdfjs_require__(4);\n\n var compatibilityParams = Object.create(null);\n {\n (function checkFontFace() {\n if (_is_node.isNodeJS) {\n compatibilityParams.disableFontFace = true;\n }\n })();\n }\n var apiCompatibilityParams = Object.freeze(compatibilityParams);\n exports.apiCompatibilityParams = apiCompatibilityParams;\n /***/\n },\n /* 8 */\n\n /***/\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\n var _util = __w_pdfjs_require__(2);\n\n var _pattern_helper = __w_pdfjs_require__(9);\n\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\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\n ctx.save = function ctxSave() {\n var old = this._transformMatrix;\n\n this._transformStack.push(old);\n\n this._transformMatrix = old.slice(0, 6);\n\n this._originalSave();\n };\n\n ctx.restore = function ctxRestore() {\n var prev = this._transformStack.pop();\n\n if (prev) {\n this._transformMatrix = prev;\n\n this._originalRestore();\n }\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\n this._originalTranslate(x, y);\n };\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\n this._originalScale(x, y);\n };\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\n ctx._originalTransform(a, b, c, d, e, f);\n };\n\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n this._transformMatrix = [a, b, c, d, e, f];\n\n ctx._originalSetTransform(a, b, c, d, e, f);\n };\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\n this._originalRotate(angle);\n };\n }\n }\n\n var CachedCanvases = function CachedCanvasesClosure() {\n function CachedCanvases(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n\n CachedCanvases.prototype = {\n getCanvas: function CachedCanvases_getCanvas(id, width, height, trackTransform) {\n var canvasEntry;\n\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\n if (trackTransform) {\n addContextCurrentTransform(canvasEntry.context);\n }\n\n return canvasEntry;\n },\n clear: function 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\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\n for (i = 0, ii = data0.length; i < ii; i++) {\n var mask = 128,\n elem = data0[i];\n\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n\n var count = 0;\n pos = 0;\n\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\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\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n\n var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n\n pos = lineSize * (height - 1);\n j0 = i * width1;\n\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\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\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n\n var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n var outlines = [];\n\n for (i = 0; count && i <= height; i++) {\n var p = i * width1;\n var end = p + width;\n\n while (p < end && !points[p]) {\n p++;\n }\n\n if (p === end) {\n continue;\n }\n\n var coords = [p % width1, i];\n var type = points[p],\n p0 = p,\n pp;\n\n do {\n var step = steps[type];\n\n do {\n p += step;\n } while (!points[p]);\n\n pp = points[p];\n\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\n coords.push(p % width1);\n coords.push(p / width1 | 0);\n\n if (!points[p]) {\n --count;\n }\n } while (p0 !== p);\n\n outlines.push(coords);\n --i;\n }\n\n var drawOutline = function drawOutline(c) {\n c.save();\n c.scale(1 / width, -1 / height);\n c.translate(0, -height);\n c.beginPath();\n\n for (var k = 0, kk = outlines.length; k < kk; k++) {\n var o = outlines[k];\n c.moveTo(o[0], o[1]);\n\n for (var l = 2, ll = o.length; l < ll; l += 2) {\n c.lineTo(o[l], o[l + 1]);\n }\n }\n\n c.fill();\n c.beginPath();\n c.restore();\n };\n\n return drawOutline;\n }\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 }\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\n var CanvasGraphics = function CanvasGraphicsClosure() {\n var EXECUTION_TIME = 15;\n var EXECUTION_STEPS = 10;\n\n function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, webGLContext, imageLayer) {\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.cachedCanvases = new CachedCanvases(this.canvasFactory);\n\n if (canvasCtx) {\n addContextCurrentTransform(canvasCtx);\n }\n\n this._cachedGetSinglePixelWidth = null;\n }\n\n function putBinaryImageData(ctx, imgData) {\n if (typeof ImageData !== \"undefined\" && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\n }\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\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\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\n\n for (j = 0; j < thisChunkHeight; j++) {\n var srcDiff = srcLength - srcPos;\n var 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\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\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {\n j = 0;\n elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n\n for (i = 0; i < fullChunks; i++) {\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n srcPos += elemsInThisChunk;\n ctx.putImageData(chunkImgData, 0, j);\n j += FULL_CHUNK_HEIGHT;\n }\n\n if (i < totalChunks) {\n elemsInThisChunk = width * partialChunkHeight * 4;\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {\n thisChunkHeight = FULL_CHUNK_HEIGHT;\n elemsInThisChunk = width * thisChunkHeight;\n\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n\n destPos = 0;\n\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\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\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\n for (var i = 0; i < totalChunks; i++) {\n var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n var destPos = 3;\n\n for (var j = 0; j < thisChunkHeight; j++) {\n var mask = 0;\n\n for (var k = 0; k < width; k++) {\n if (!mask) {\n var elem = src[srcPos++];\n mask = 128;\n }\n\n dest[destPos] = elem & mask ? 0 : 255;\n destPos += 4;\n mask >>= 1;\n }\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n }\n\n function copyCtxState(sourceCtx, destCtx) {\n var properties = [\"strokeStyle\", \"fillStyle\", \"fillRule\", \"globalAlpha\", \"lineWidth\", \"lineCap\", \"lineJoin\", \"miterLimit\", \"globalCompositeOperation\", \"font\"];\n\n for (var i = 0, ii = properties.length; i < ii; i++) {\n var property = properties[i];\n\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\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\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n }\n\n function composeSMaskBackdrop(bytes, r0, g0, b0) {\n var length = bytes.length;\n\n for (var i = 3; i < length; i += 4) {\n var alpha = bytes[i];\n\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\n function composeSMaskAlpha(maskData, layerData, transferMap) {\n var length = maskData.length;\n var scale = 1 / 255;\n\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\n function composeSMaskLuminosity(maskData, layerData, transferMap) {\n var length = maskData.length;\n\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\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\n if (subtype === \"Luminosity\") {\n composeFn = composeSMaskLuminosity;\n } else {\n composeFn = composeSMaskAlpha;\n }\n\n var PIXELS_TO_PROCESS = 1048576;\n var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n\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\n if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n\n composeFn(maskData.data, layerData.data, transferMap);\n maskCtx.putImageData(layerData, 0, row);\n }\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\n if (!smask.transferMap && webGLContext.isEnabled) {\n var composed = webGLContext.composeSMask({\n layer: layerCtx.canvas,\n mask: mask,\n properties: {\n subtype: smask.subtype,\n backdrop: backdrop\n }\n });\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(composed, smask.offsetX, smask.offsetY);\n return;\n }\n\n genericComposeSMask(maskCtx, layerCtx, mask.width, mask.height, smask.subtype, backdrop, smask.transferMap);\n ctx.drawImage(mask, 0, 0);\n }\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: function beginDrawing(_ref27) {\n var transform = _ref27.transform,\n viewport = _ref27.viewport,\n _ref27$transparency = _ref27.transparency,\n transparency = _ref27$transparency === void 0 ? false : _ref27$transparency,\n _ref27$background = _ref27.background,\n background = _ref27$background === void 0 ? null : _ref27$background;\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\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\n this.ctx.save();\n resetCtxToDefault(this.ctx);\n\n if (transform) {\n this.ctx.transform.apply(this.ctx, transform);\n }\n\n this.ctx.transform.apply(this.ctx, viewport.transform);\n this.baseTransform = this.ctx.mozCurrentTransform.slice();\n\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\n if (argsArrayLen === i) {\n return i;\n }\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\n while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n\n fnId = fnArray[i];\n\n if (fnId !== _util.OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n var _iterator7 = _createForOfIteratorHelper(argsArray[i]),\n _step7;\n\n try {\n for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n var depObjId = _step7.value;\n var objsPool = depObjId.startsWith(\"g_\") ? commonObjs : objs;\n\n if (!objsPool.has(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n } catch (err) {\n _iterator7.e(err);\n } finally {\n _iterator7.f();\n }\n }\n\n i++;\n\n if (i === argsArrayLen) {\n return i;\n }\n\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n\n steps = 0;\n }\n }\n },\n endDrawing: function CanvasGraphics_endDrawing() {\n if (this.current.activeSMask !== null) {\n this.endSMaskGroup();\n }\n\n this.ctx.restore();\n\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\n this.cachedCanvases.clear();\n this.webGLContext.clear();\n\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\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n },\n setRenderingIntent: function setRenderingIntent(intent) {},\n setFlatness: function 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\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n\n case \"LC\":\n this.setLineCap(value);\n break;\n\n case \"LJ\":\n this.setLineJoin(value);\n break;\n\n case \"ML\":\n this.setMiterLimit(value);\n break;\n\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n\n case \"FL\":\n this.setFlatness(value);\n break;\n\n case \"Font\":\n this.setFont(value[0], value[1]);\n break;\n\n case \"CA\":\n this.current.strokeAlpha = state[1];\n break;\n\n case \"ca\":\n this.current.fillAlpha = state[1];\n this.ctx.globalAlpha = state[1];\n break;\n\n case \"BM\":\n this.ctx.globalCompositeOperation = value;\n break;\n\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\n this.current.activeSMask = value ? this.tempSMask : null;\n\n if (this.current.activeSMask) {\n this.beginSMaskGroup();\n }\n\n this.tempSMask = null;\n break;\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\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\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\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\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\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\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\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\n if (width === 0) {\n width = this.getSinglePixelWidth();\n }\n\n if (height === 0) {\n height = this.getSinglePixelWidth();\n }\n\n var xw = x + width;\n var yh = y + height;\n this.ctx.moveTo(x, y);\n this.ctx.lineTo(xw, y);\n this.ctx.lineTo(xw, yh);\n this.ctx.lineTo(x, yh);\n this.ctx.lineTo(x, y);\n this.ctx.closePath();\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n break;\n\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\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\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\n case _util.OPS.closePath:\n ctx.closePath();\n break;\n }\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\n if (strokeColor && strokeColor.hasOwnProperty(\"type\") && strokeColor.type === \"Pattern\") {\n ctx.save();\n var transform = ctx.mozCurrentTransform;\n\n var scale = _util.Util.singularValueDecompose2dScale(transform)[0];\n\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\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\n if (isPatternFill) {\n ctx.save();\n\n if (this.baseTransform) {\n ctx.setTransform.apply(ctx, this.baseTransform);\n }\n\n ctx.fillStyle = fillColor.getPattern(ctx, this);\n needRestore = true;\n }\n\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\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\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n\n ctx.save();\n ctx.beginPath();\n\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\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\n if (!fontObj) {\n throw new Error(\"Can't find font for \".concat(fontRefName));\n }\n\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n (0, _util.warn)(\"Invalid font matrix for font \" + fontRefName);\n }\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n this.current.font = fontObj;\n this.current.fontSize = size;\n\n if (fontObj.isType3Font) {\n return;\n }\n\n var name = fontObj.loadedName || \"sans-serif\";\n var bold = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\n var italic = fontObj.italic ? \"italic\" : \"normal\";\n var typeface = \"\\\"\".concat(name, \"\\\", \").concat(fontObj.fallbackName);\n var browserFontSize = size;\n\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\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: function 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 var patternFill = current.patternFill && !font.missingFile;\n var addToPath;\n\n if (font.disableFontFace || isAddToPathSet || patternFill) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n\n if (font.disableFontFace || patternFill) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n\n if (patternTransform) {\n ctx.setTransform.apply(ctx, patternTransform);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fill();\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.stroke();\n }\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\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.strokeText(character, x, y);\n }\n }\n\n if (isAddToPathSet) {\n var paths = this.pendingTextPaths || (this.pendingTextPaths = []);\n paths.push({\n transform: ctx.mozCurrentTransform,\n x: x,\n y: y,\n fontSize: fontSize,\n addToPath: addToPath\n });\n }\n },\n\n get isFontSubpixelAAEnabled() {\n var _this$cachedCanvases$ = this.cachedCanvases.getCanvas(\"isFontSubpixelAAEnabled\", 10, 10),\n ctx = _this$cachedCanvases$.context;\n\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\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\n return (0, _util.shadow)(this, \"isFontSubpixelAAEnabled\", enabled);\n },\n\n showText: function CanvasGraphics_showText(glyphs) {\n var current = this.current;\n var font = current.font;\n\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n\n var fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return undefined;\n }\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 var patternTransform;\n\n if (current.patternFill) {\n ctx.save();\n var pattern = current.fillColor.getPattern(ctx, this);\n patternTransform = ctx.mozCurrentTransform;\n ctx.restore();\n ctx.fillStyle = pattern;\n }\n\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n\n var lineWidth = current.lineWidth;\n var scale = current.textMatrixScale;\n\n if (scale === 0 || lineWidth === 0) {\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\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\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n\n ctx.lineWidth = lineWidth;\n var x = 0,\n i;\n\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\n\n if ((0, _util.isNum)(glyph)) {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\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\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\n if (font.remeasure && width > 0) {\n var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n\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\n if (glyph.isInFont || font.missingFile) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform);\n\n if (accent) {\n scaledAccentX = scaledX + accent.offset.x / fontSizeScale;\n scaledAccentY = scaledY - accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);\n }\n }\n }\n\n var charWidth;\n\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n\n x += charWidth;\n\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\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\n if (isTextInvisible || fontSize === 0) {\n return;\n }\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\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n\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\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var operatorList = font.charProcOperatorList[glyph.operatorListId];\n\n if (!operatorList) {\n (0, _util.warn)(\"Type3 character \\\"\".concat(glyph.operatorListId, \"\\\" is not available.\"));\n continue;\n }\n\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\n width = transformed[0] * fontSize + spacing;\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\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 _this26 = this;\n\n var pattern;\n\n if (IR[0] === \"TilingPattern\") {\n var color = IR[1];\n var baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice();\n var canvasGraphicsFactory = {\n createCanvasGraphics: function createCanvasGraphics(ctx) {\n return new CanvasGraphics(ctx, _this26.commonObjs, _this26.objs, _this26.canvasFactory, _this26.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\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\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\n this.ctx.fillStyle = color;\n this.current.fillColor = color;\n this.current.patternFill = false;\n },\n shadingFill: function CanvasGraphics_shadingFill(patternIR) {\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\n if (inv) {\n var canvas = ctx.canvas;\n var width = canvas.width;\n var height = canvas.height;\n\n var bl = _util.Util.applyTransform([0, 0], inv);\n\n var br = _util.Util.applyTransform([0, height], inv);\n\n var ul = _util.Util.applyTransform([width, 0], inv);\n\n var ur = _util.Util.applyTransform([width, height], inv);\n\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\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 this.save();\n this.baseTransformStack.push(this.baseTransform);\n\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform.apply(this, matrix);\n }\n\n this.baseTransform = this.ctx.mozCurrentTransform;\n\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 this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n },\n beginGroup: function CanvasGraphics_beginGroup(group) {\n this.save();\n var currentCtx = this.ctx;\n\n if (!group.isolated) {\n (0, _util.info)(\"TODO: Support non-isolated groups.\");\n }\n\n if (group.knockout) {\n (0, _util.warn)(\"Knockout groups not supported.\");\n }\n\n var currentTransform = currentCtx.mozCurrentTransform;\n\n if (group.matrix) {\n currentCtx.transform.apply(currentCtx, group.matrix);\n }\n\n if (!group.bbox) {\n throw new Error(\"Bounding box is required.\");\n }\n\n var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);\n\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\n if (drawnWidth > MAX_GROUP_SIZE) {\n scaleX = drawnWidth / MAX_GROUP_SIZE;\n drawnWidth = MAX_GROUP_SIZE;\n }\n\n if (drawnHeight > MAX_GROUP_SIZE) {\n scaleY = drawnHeight / MAX_GROUP_SIZE;\n drawnHeight = MAX_GROUP_SIZE;\n }\n\n var cacheId = \"groupAt\" + this.groupLevel;\n\n if (group.smask) {\n cacheId += \"_smask_\" + this.smaskCounter++ % 2;\n }\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\n if (group.smask) {\n this.smaskStack.push({\n canvas: scratchCanvas.canvas,\n context: groupCtx,\n offsetX: offsetX,\n offsetY: offsetY,\n scaleX: scaleX,\n scaleY: 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\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 this.groupLevel--;\n var groupCtx = this.ctx;\n this.ctx = this.groupStack.pop();\n\n if (this.ctx.imageSmoothingEnabled !== undefined) {\n this.ctx.imageSmoothingEnabled = false;\n } else {\n this.ctx.mozImageSmoothingEnabled = false;\n }\n\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n } else {\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n }\n\n this.restore();\n },\n beginAnnotations: function CanvasGraphics_beginAnnotations() {\n this.save();\n\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\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\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 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\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: width,\n height: height\n });\n } else {\n glyph.compiled = null;\n }\n }\n\n if (glyph && glyph.compiled) {\n glyph.compiled(ctx);\n return;\n }\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: function CanvasGraphics_paintImageMaskXObjectRepeat(imgData, scaleX, scaleY, positions) {\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\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n ctx.save();\n ctx.transform(scaleX, 0, 0, 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 var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n\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 var imgData = objId.startsWith(\"g_\") ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n },\n paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n var imgData = objId.startsWith(\"g_\") ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n\n var width = imgData.width;\n var height = imgData.height;\n var map = [];\n\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\n this.paintInlineImageXObjectGroup(imgData, map);\n },\n paintInlineImageXObject: function CanvasGraphics_paintInlineImageXObject(imgData) {\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\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);\n imgToPaint = tmpCanvas.canvas;\n }\n\n var paintWidth = width,\n paintHeight = height;\n var tmpCanvasId = \"prescale1\";\n\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n var newWidth = paintWidth,\n newHeight = paintHeight;\n\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = Math.ceil(paintHeight / 2);\n heightScale /= paintHeight / newHeight;\n }\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\n ctx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, -height, width, height);\n\n if (this.imageLayer) {\n var position = this.getCanvasPosition(0, -height);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: width / currentTransform[0],\n height: height / currentTransform[3]\n });\n }\n\n this.restore();\n },\n paintInlineImageXObjectGroup: function CanvasGraphics_paintInlineImageXObjectGroup(imgData, map) {\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);\n\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\n if (this.imageLayer) {\n var position = this.getCanvasPosition(entry.x, entry.y);\n this.imageLayer.appendImage({\n imgData: imgData,\n left: position[0],\n top: position[1],\n width: w,\n height: h\n });\n }\n\n ctx.restore();\n }\n },\n paintSolidColorImageMask: function CanvasGraphics_paintSolidColorImageMask() {\n this.ctx.fillRect(0, 0, 1, 1);\n },\n paintXObject: function CanvasGraphics_paintXObject() {\n (0, _util.warn)(\"Unsupported 'paintXObject' command.\");\n },\n markPoint: function CanvasGraphics_markPoint(tag) {},\n markPointProps: function CanvasGraphics_markPointProps(tag, properties) {},\n beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {},\n beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(tag, properties) {},\n endMarkedContent: function CanvasGraphics_endMarkedContent() {},\n beginCompat: function CanvasGraphics_beginCompat() {},\n endCompat: function CanvasGraphics_endCompat() {},\n consumePath: function CanvasGraphics_consumePath() {\n var ctx = this.ctx;\n\n if (this.pendingClip) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip(\"evenodd\");\n } else {\n ctx.clip();\n }\n\n this.pendingClip = null;\n }\n\n ctx.beginPath();\n },\n getSinglePixelWidth: function getSinglePixelWidth(scale) {\n if (this._cachedGetSinglePixelWidth === null) {\n var 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\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 };\n\n for (var op in _util.OPS) {\n CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n }\n\n return CanvasGraphics;\n }();\n\n exports.CanvasGraphics = CanvasGraphics;\n /***/\n },\n /* 9 */\n\n /***/\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\n var _util = __w_pdfjs_require__(2);\n\n var ShadingIRs = {};\n\n function applyBoundingBox(ctx, bbox) {\n if (!bbox || typeof Path2D === \"undefined\") {\n return;\n }\n\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n var region = new Path2D();\n region.rect(bbox[0], bbox[1], width, height);\n ctx.clip(region);\n }\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\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\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\n return grad;\n }\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\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\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\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\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\n if (y1 >= y3) {\n return;\n }\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\n for (var y = minY; y <= maxY; y++) {\n if (y < y2) {\n var _k = void 0;\n\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\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 var _k2 = void 0;\n\n if (y > y3) {\n _k2 = 1;\n } else if (y2 === y3) {\n _k2 = 0;\n } else {\n _k2 = (y2 - y) / (y2 - y3);\n }\n\n xa = x2 - (x2 - x3) * _k2;\n car = c2r - (c2r - c3r) * _k2;\n cag = c2g - (c2g - c3g) * _k2;\n cab = c2b - (c2b - c3b) * _k2;\n }\n\n var k = void 0;\n\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\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\n for (var x = x1_; x <= x2_; x++) {\n k = (xa - x) / (xa - xb);\n\n if (k < 0) {\n k = 0;\n } else if (k > 1) {\n k = 1;\n }\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\n function drawFigure(data, figure, context) {\n var ps = figure.coords;\n var cs = figure.colors;\n var i, ii;\n\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\n for (i = 0; i < rows; i++) {\n var q = i * verticesPerRow;\n\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\n break;\n\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\n break;\n\n default:\n throw new Error(\"illegal figure\");\n }\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: coords,\n colors: 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\n if (webGLContext.isEnabled) {\n canvas = webGLContext.drawFigures({\n width: width,\n height: height,\n backgroundColor: backgroundColor,\n figures: figures,\n context: 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\n if (backgroundColor) {\n var bytes = data.data;\n\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\n for (i = 0; i < figures.length; i++) {\n drawFigure(data, figures[i], context);\n }\n\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n }\n\n return {\n canvas: canvas,\n offsetX: offsetX - BORDER_SIZE * scaleX,\n offsetY: offsetY - BORDER_SIZE * scaleY,\n scaleX: scaleX,\n scaleY: scaleY\n };\n }\n\n return createMeshCanvas;\n }();\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\n if (shadingFill) {\n scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);\n } else {\n scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n\n if (matrix) {\n var matrixScale = _util.Util.singularValueDecompose2dScale(matrix);\n\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n\n var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases, owner.webGLContext);\n\n if (!shadingFill) {\n ctx.setTransform.apply(ctx, owner.baseTransform);\n\n if (matrix) {\n ctx.transform.apply(ctx, matrix);\n }\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\n function getShadingPatternFromIR(raw) {\n var shadingIR = ShadingIRs[raw[0]];\n\n if (!shadingIR) {\n throw new Error(\"Unknown IR type: \".concat(raw[0]));\n }\n\n return shadingIR.fromIR(raw);\n }\n\n var TilingPattern = function TilingPatternClosure() {\n var PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n };\n var MAX_PATTERN_SIZE = 3000;\n\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\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\n var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n\n var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n\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\n if (size >= maxSize) {\n size = maxSize;\n } else {\n scale = size / step;\n }\n\n return {\n scale: scale,\n size: 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 var context = graphics.ctx,\n current = graphics.current;\n\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\n case PaintType.UNCOLORED:\n var cssColor = _util.Util.makeCssRgb(color[0], color[1], color[2]);\n\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n\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\n exports.TilingPattern = TilingPattern;\n /***/\n },\n /* 10 */\n\n /***/\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 var 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 /* 11 */\n\n /***/\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\n var _util = __w_pdfjs_require__(2);\n\n var CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2\n };\n var 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\n function wrapReason(reason) {\n if (typeof reason !== \"object\" || reason === null) {\n return reason;\n }\n\n switch (reason.name) {\n case \"AbortException\":\n return new _util.AbortException(reason.message);\n\n case \"MissingPDFException\":\n return new _util.MissingPDFException(reason.message);\n\n case \"UnexpectedResponseException\":\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n\n case \"UnknownErrorException\":\n return new _util.UnknownErrorException(reason.message, reason.details);\n\n default:\n return new _util.UnknownErrorException(reason.message, reason.toString());\n }\n }\n\n var MessageHandler = /*#__PURE__*/function () {\n function MessageHandler(sourceName, targetName, comObj) {\n var _this27 = this;\n\n _classCallCheck(this, MessageHandler);\n\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\n this._onComObjOnMessage = function (event) {\n var data = event.data;\n\n if (data.targetName !== _this27.sourceName) {\n return;\n }\n\n if (data.stream) {\n _this27._processStreamMessage(data);\n\n return;\n }\n\n if (data.callback) {\n var callbackId = data.callbackId;\n var capability = _this27.callbackCapabilities[callbackId];\n\n if (!capability) {\n throw new Error(\"Cannot resolve callback \".concat(callbackId));\n }\n\n delete _this27.callbackCapabilities[callbackId];\n\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\n return;\n }\n\n var action = _this27.actionHandler[data.action];\n\n if (!action) {\n throw new Error(\"Unknown action from worker: \".concat(data.action));\n }\n\n if (data.callbackId) {\n var cbSourceName = _this27.sourceName;\n var 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\n if (data.streamId) {\n _this27._createStreamSink(data);\n\n return;\n }\n\n action(data.data);\n };\n\n comObj.addEventListener(\"message\", this._onComObjOnMessage);\n }\n\n _createClass(MessageHandler, [{\n key: \"on\",\n value: function on(actionName, handler) {\n var ah = this.actionHandler;\n\n if (ah[actionName]) {\n throw new Error(\"There is already an actionName called \\\"\".concat(actionName, \"\\\"\"));\n }\n\n ah[actionName] = handler;\n }\n }, {\n key: \"send\",\n value: function send(actionName, data, transfers) {\n this._postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data: data\n }, transfers);\n }\n }, {\n key: \"sendWithPromise\",\n value: function sendWithPromise(actionName, data, transfers) {\n var callbackId = this.callbackId++;\n var capability = (0, _util.createPromiseCapability)();\n this.callbackCapabilities[callbackId] = capability;\n\n try {\n this._postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n callbackId: callbackId,\n data: data\n }, transfers);\n } catch (ex) {\n capability.reject(ex);\n }\n\n return capability.promise;\n }\n }, {\n key: \"sendWithStream\",\n value: function sendWithStream(actionName, data, queueingStrategy, transfers) {\n var _this28 = this;\n\n var streamId = this.streamId++;\n var sourceName = this.sourceName;\n var targetName = this.targetName;\n var comObj = this.comObj;\n return new ReadableStream({\n start: function start(controller) {\n var startCapability = (0, _util.createPromiseCapability)();\n _this28.streamControllers[streamId] = {\n controller: controller,\n startCall: startCapability,\n pullCall: null,\n cancelCall: null,\n isClosed: false\n };\n\n _this28._postMessage({\n sourceName: sourceName,\n targetName: targetName,\n action: actionName,\n streamId: streamId,\n data: data,\n desiredSize: controller.desiredSize\n }, transfers);\n\n return startCapability.promise;\n },\n pull: function pull(controller) {\n var pullCapability = (0, _util.createPromiseCapability)();\n _this28.streamControllers[streamId].pullCall = pullCapability;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL,\n streamId: streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: function cancel(reason) {\n (0, _util.assert)(reason instanceof Error, \"cancel must have a valid reason\");\n var cancelCapability = (0, _util.createPromiseCapability)();\n _this28.streamControllers[streamId].cancelCall = cancelCapability;\n _this28.streamControllers[streamId].isClosed = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n }\n }, {\n key: \"_createStreamSink\",\n value: function _createStreamSink(data) {\n var self = this;\n var action = this.actionHandler[data.action];\n var streamId = data.streamId;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var comObj = this.comObj;\n var streamSink = {\n enqueue: function enqueue(chunk) {\n var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var transfers = arguments.length > 2 ? arguments[2] : undefined;\n\n if (this.isCancelled) {\n return;\n }\n\n var lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = (0, _util.createPromiseCapability)();\n this.ready = this.sinkCapability.promise;\n }\n\n self._postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.ENQUEUE,\n streamId: streamId,\n chunk: chunk\n }, transfers);\n },\n close: function close() {\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CLOSE,\n streamId: streamId\n });\n delete self.streamSinks[streamId];\n },\n error: function error(reason) {\n (0, _util.assert)(reason instanceof Error, \"error must have a valid reason\");\n\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.ERROR,\n streamId: 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: sourceName,\n targetName: targetName,\n stream: StreamKind.START_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.START_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n }\n }, {\n key: \"_processStreamMessage\",\n value: function _processStreamMessage(data) {\n var streamId = data.streamId;\n var sourceName = this.sourceName;\n var targetName = data.sourceName;\n var comObj = this.comObj;\n\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\n break;\n\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\n break;\n\n case StreamKind.PULL:\n if (!this.streamSinks[streamId]) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n success: true\n });\n break;\n }\n\n if (this.streamSinks[streamId].desiredSize <= 0 && data.desiredSize > 0) {\n this.streamSinks[streamId].sinkCapability.resolve();\n }\n\n this.streamSinks[streamId].desiredSize = data.desiredSize;\n var onPull = this.streamSinks[data.streamId].onPull;\n new Promise(function (resolve) {\n resolve(onPull && onPull());\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId: streamId,\n reason: wrapReason(reason)\n });\n });\n break;\n\n case StreamKind.ENQUEUE:\n (0, _util.assert)(this.streamControllers[streamId], \"enqueue should have stream controller\");\n\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n\n this.streamControllers[streamId].controller.enqueue(data.chunk);\n break;\n\n case StreamKind.CLOSE:\n (0, _util.assert)(this.streamControllers[streamId], \"close should have stream controller\");\n\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n\n this.streamControllers[streamId].isClosed = true;\n this.streamControllers[streamId].controller.close();\n\n this._deleteStreamController(streamId);\n\n break;\n\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\n this._deleteStreamController(streamId);\n\n break;\n\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\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.CANCEL:\n if (!this.streamSinks[streamId]) {\n break;\n }\n\n var onCancel = this.streamSinks[data.streamId].onCancel;\n new Promise(function (resolve) {\n resolve(onCancel && onCancel(wrapReason(data.reason)));\n }).then(function () {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId: streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: sourceName,\n targetName: targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId: 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\n default:\n throw new Error(\"Unexpected stream case\");\n }\n }\n }, {\n key: \"_deleteStreamController\",\n value: function () {\n var _deleteStreamController2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(streamId) {\n return _regeneratorRuntime.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.next = 2;\n return Promise.allSettled([this.streamControllers[streamId].startCall, this.streamControllers[streamId].pullCall, this.streamControllers[streamId].cancelCall].map(function (capability) {\n return capability && capability.promise;\n }));\n\n case 2:\n delete this.streamControllers[streamId];\n\n case 3:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6, this);\n }));\n\n function _deleteStreamController(_x5) {\n return _deleteStreamController2.apply(this, arguments);\n }\n\n return _deleteStreamController;\n }()\n }, {\n key: \"_postMessage\",\n value: function _postMessage(message, transfers) {\n if (transfers && this.postMessageTransfers) {\n this.comObj.postMessage(message, transfers);\n } else {\n this.comObj.postMessage(message);\n }\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n }\n }]);\n\n return MessageHandler;\n }();\n\n exports.MessageHandler = MessageHandler;\n /***/\n },\n /* 12 */\n\n /***/\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\n var _util = __w_pdfjs_require__(2);\n\n var _xml_parser = __w_pdfjs_require__(13);\n\n var Metadata = /*#__PURE__*/function () {\n function Metadata(data) {\n _classCallCheck(this, Metadata);\n\n (0, _util.assert)(typeof data === \"string\", \"Metadata: input is not a string\");\n data = this._repair(data);\n var parser = new _xml_parser.SimpleXMLParser();\n var xmlDocument = parser.parseFromString(data);\n this._metadataMap = new Map();\n\n if (xmlDocument) {\n this._parse(xmlDocument);\n }\n }\n\n _createClass(Metadata, [{\n key: \"_repair\",\n value: function _repair(data) {\n return data.replace(/^[^<]+/, \"\").replace(/>\\\\376\\\\377([^<]+)/g, function (all, codes) {\n var 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\n case \"apos\":\n return \"'\";\n\n case \"gt\":\n return \">\";\n\n case \"lt\":\n return \"<\";\n\n case \"quot\":\n return '\"';\n }\n\n throw new Error(\"_repair: \".concat(name, \" isn't defined.\"));\n });\n var chars = \"\";\n\n for (var i = 0, ii = bytes.length; i < ii; i += 2) {\n var code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);\n\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\n return \">\" + chars;\n });\n }\n }, {\n key: \"_parse\",\n value: function _parse(xmlDocument) {\n var rdf = xmlDocument.documentElement;\n\n if (rdf.nodeName.toLowerCase() !== \"rdf:rdf\") {\n rdf = rdf.firstChild;\n\n while (rdf && rdf.nodeName.toLowerCase() !== \"rdf:rdf\") {\n rdf = rdf.nextSibling;\n }\n }\n\n var nodeName = rdf ? rdf.nodeName.toLowerCase() : null;\n\n if (!rdf || nodeName !== \"rdf:rdf\" || !rdf.hasChildNodes()) {\n return;\n }\n\n var children = rdf.childNodes;\n\n for (var i = 0, ii = children.length; i < ii; i++) {\n var desc = children[i];\n\n if (desc.nodeName.toLowerCase() !== \"rdf:description\") {\n continue;\n }\n\n for (var j = 0, jj = desc.childNodes.length; j < jj; j++) {\n if (desc.childNodes[j].nodeName.toLowerCase() !== \"#text\") {\n var entry = desc.childNodes[j];\n var name = entry.nodeName.toLowerCase();\n\n this._metadataMap.set(name, entry.textContent.trim());\n }\n }\n }\n }\n }, {\n key: \"get\",\n value: function get(name) {\n return this._metadataMap.has(name) ? this._metadataMap.get(name) : null;\n }\n }, {\n key: \"getAll\",\n value: function getAll() {\n var obj = Object.create(null);\n\n var _iterator8 = _createForOfIteratorHelper(this._metadataMap),\n _step8;\n\n try {\n for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n var _step8$value = _slicedToArray(_step8.value, 2),\n key = _step8$value[0],\n value = _step8$value[1];\n\n obj[key] = value;\n }\n } catch (err) {\n _iterator8.e(err);\n } finally {\n _iterator8.f();\n }\n\n return obj;\n }\n }, {\n key: \"has\",\n value: function has(name) {\n return this._metadataMap.has(name);\n }\n }]);\n\n return Metadata;\n }();\n\n exports.Metadata = Metadata;\n /***/\n },\n /* 13 */\n\n /***/\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 var 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\n function isWhitespace(s, index) {\n var ch = s[index];\n return ch === \" \" || ch === \"\\n\" || ch === \"\\r\" || ch === \"\\t\";\n }\n\n function isWhitespaceString(s) {\n for (var i = 0, ii = s.length; i < ii; i++) {\n if (!isWhitespace(s, i)) {\n return false;\n }\n }\n\n return true;\n }\n\n var XMLParserBase = /*#__PURE__*/function () {\n function XMLParserBase() {\n _classCallCheck(this, XMLParserBase);\n }\n\n _createClass(XMLParserBase, [{\n key: \"_resolveEntities\",\n value: function _resolveEntities(s) {\n var _this29 = this;\n\n return s.replace(/&([^;]+);/g, function (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\n switch (entity) {\n case \"lt\":\n return \"<\";\n\n case \"gt\":\n return \">\";\n\n case \"amp\":\n return \"&\";\n\n case \"quot\":\n return '\"';\n }\n\n return _this29.onResolveEntity(entity);\n });\n }\n }, {\n key: \"_parseContent\",\n value: function _parseContent(s, start) {\n var attributes = [];\n var pos = start;\n\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \">\" && s[pos] !== \"/\") {\n ++pos;\n }\n\n var name = s.substring(start, pos);\n skipWs();\n\n while (pos < s.length && s[pos] !== \">\" && s[pos] !== \"/\" && s[pos] !== \"?\") {\n skipWs();\n var attrName = \"\",\n attrValue = \"\";\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \"=\") {\n attrName += s[pos];\n ++pos;\n }\n\n skipWs();\n\n if (s[pos] !== \"=\") {\n return null;\n }\n\n ++pos;\n skipWs();\n var attrEndChar = s[pos];\n\n if (attrEndChar !== '\"' && attrEndChar !== \"'\") {\n return null;\n }\n\n var attrEndIndex = s.indexOf(attrEndChar, ++pos);\n\n if (attrEndIndex < 0) {\n return null;\n }\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\n return {\n name: name,\n attributes: attributes,\n parsed: pos - start\n };\n }\n }, {\n key: \"_parseProcessingInstruction\",\n value: function _parseProcessingInstruction(s, start) {\n var pos = start;\n\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \">\" && s[pos] !== \"/\") {\n ++pos;\n }\n\n var name = s.substring(start, pos);\n skipWs();\n var attrStart = pos;\n\n while (pos < s.length && (s[pos] !== \"?\" || s[pos + 1] !== \">\")) {\n ++pos;\n }\n\n var value = s.substring(attrStart, pos);\n return {\n name: name,\n value: value,\n parsed: pos - start\n };\n }\n }, {\n key: \"parseXml\",\n value: function parseXml(s) {\n var i = 0;\n\n while (i < s.length) {\n var ch = s[i];\n var j = i;\n\n if (ch === \"<\") {\n ++j;\n var ch2 = s[j];\n var q = void 0;\n\n switch (ch2) {\n case \"/\":\n ++j;\n q = s.indexOf(\">\", j);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n\n this.onEndElement(s.substring(j, q));\n j = q + 1;\n break;\n\n case \"?\":\n ++j;\n\n var pi = this._parseProcessingInstruction(s, j);\n\n if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== \"?>\") {\n this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);\n return;\n }\n\n this.onPi(pi.name, pi.value);\n j += pi.parsed + 2;\n break;\n\n case \"!\":\n if (s.substring(j + 1, j + 3) === \"--\") {\n q = s.indexOf(\"-->\", j + 3);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedComment);\n return;\n }\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\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedCdat);\n return;\n }\n\n this.onCdata(s.substring(j + 8, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === \"DOCTYPE\") {\n var q2 = s.indexOf(\"[\", j + 8);\n var complexDoctype = false;\n q = s.indexOf(\">\", j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n\n if (q2 > 0 && q > q2) {\n q = s.indexOf(\"]>\", j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n\n complexDoctype = true;\n }\n\n var 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\n break;\n\n default:\n var content = this._parseContent(s, j);\n\n if (content === null) {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n\n var isClosed = false;\n\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\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\n var text = s.substring(i, j);\n this.onText(this._resolveEntities(text));\n }\n\n i = j;\n }\n }\n }, {\n key: \"onResolveEntity\",\n value: function onResolveEntity(name) {\n return \"&\".concat(name, \";\");\n }\n }, {\n key: \"onPi\",\n value: function onPi(name, value) {}\n }, {\n key: \"onComment\",\n value: function onComment(text) {}\n }, {\n key: \"onCdata\",\n value: function onCdata(text) {}\n }, {\n key: \"onDoctype\",\n value: function onDoctype(doctypeContent) {}\n }, {\n key: \"onText\",\n value: function onText(text) {}\n }, {\n key: \"onBeginElement\",\n value: function onBeginElement(name, attributes, isEmpty) {}\n }, {\n key: \"onEndElement\",\n value: function onEndElement(name) {}\n }, {\n key: \"onError\",\n value: function onError(code) {}\n }]);\n\n return XMLParserBase;\n }();\n\n var SimpleDOMNode = /*#__PURE__*/function () {\n function SimpleDOMNode(nodeName, nodeValue) {\n _classCallCheck(this, SimpleDOMNode);\n\n this.nodeName = nodeName;\n this.nodeValue = nodeValue;\n Object.defineProperty(this, \"parentNode\", {\n value: null,\n writable: true\n });\n }\n\n _createClass(SimpleDOMNode, [{\n key: \"firstChild\",\n get: function get() {\n return this.childNodes && this.childNodes[0];\n }\n }, {\n key: \"nextSibling\",\n get: function get() {\n var childNodes = this.parentNode.childNodes;\n\n if (!childNodes) {\n return undefined;\n }\n\n var index = childNodes.indexOf(this);\n\n if (index === -1) {\n return undefined;\n }\n\n return childNodes[index + 1];\n }\n }, {\n key: \"textContent\",\n get: function get() {\n if (!this.childNodes) {\n return this.nodeValue || \"\";\n }\n\n return this.childNodes.map(function (child) {\n return child.textContent;\n }).join(\"\");\n }\n }, {\n key: \"hasChildNodes\",\n value: function hasChildNodes() {\n return this.childNodes && this.childNodes.length > 0;\n }\n }]);\n\n return SimpleDOMNode;\n }();\n\n var SimpleXMLParser = /*#__PURE__*/function (_XMLParserBase) {\n _inherits(SimpleXMLParser, _XMLParserBase);\n\n var _super10 = _createSuper(SimpleXMLParser);\n\n function SimpleXMLParser() {\n var _this30;\n\n _classCallCheck(this, SimpleXMLParser);\n\n _this30 = _super10.call(this);\n _this30._currentFragment = null;\n _this30._stack = null;\n _this30._errorCode = XMLParserErrorCode.NoError;\n return _this30;\n }\n\n _createClass(SimpleXMLParser, [{\n key: \"parseFromString\",\n value: function parseFromString(data) {\n this._currentFragment = [];\n this._stack = [];\n this._errorCode = XMLParserErrorCode.NoError;\n this.parseXml(data);\n\n if (this._errorCode !== XMLParserErrorCode.NoError) {\n return undefined;\n }\n\n var _this$_currentFragmen = _slicedToArray(this._currentFragment, 1),\n documentElement = _this$_currentFragmen[0];\n\n if (!documentElement) {\n return undefined;\n }\n\n return {\n documentElement: documentElement\n };\n }\n }, {\n key: \"onResolveEntity\",\n value: function onResolveEntity(name) {\n switch (name) {\n case \"apos\":\n return \"'\";\n }\n\n return _get(_getPrototypeOf(SimpleXMLParser.prototype), \"onResolveEntity\", this).call(this, name);\n }\n }, {\n key: \"onText\",\n value: function onText(text) {\n if (isWhitespaceString(text)) {\n return;\n }\n\n var node = new SimpleDOMNode(\"#text\", text);\n\n this._currentFragment.push(node);\n }\n }, {\n key: \"onCdata\",\n value: function onCdata(text) {\n var node = new SimpleDOMNode(\"#text\", text);\n\n this._currentFragment.push(node);\n }\n }, {\n key: \"onBeginElement\",\n value: function onBeginElement(name, attributes, isEmpty) {\n var node = new SimpleDOMNode(name);\n node.childNodes = [];\n\n this._currentFragment.push(node);\n\n if (isEmpty) {\n return;\n }\n\n this._stack.push(this._currentFragment);\n\n this._currentFragment = node.childNodes;\n }\n }, {\n key: \"onEndElement\",\n value: function onEndElement(name) {\n this._currentFragment = this._stack.pop() || [];\n var lastElement = this._currentFragment[this._currentFragment.length - 1];\n\n if (!lastElement) {\n return;\n }\n\n for (var i = 0, ii = lastElement.childNodes.length; i < ii; i++) {\n lastElement.childNodes[i].parentNode = lastElement;\n }\n }\n }, {\n key: \"onError\",\n value: function onError(code) {\n this._errorCode = code;\n }\n }]);\n\n return SimpleXMLParser;\n }(XMLParserBase);\n\n exports.SimpleXMLParser = SimpleXMLParser;\n /***/\n },\n /* 14 */\n\n /***/\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\n var _util = __w_pdfjs_require__(2);\n\n var PDFDataTransportStream = /*#__PURE__*/function () {\n function PDFDataTransportStream(params, pdfDataRangeTransport) {\n var _this31 = this;\n\n _classCallCheck(this, PDFDataTransportStream);\n\n (0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required \"pdfDataRangeTransport\" argument.');\n this._queuedChunks = [];\n this._progressiveDone = params.progressiveDone || false;\n var initialData = params.initialData;\n\n if (initialData && initialData.length > 0) {\n var buffer = new Uint8Array(initialData).buffer;\n\n this._queuedChunks.push(buffer);\n }\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\n this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) {\n _this31._onReceiveData({\n begin: begin,\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressListener(function (loaded, total) {\n _this31._onProgress({\n loaded: loaded,\n total: total\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) {\n _this31._onReceiveData({\n chunk: chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveDoneListener(function () {\n _this31._onProgressiveDone();\n });\n\n this._pdfDataRangeTransport.transportReady();\n }\n\n _createClass(PDFDataTransportStream, [{\n key: \"_onReceiveData\",\n value: function _onReceiveData(args) {\n var buffer = new Uint8Array(args.chunk).buffer;\n\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 var found = this._rangeReaders.some(function (rangeReader) {\n if (rangeReader._begin !== args.begin) {\n return false;\n }\n\n rangeReader._enqueue(buffer);\n\n return true;\n });\n\n (0, _util.assert)(found, \"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.\");\n }\n }\n }, {\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(evt) {\n if (evt.total === undefined) {\n var firstReader = this._rangeReaders[0];\n\n if (firstReader && firstReader.onProgress) {\n firstReader.onProgress({\n loaded: evt.loaded\n });\n }\n } else {\n var fullReader = this._fullRequestReader;\n\n if (fullReader && fullReader.onProgress) {\n fullReader.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n }\n }\n }, {\n key: \"_onProgressiveDone\",\n value: function _onProgressiveDone() {\n if (this._fullRequestReader) {\n this._fullRequestReader.progressiveDone();\n }\n\n this._progressiveDone = true;\n }\n }, {\n key: \"_removeRangeReader\",\n value: function _removeRangeReader(reader) {\n var i = this._rangeReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n }\n }, {\n key: \"getFullReader\",\n value: function getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFDataTransportStream.getFullReader can only be called once.\");\n var queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone);\n }\n }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n\n this._rangeReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeReaders.slice(0);\n\n readers.forEach(function (rangeReader) {\n rangeReader.cancel(reason);\n });\n\n this._pdfDataRangeTransport.abort();\n }\n }]);\n\n return PDFDataTransportStream;\n }();\n\n exports.PDFDataTransportStream = PDFDataTransportStream;\n\n var PDFDataTransportStreamReader = /*#__PURE__*/function () {\n function PDFDataTransportStreamReader(stream, queuedChunks) {\n var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, PDFDataTransportStreamReader);\n\n this._stream = stream;\n this._done = progressiveDone || false;\n this._filename = null;\n this._queuedChunks = queuedChunks || [];\n this._loaded = 0;\n\n var _iterator9 = _createForOfIteratorHelper(this._queuedChunks),\n _step9;\n\n try {\n for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {\n var chunk = _step9.value;\n this._loaded += chunk.byteLength;\n }\n } catch (err) {\n _iterator9.e(err);\n } finally {\n _iterator9.f();\n }\n\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n\n _createClass(PDFDataTransportStreamReader, [{\n key: \"_enqueue\",\n value: function _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunks.push(chunk);\n }\n\n this._loaded += chunk.byteLength;\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersReady;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._stream._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._stream._isStreamingSupported;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._stream._contentLength;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee7() {\n var chunk, requestCapability;\n return _regeneratorRuntime.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n if (!(this._queuedChunks.length > 0)) {\n _context7.next = 3;\n break;\n }\n\n chunk = this._queuedChunks.shift();\n return _context7.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 3:\n if (!this._done) {\n _context7.next = 5;\n break;\n }\n\n return _context7.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 5:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context7.abrupt(\"return\", requestCapability.promise);\n\n case 8:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7, this);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n }, {\n key: \"progressiveDone\",\n value: function progressiveDone() {\n if (this._done) {\n return;\n }\n\n this._done = true;\n }\n }]);\n\n return PDFDataTransportStreamReader;\n }();\n\n var PDFDataTransportStreamRangeReader = /*#__PURE__*/function () {\n function PDFDataTransportStreamRangeReader(stream, begin, end) {\n _classCallCheck(this, PDFDataTransportStreamRangeReader);\n\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\n _createClass(PDFDataTransportStreamRangeReader, [{\n key: \"_enqueue\",\n value: function _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n var requestsCapability = this._requests.shift();\n\n requestsCapability.resolve({\n value: chunk,\n done: false\n });\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n\n this._done = true;\n\n this._stream._removeRangeReader(this);\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee8() {\n var chunk, requestCapability;\n return _regeneratorRuntime.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n if (!this._queuedChunk) {\n _context8.next = 4;\n break;\n }\n\n chunk = this._queuedChunk;\n this._queuedChunk = null;\n return _context8.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 4:\n if (!this._done) {\n _context8.next = 6;\n break;\n }\n\n return _context8.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 6:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context8.abrupt(\"return\", requestCapability.promise);\n\n case 9:\n case \"end\":\n return _context8.stop();\n }\n }\n }, _callee8, this);\n }));\n\n function read() {\n return _read2.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n this._stream._removeRangeReader(this);\n }\n }]);\n\n return PDFDataTransportStreamRangeReader;\n }();\n /***/\n\n },\n /* 15 */\n\n /***/\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\n var _util = __w_pdfjs_require__(2);\n\n var WebGLContext = /*#__PURE__*/function () {\n function WebGLContext(_ref28) {\n var _ref28$enable = _ref28.enable,\n enable = _ref28$enable === void 0 ? false : _ref28$enable;\n\n _classCallCheck(this, WebGLContext);\n\n this._enabled = enable === true;\n }\n\n _createClass(WebGLContext, [{\n key: \"isEnabled\",\n get: function get() {\n var enabled = this._enabled;\n\n if (enabled) {\n enabled = WebGLUtils.tryInitGL();\n }\n\n return (0, _util.shadow)(this, \"isEnabled\", enabled);\n }\n }, {\n key: \"composeSMask\",\n value: function composeSMask(_ref29) {\n var layer = _ref29.layer,\n mask = _ref29.mask,\n properties = _ref29.properties;\n return WebGLUtils.composeSMask(layer, mask, properties);\n }\n }, {\n key: \"drawFigures\",\n value: function drawFigures(_ref30) {\n var width = _ref30.width,\n height = _ref30.height,\n backgroundColor = _ref30.backgroundColor,\n figures = _ref30.figures,\n context = _ref30.context;\n return WebGLUtils.drawFigures(width, height, backgroundColor, figures, context);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n WebGLUtils.cleanup();\n }\n }]);\n\n return WebGLContext;\n }();\n\n exports.WebGLContext = WebGLContext;\n\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\n if (!compiled) {\n var errorMsg = gl.getShaderInfoLog(shader);\n throw new Error(\"Error during shader compilation: \" + errorMsg);\n }\n\n return shader;\n }\n\n function createVertexShader(gl, code) {\n return loadShader(gl, code, gl.VERTEX_SHADER);\n }\n\n function createFragmentShader(gl, code) {\n return loadShader(gl, code, gl.FRAGMENT_SHADER);\n }\n\n function createProgram(gl, shaders) {\n var program = gl.createProgram();\n\n for (var i = 0, ii = shaders.length; i < ii; ++i) {\n gl.attachShader(program, shaders[i]);\n }\n\n gl.linkProgram(program);\n var linked = gl.getProgramParameter(program, gl.LINK_STATUS);\n\n if (!linked) {\n var errorMsg = gl.getProgramInfoLog(program);\n throw new Error(\"Error during program linking: \" + errorMsg);\n }\n\n return program;\n }\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\n var currentGL, currentCanvas;\n\n function generateGL() {\n if (currentGL) {\n return;\n }\n\n currentCanvas = document.createElement(\"canvas\");\n currentGL = currentCanvas.getContext(\"webgl\", {\n premultipliedalpha: false\n });\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\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\n function composeSMask(layer, mask, properties) {\n var width = layer.width,\n height = layer.height;\n\n if (!smaskCache) {\n initSmaskGL();\n }\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\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\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\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\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\n function drawFigures(width, height, backgroundColor, figures, context) {\n if (!figuresCache) {\n initFiguresGL();\n }\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\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\n case \"triangles\":\n count += figures[i].coords.length;\n break;\n }\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\n for (i = 0, ii = figures.length; i < ii; i++) {\n var figure = figures[i],\n ps = figure.coords,\n cs = figure.colors;\n\n switch (figure.type) {\n case \"lattice\":\n var cols = figure.verticesPerRow;\n rows = ps.length / cols | 0;\n\n for (var row = 1; row < rows; row++) {\n var offset = row * cols + 1;\n\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\n break;\n\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\n break;\n }\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\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\n return {\n tryInitGL: function tryInitGL() {\n try {\n generateGL();\n return !!currentGL;\n } catch (ex) {}\n\n return false;\n },\n composeSMask: composeSMask,\n drawFigures: drawFigures,\n cleanup: function cleanup() {\n if (smaskCache && smaskCache.canvas) {\n smaskCache.canvas.width = 0;\n smaskCache.canvas.height = 0;\n }\n\n if (figuresCache && figuresCache.canvas) {\n figuresCache.canvas.width = 0;\n figuresCache.canvas.height = 0;\n }\n\n smaskCache = null;\n figuresCache = null;\n }\n };\n }();\n /***/\n\n },\n /* 16 */\n\n /***/\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\n var _display_utils = __w_pdfjs_require__(1);\n\n var _util = __w_pdfjs_require__(2);\n\n var AnnotationElementFactory = /*#__PURE__*/function () {\n function AnnotationElementFactory() {\n _classCallCheck(this, AnnotationElementFactory);\n }\n\n _createClass(AnnotationElementFactory, null, [{\n key: \"create\",\n value: function create(parameters) {\n var subtype = parameters.data.annotationType;\n\n switch (subtype) {\n case _util.AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n\n case _util.AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n\n case _util.AnnotationType.WIDGET:\n var fieldType = parameters.data.fieldType;\n\n switch (fieldType) {\n case \"Tx\":\n return new TextWidgetAnnotationElement(parameters);\n\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\n return new PushButtonWidgetAnnotationElement(parameters);\n\n case \"Ch\":\n return new ChoiceWidgetAnnotationElement(parameters);\n }\n\n return new WidgetAnnotationElement(parameters);\n\n case _util.AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n\n case _util.AnnotationType.FREETEXT:\n return new FreeTextAnnotationElement(parameters);\n\n case _util.AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUARE:\n return new SquareAnnotationElement(parameters);\n\n case _util.AnnotationType.CIRCLE:\n return new CircleAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYLINE:\n return new PolylineAnnotationElement(parameters);\n\n case _util.AnnotationType.CARET:\n return new CaretAnnotationElement(parameters);\n\n case _util.AnnotationType.INK:\n return new InkAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n\n case _util.AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n\n case _util.AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n\n case _util.AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n\n case _util.AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n\n case _util.AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n\n default:\n return new AnnotationElement(parameters);\n }\n }\n }]);\n\n return AnnotationElementFactory;\n }();\n\n var AnnotationElement = /*#__PURE__*/function () {\n function AnnotationElement(parameters) {\n var isRenderable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var ignoreBorder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, AnnotationElement);\n\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\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n }\n\n _createClass(AnnotationElement, [{\n key: \"_createContainer\",\n value: function _createContainer() {\n var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var data = this.data,\n page = this.page,\n viewport = this.viewport;\n var container = document.createElement(\"section\");\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n container.setAttribute(\"data-annotation-id\", data.id);\n\n var 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\n container.style.transform = \"matrix(\".concat(viewport.transform.join(\",\"), \")\");\n container.style.transformOrigin = \"-\".concat(rect[0], \"px -\").concat(rect[1], \"px\");\n\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = \"\".concat(data.borderStyle.width, \"px\");\n\n if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {\n width = width - 2 * data.borderStyle.width;\n height = height - 2 * data.borderStyle.width;\n }\n\n var horizontalRadius = data.borderStyle.horizontalCornerRadius;\n var verticalRadius = data.borderStyle.verticalCornerRadius;\n\n if (horizontalRadius > 0 || verticalRadius > 0) {\n var radius = \"\".concat(horizontalRadius, \"px / \").concat(verticalRadius, \"px\");\n container.style.borderRadius = radius;\n }\n\n switch (data.borderStyle.style) {\n case _util.AnnotationBorderStyleType.SOLID:\n container.style.borderStyle = \"solid\";\n break;\n\n case _util.AnnotationBorderStyleType.DASHED:\n container.style.borderStyle = \"dashed\";\n break;\n\n case _util.AnnotationBorderStyleType.BEVELED:\n (0, _util.warn)(\"Unimplemented border style: beveled\");\n break;\n\n case _util.AnnotationBorderStyleType.INSET:\n (0, _util.warn)(\"Unimplemented border style: inset\");\n break;\n\n case _util.AnnotationBorderStyleType.UNDERLINE:\n container.style.borderBottomStyle = \"solid\";\n break;\n\n default:\n break;\n }\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\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 }, {\n key: \"_createPopup\",\n value: function _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\n var popupElement = new PopupElement({\n container: container,\n trigger: trigger,\n color: data.color,\n title: data.title,\n modificationDate: data.modificationDate,\n contents: data.contents,\n hideWrapper: true\n });\n var popup = popupElement.render();\n popup.style.left = container.style.width;\n container.appendChild(popup);\n }\n }, {\n key: \"render\",\n value: function render() {\n (0, _util.unreachable)(\"Abstract method `AnnotationElement.render` called\");\n }\n }]);\n\n return AnnotationElement;\n }();\n\n var LinkAnnotationElement = /*#__PURE__*/function (_AnnotationElement) {\n _inherits(LinkAnnotationElement, _AnnotationElement);\n\n var _super11 = _createSuper(LinkAnnotationElement);\n\n function LinkAnnotationElement(parameters) {\n _classCallCheck(this, LinkAnnotationElement);\n\n var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action);\n return _super11.call(this, parameters, isRenderable);\n }\n\n _createClass(LinkAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"linkAnnotation\";\n var data = this.data,\n linkService = this.linkService;\n var link = document.createElement(\"a\");\n\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\n this.container.appendChild(link);\n return this.container;\n }\n }, {\n key: \"_bindLink\",\n value: function _bindLink(link, destination) {\n var _this32 = this;\n\n link.href = this.linkService.getDestinationHash(destination);\n\n link.onclick = function () {\n if (destination) {\n _this32.linkService.navigateTo(destination);\n }\n\n return false;\n };\n\n if (destination) {\n link.className = \"internalLink\";\n }\n }\n }, {\n key: \"_bindNamedAction\",\n value: function _bindNamedAction(link, action) {\n var _this33 = this;\n\n link.href = this.linkService.getAnchorUrl(\"\");\n\n link.onclick = function () {\n _this33.linkService.executeNamedAction(action);\n\n return false;\n };\n\n link.className = \"internalLink\";\n }\n }]);\n\n return LinkAnnotationElement;\n }(AnnotationElement);\n\n var TextAnnotationElement = /*#__PURE__*/function (_AnnotationElement2) {\n _inherits(TextAnnotationElement, _AnnotationElement2);\n\n var _super12 = _createSuper(TextAnnotationElement);\n\n function TextAnnotationElement(parameters) {\n _classCallCheck(this, TextAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super12.call(this, parameters, isRenderable);\n }\n\n _createClass(TextAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"textAnnotation\";\n var 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\n if (!this.data.hasPopup) {\n this._createPopup(this.container, image, this.data);\n }\n\n this.container.appendChild(image);\n return this.container;\n }\n }]);\n\n return TextAnnotationElement;\n }(AnnotationElement);\n\n var WidgetAnnotationElement = /*#__PURE__*/function (_AnnotationElement3) {\n _inherits(WidgetAnnotationElement, _AnnotationElement3);\n\n var _super13 = _createSuper(WidgetAnnotationElement);\n\n function WidgetAnnotationElement() {\n _classCallCheck(this, WidgetAnnotationElement);\n\n return _super13.apply(this, arguments);\n }\n\n _createClass(WidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n return this.container;\n }\n }]);\n\n return WidgetAnnotationElement;\n }(AnnotationElement);\n\n var TextWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem) {\n _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem);\n\n var _super14 = _createSuper(TextWidgetAnnotationElement);\n\n function TextWidgetAnnotationElement(parameters) {\n _classCallCheck(this, TextWidgetAnnotationElement);\n\n var isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n return _super14.call(this, parameters, isRenderable);\n }\n\n _createClass(TextWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var TEXT_ALIGNMENT = [\"left\", \"center\", \"right\"];\n this.container.className = \"textWidgetAnnotation\";\n var element = null;\n\n if (this.renderInteractiveForms) {\n if (this.data.multiLine) {\n element = document.createElement(\"textarea\");\n element.textContent = this.data.fieldValue;\n } else {\n element = document.createElement(\"input\");\n element.type = \"text\";\n element.setAttribute(\"value\", this.data.fieldValue);\n }\n\n element.disabled = this.data.readOnly;\n element.name = this.data.fieldName;\n\n if (this.data.maxLen !== null) {\n element.maxLength = this.data.maxLen;\n }\n\n if (this.data.comb) {\n var fieldWidth = this.data.rect[2] - this.data.rect[0];\n var 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 var font = null;\n\n if (this.data.fontRefName && this.page.commonObjs.has(this.data.fontRefName)) {\n font = this.page.commonObjs.get(this.data.fontRefName);\n }\n\n this._setTextStyle(element, font);\n }\n\n if (this.data.textAlignment !== null) {\n element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n }, {\n key: \"_setTextStyle\",\n value: function _setTextStyle(element, font) {\n var style = element.style;\n style.fontSize = \"\".concat(this.data.fontSize, \"px\");\n style.direction = this.data.fontDirection < 0 ? \"rtl\" : \"ltr\";\n\n if (!font) {\n return;\n }\n\n var bold = \"normal\";\n\n if (font.black) {\n bold = \"900\";\n } else if (font.bold) {\n bold = \"bold\";\n }\n\n style.fontWeight = bold;\n style.fontStyle = font.italic ? \"italic\" : \"normal\";\n var fontFamily = font.loadedName ? \"\\\"\".concat(font.loadedName, \"\\\", \") : \"\";\n var fallbackName = font.fallbackName || \"Helvetica, sans-serif\";\n style.fontFamily = fontFamily + fallbackName;\n }\n }]);\n\n return TextWidgetAnnotationElement;\n }(WidgetAnnotationElement);\n\n var CheckboxWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem2) {\n _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2);\n\n var _super15 = _createSuper(CheckboxWidgetAnnotationElement);\n\n function CheckboxWidgetAnnotationElement(parameters) {\n _classCallCheck(this, CheckboxWidgetAnnotationElement);\n\n return _super15.call(this, parameters, parameters.renderInteractiveForms);\n }\n\n _createClass(CheckboxWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"buttonWidgetAnnotation checkBox\";\n var element = document.createElement(\"input\");\n element.disabled = this.data.readOnly;\n element.type = \"checkbox\";\n element.name = this.data.fieldName;\n\n if (this.data.fieldValue && this.data.fieldValue !== \"Off\") {\n element.setAttribute(\"checked\", true);\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return CheckboxWidgetAnnotationElement;\n }(WidgetAnnotationElement);\n\n var RadioButtonWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem3) {\n _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3);\n\n var _super16 = _createSuper(RadioButtonWidgetAnnotationElement);\n\n function RadioButtonWidgetAnnotationElement(parameters) {\n _classCallCheck(this, RadioButtonWidgetAnnotationElement);\n\n return _super16.call(this, parameters, parameters.renderInteractiveForms);\n }\n\n _createClass(RadioButtonWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"buttonWidgetAnnotation radioButton\";\n var element = document.createElement(\"input\");\n element.disabled = this.data.readOnly;\n element.type = \"radio\";\n element.name = this.data.fieldName;\n\n if (this.data.fieldValue === this.data.buttonValue) {\n element.setAttribute(\"checked\", true);\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n }]);\n\n return RadioButtonWidgetAnnotationElement;\n }(WidgetAnnotationElement);\n\n var PushButtonWidgetAnnotationElement = /*#__PURE__*/function (_LinkAnnotationElemen) {\n _inherits(PushButtonWidgetAnnotationElement, _LinkAnnotationElemen);\n\n var _super17 = _createSuper(PushButtonWidgetAnnotationElement);\n\n function PushButtonWidgetAnnotationElement() {\n _classCallCheck(this, PushButtonWidgetAnnotationElement);\n\n return _super17.apply(this, arguments);\n }\n\n _createClass(PushButtonWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var container = _get(_getPrototypeOf(PushButtonWidgetAnnotationElement.prototype), \"render\", this).call(this);\n\n container.className = \"buttonWidgetAnnotation pushButton\";\n return container;\n }\n }]);\n\n return PushButtonWidgetAnnotationElement;\n }(LinkAnnotationElement);\n\n var ChoiceWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem4) {\n _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4);\n\n var _super18 = _createSuper(ChoiceWidgetAnnotationElement);\n\n function ChoiceWidgetAnnotationElement(parameters) {\n _classCallCheck(this, ChoiceWidgetAnnotationElement);\n\n return _super18.call(this, parameters, parameters.renderInteractiveForms);\n }\n\n _createClass(ChoiceWidgetAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"choiceWidgetAnnotation\";\n var selectElement = document.createElement(\"select\");\n selectElement.disabled = this.data.readOnly;\n selectElement.name = this.data.fieldName;\n\n if (!this.data.combo) {\n selectElement.size = this.data.options.length;\n\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\n }\n\n var _iterator10 = _createForOfIteratorHelper(this.data.options),\n _step10;\n\n try {\n for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {\n var option = _step10.value;\n var optionElement = document.createElement(\"option\");\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n\n if (this.data.fieldValue.includes(option.displayValue)) {\n optionElement.setAttribute(\"selected\", true);\n }\n\n selectElement.appendChild(optionElement);\n }\n } catch (err) {\n _iterator10.e(err);\n } finally {\n _iterator10.f();\n }\n\n this.container.appendChild(selectElement);\n return this.container;\n }\n }]);\n\n return ChoiceWidgetAnnotationElement;\n }(WidgetAnnotationElement);\n\n var PopupAnnotationElement = /*#__PURE__*/function (_AnnotationElement4) {\n _inherits(PopupAnnotationElement, _AnnotationElement4);\n\n var _super19 = _createSuper(PopupAnnotationElement);\n\n function PopupAnnotationElement(parameters) {\n _classCallCheck(this, PopupAnnotationElement);\n\n var isRenderable = !!(parameters.data.title || parameters.data.contents);\n return _super19.call(this, parameters, isRenderable);\n }\n\n _createClass(PopupAnnotationElement, [{\n key: \"render\",\n value: function render() {\n var IGNORE_TYPES = [\"Line\", \"Square\", \"Circle\", \"PolyLine\", \"Polygon\", \"Ink\"];\n this.container.className = \"popupAnnotation\";\n\n if (IGNORE_TYPES.includes(this.data.parentType)) {\n return this.container;\n }\n\n var selector = \"[data-annotation-id=\\\"\".concat(this.data.parentId, \"\\\"]\");\n var parentElement = this.layer.querySelector(selector);\n\n if (!parentElement) {\n return this.container;\n }\n\n var 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 var parentLeft = parseFloat(parentElement.style.left);\n var 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\n return PopupAnnotationElement;\n }(AnnotationElement);\n\n var PopupElement = /*#__PURE__*/function () {\n function PopupElement(parameters) {\n _classCallCheck(this, PopupElement);\n\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\n _createClass(PopupElement, [{\n key: \"render\",\n value: function render() {\n var BACKGROUND_ENLIGHT = 0.7;\n var wrapper = document.createElement(\"div\");\n wrapper.className = \"popupWrapper\";\n this.hideElement = this.hideWrapper ? wrapper : this.container;\n this.hideElement.setAttribute(\"hidden\", true);\n var popup = document.createElement(\"div\");\n popup.className = \"popup\";\n var color = this.color;\n\n if (color) {\n var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];\n var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];\n var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];\n popup.style.backgroundColor = _util.Util.makeCssRgb(r | 0, g | 0, b | 0);\n }\n\n var title = document.createElement(\"h1\");\n title.textContent = this.title;\n popup.appendChild(title);\n\n var dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate);\n\n if (dateObject) {\n var 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\n var contents = this._formatContents(this.contents);\n\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 }, {\n key: \"_formatContents\",\n value: function _formatContents(contents) {\n var p = document.createElement(\"p\");\n var lines = contents.split(/(?:\\r\\n?|\\n)/);\n\n for (var i = 0, ii = lines.length; i < ii; ++i) {\n var line = lines[i];\n p.appendChild(document.createTextNode(line));\n\n if (i < ii - 1) {\n p.appendChild(document.createElement(\"br\"));\n }\n }\n\n return p;\n }\n }, {\n key: \"_toggle\",\n value: function _toggle() {\n if (this.pinned) {\n this._hide(true);\n } else {\n this._show(true);\n }\n }\n }, {\n key: \"_show\",\n value: function _show() {\n var pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (pin) {\n this.pinned = true;\n }\n\n if (this.hideElement.hasAttribute(\"hidden\")) {\n this.hideElement.removeAttribute(\"hidden\");\n this.container.style.zIndex += 1;\n }\n }\n }, {\n key: \"_hide\",\n value: function _hide() {\n var unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (unpin) {\n this.pinned = false;\n }\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\n return PopupElement;\n }();\n\n var FreeTextAnnotationElement = /*#__PURE__*/function (_AnnotationElement5) {\n _inherits(FreeTextAnnotationElement, _AnnotationElement5);\n\n var _super20 = _createSuper(FreeTextAnnotationElement);\n\n function FreeTextAnnotationElement(parameters) {\n _classCallCheck(this, FreeTextAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super20.call(this, parameters, isRenderable, true);\n }\n\n _createClass(FreeTextAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"freeTextAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return FreeTextAnnotationElement;\n }(AnnotationElement);\n\n var LineAnnotationElement = /*#__PURE__*/function (_AnnotationElement6) {\n _inherits(LineAnnotationElement, _AnnotationElement6);\n\n var _super21 = _createSuper(LineAnnotationElement);\n\n function LineAnnotationElement(parameters) {\n _classCallCheck(this, LineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super21.call(this, parameters, isRenderable, true);\n }\n\n _createClass(LineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"lineAnnotation\";\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var 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\n this._createPopup(this.container, line, data);\n\n return this.container;\n }\n }]);\n\n return LineAnnotationElement;\n }(AnnotationElement);\n\n var SquareAnnotationElement = /*#__PURE__*/function (_AnnotationElement7) {\n _inherits(SquareAnnotationElement, _AnnotationElement7);\n\n var _super22 = _createSuper(SquareAnnotationElement);\n\n function SquareAnnotationElement(parameters) {\n _classCallCheck(this, SquareAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super22.call(this, parameters, isRenderable, true);\n }\n\n _createClass(SquareAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"squareAnnotation\";\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var borderWidth = data.borderStyle.width;\n var 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\n this._createPopup(this.container, square, data);\n\n return this.container;\n }\n }]);\n\n return SquareAnnotationElement;\n }(AnnotationElement);\n\n var CircleAnnotationElement = /*#__PURE__*/function (_AnnotationElement8) {\n _inherits(CircleAnnotationElement, _AnnotationElement8);\n\n var _super23 = _createSuper(CircleAnnotationElement);\n\n function CircleAnnotationElement(parameters) {\n _classCallCheck(this, CircleAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super23.call(this, parameters, isRenderable, true);\n }\n\n _createClass(CircleAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"circleAnnotation\";\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var borderWidth = data.borderStyle.width;\n var 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\n this._createPopup(this.container, circle, data);\n\n return this.container;\n }\n }]);\n\n return CircleAnnotationElement;\n }(AnnotationElement);\n\n var PolylineAnnotationElement = /*#__PURE__*/function (_AnnotationElement9) {\n _inherits(PolylineAnnotationElement, _AnnotationElement9);\n\n var _super24 = _createSuper(PolylineAnnotationElement);\n\n function PolylineAnnotationElement(parameters) {\n var _this34;\n\n _classCallCheck(this, PolylineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n _this34 = _super24.call(this, parameters, isRenderable, true);\n _this34.containerClassName = \"polylineAnnotation\";\n _this34.svgElementName = \"svg:polyline\";\n return _this34;\n }\n\n _createClass(PolylineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = this.containerClassName;\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n var points = [];\n\n var _iterator11 = _createForOfIteratorHelper(data.vertices),\n _step11;\n\n try {\n for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {\n var coordinate = _step11.value;\n var x = coordinate.x - data.rect[0];\n var y = data.rect[3] - coordinate.y;\n points.push(x + \",\" + y);\n }\n } catch (err) {\n _iterator11.e(err);\n } finally {\n _iterator11.f();\n }\n\n points = points.join(\" \");\n var 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\n this._createPopup(this.container, polyline, data);\n\n return this.container;\n }\n }]);\n\n return PolylineAnnotationElement;\n }(AnnotationElement);\n\n var PolygonAnnotationElement = /*#__PURE__*/function (_PolylineAnnotationEl) {\n _inherits(PolygonAnnotationElement, _PolylineAnnotationEl);\n\n var _super25 = _createSuper(PolygonAnnotationElement);\n\n function PolygonAnnotationElement(parameters) {\n var _this35;\n\n _classCallCheck(this, PolygonAnnotationElement);\n\n _this35 = _super25.call(this, parameters);\n _this35.containerClassName = \"polygonAnnotation\";\n _this35.svgElementName = \"svg:polygon\";\n return _this35;\n }\n\n return _createClass(PolygonAnnotationElement);\n }(PolylineAnnotationElement);\n\n var CaretAnnotationElement = /*#__PURE__*/function (_AnnotationElement10) {\n _inherits(CaretAnnotationElement, _AnnotationElement10);\n\n var _super26 = _createSuper(CaretAnnotationElement);\n\n function CaretAnnotationElement(parameters) {\n _classCallCheck(this, CaretAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super26.call(this, parameters, isRenderable, true);\n }\n\n _createClass(CaretAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"caretAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return CaretAnnotationElement;\n }(AnnotationElement);\n\n var InkAnnotationElement = /*#__PURE__*/function (_AnnotationElement11) {\n _inherits(InkAnnotationElement, _AnnotationElement11);\n\n var _super27 = _createSuper(InkAnnotationElement);\n\n function InkAnnotationElement(parameters) {\n var _this36;\n\n _classCallCheck(this, InkAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n _this36 = _super27.call(this, parameters, isRenderable, true);\n _this36.containerClassName = \"inkAnnotation\";\n _this36.svgElementName = \"svg:polyline\";\n return _this36;\n }\n\n _createClass(InkAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = this.containerClassName;\n var data = this.data;\n var width = data.rect[2] - data.rect[0];\n var height = data.rect[3] - data.rect[1];\n var svg = this.svgFactory.create(width, height);\n\n var _iterator12 = _createForOfIteratorHelper(data.inkLists),\n _step12;\n\n try {\n for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {\n var inkList = _step12.value;\n var points = [];\n\n var _iterator13 = _createForOfIteratorHelper(inkList),\n _step13;\n\n try {\n for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {\n var coordinate = _step13.value;\n var x = coordinate.x - data.rect[0];\n var y = data.rect[3] - coordinate.y;\n points.push(\"\".concat(x, \",\").concat(y));\n }\n } catch (err) {\n _iterator13.e(err);\n } finally {\n _iterator13.f();\n }\n\n points = points.join(\" \");\n var 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\n this._createPopup(this.container, polyline, data);\n\n svg.appendChild(polyline);\n }\n } catch (err) {\n _iterator12.e(err);\n } finally {\n _iterator12.f();\n }\n\n this.container.append(svg);\n return this.container;\n }\n }]);\n\n return InkAnnotationElement;\n }(AnnotationElement);\n\n var HighlightAnnotationElement = /*#__PURE__*/function (_AnnotationElement12) {\n _inherits(HighlightAnnotationElement, _AnnotationElement12);\n\n var _super28 = _createSuper(HighlightAnnotationElement);\n\n function HighlightAnnotationElement(parameters) {\n _classCallCheck(this, HighlightAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super28.call(this, parameters, isRenderable, true);\n }\n\n _createClass(HighlightAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"highlightAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return HighlightAnnotationElement;\n }(AnnotationElement);\n\n var UnderlineAnnotationElement = /*#__PURE__*/function (_AnnotationElement13) {\n _inherits(UnderlineAnnotationElement, _AnnotationElement13);\n\n var _super29 = _createSuper(UnderlineAnnotationElement);\n\n function UnderlineAnnotationElement(parameters) {\n _classCallCheck(this, UnderlineAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super29.call(this, parameters, isRenderable, true);\n }\n\n _createClass(UnderlineAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"underlineAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return UnderlineAnnotationElement;\n }(AnnotationElement);\n\n var SquigglyAnnotationElement = /*#__PURE__*/function (_AnnotationElement14) {\n _inherits(SquigglyAnnotationElement, _AnnotationElement14);\n\n var _super30 = _createSuper(SquigglyAnnotationElement);\n\n function SquigglyAnnotationElement(parameters) {\n _classCallCheck(this, SquigglyAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super30.call(this, parameters, isRenderable, true);\n }\n\n _createClass(SquigglyAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"squigglyAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return SquigglyAnnotationElement;\n }(AnnotationElement);\n\n var StrikeOutAnnotationElement = /*#__PURE__*/function (_AnnotationElement15) {\n _inherits(StrikeOutAnnotationElement, _AnnotationElement15);\n\n var _super31 = _createSuper(StrikeOutAnnotationElement);\n\n function StrikeOutAnnotationElement(parameters) {\n _classCallCheck(this, StrikeOutAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super31.call(this, parameters, isRenderable, true);\n }\n\n _createClass(StrikeOutAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"strikeoutAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return StrikeOutAnnotationElement;\n }(AnnotationElement);\n\n var StampAnnotationElement = /*#__PURE__*/function (_AnnotationElement16) {\n _inherits(StampAnnotationElement, _AnnotationElement16);\n\n var _super32 = _createSuper(StampAnnotationElement);\n\n function StampAnnotationElement(parameters) {\n _classCallCheck(this, StampAnnotationElement);\n\n var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n return _super32.call(this, parameters, isRenderable, true);\n }\n\n _createClass(StampAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"stampAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n }]);\n\n return StampAnnotationElement;\n }(AnnotationElement);\n\n var FileAttachmentAnnotationElement = /*#__PURE__*/function (_AnnotationElement17) {\n _inherits(FileAttachmentAnnotationElement, _AnnotationElement17);\n\n var _super33 = _createSuper(FileAttachmentAnnotationElement);\n\n function FileAttachmentAnnotationElement(parameters) {\n var _this37;\n\n _classCallCheck(this, FileAttachmentAnnotationElement);\n\n _this37 = _super33.call(this, parameters, true);\n var _this37$data$file = _this37.data.file,\n filename = _this37$data$file.filename,\n content = _this37$data$file.content;\n _this37.filename = (0, _display_utils.getFilenameFromUrl)(filename);\n _this37.content = content;\n\n if (_this37.linkService.eventBus) {\n _this37.linkService.eventBus.dispatch(\"fileattachmentannotation\", {\n source: _assertThisInitialized(_this37),\n id: (0, _util.stringToPDFString)(filename),\n filename: filename,\n content: content\n });\n }\n\n return _this37;\n }\n\n _createClass(FileAttachmentAnnotationElement, [{\n key: \"render\",\n value: function render() {\n this.container.className = \"fileAttachmentAnnotation\";\n var 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\n if (!this.data.hasPopup && (this.data.title || this.data.contents)) {\n this._createPopup(this.container, trigger, this.data);\n }\n\n this.container.appendChild(trigger);\n return this.container;\n }\n }, {\n key: \"_download\",\n value: function _download() {\n if (!this.downloadManager) {\n (0, _util.warn)(\"Download cannot be started due to unavailable download manager\");\n return;\n }\n\n this.downloadManager.downloadData(this.content, this.filename, \"\");\n }\n }]);\n\n return FileAttachmentAnnotationElement;\n }(AnnotationElement);\n\n var AnnotationLayer = /*#__PURE__*/function () {\n function AnnotationLayer() {\n _classCallCheck(this, AnnotationLayer);\n }\n\n _createClass(AnnotationLayer, null, [{\n key: \"render\",\n value: function render(parameters) {\n var sortedAnnotations = [],\n popupAnnotations = [];\n\n var _iterator14 = _createForOfIteratorHelper(parameters.annotations),\n _step14;\n\n try {\n for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {\n var _data3 = _step14.value;\n\n if (!_data3) {\n continue;\n }\n\n if (_data3.annotationType === _util.AnnotationType.POPUP) {\n popupAnnotations.push(_data3);\n continue;\n }\n\n sortedAnnotations.push(_data3);\n }\n } catch (err) {\n _iterator14.e(err);\n } finally {\n _iterator14.f();\n }\n\n if (popupAnnotations.length) {\n sortedAnnotations.push.apply(sortedAnnotations, popupAnnotations);\n }\n\n for (var _i6 = 0, _sortedAnnotations = sortedAnnotations; _i6 < _sortedAnnotations.length; _i6++) {\n var data = _sortedAnnotations[_i6];\n var element = AnnotationElementFactory.create({\n data: 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: parameters.renderInteractiveForms || false,\n svgFactory: new _display_utils.DOMSVGFactory()\n });\n\n if (element.isRenderable) {\n parameters.div.appendChild(element.render());\n }\n }\n }\n }, {\n key: \"update\",\n value: function update(parameters) {\n var _iterator15 = _createForOfIteratorHelper(parameters.annotations),\n _step15;\n\n try {\n for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {\n var data = _step15.value;\n var element = parameters.div.querySelector(\"[data-annotation-id=\\\"\".concat(data.id, \"\\\"]\"));\n\n if (element) {\n element.style.transform = \"matrix(\".concat(parameters.viewport.transform.join(\",\"), \")\");\n }\n }\n } catch (err) {\n _iterator15.e(err);\n } finally {\n _iterator15.f();\n }\n\n parameters.div.removeAttribute(\"hidden\");\n }\n }]);\n\n return AnnotationLayer;\n }();\n\n exports.AnnotationLayer = AnnotationLayer;\n /***/\n },\n /* 17 */\n\n /***/\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\n var _util = __w_pdfjs_require__(2);\n\n var renderTextLayer = function renderTextLayerClosure() {\n var MAX_TEXT_DIVS_TO_RENDER = 100000;\n var NonWhitespaceRegexp = /\\S/;\n\n function isAllWhitespace(str) {\n return !NonWhitespaceRegexp.test(str);\n }\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\n task._textDivs.push(textDiv);\n\n if (isAllWhitespace(geom.str)) {\n textDivProperties.isWhitespace = true;\n\n task._textDivProperties.set(textDiv, textDivProperties);\n\n return;\n }\n\n var tx = _util.Util.transform(task._viewport.transform, geom.transform);\n\n var angle = Math.atan2(tx[1], tx[0]);\n var style = styles[geom.fontName];\n\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n\n var fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]);\n var fontAscent = fontHeight;\n\n if (style.ascent) {\n fontAscent = style.ascent * fontAscent;\n } else if (style.descent) {\n fontAscent = (1 + style.descent) * fontAscent;\n }\n\n var left, top;\n\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\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\n if (task._fontInspectorEnabled) {\n textDiv.dataset.fontName = geom.fontName;\n }\n\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n\n var shouldScaleText = false;\n\n if (geom.str.length > 1) {\n shouldScaleText = true;\n } else if (geom.transform[0] !== geom.transform[3]) {\n var absScaleX = Math.abs(geom.transform[0]),\n absScaleY = Math.abs(geom.transform[3]);\n\n if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) {\n shouldScaleText = true;\n }\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\n task._textDivProperties.set(textDiv, textDivProperties);\n\n if (task._textContentStream) {\n task._layoutText(textDiv);\n }\n\n if (task._enhanceTextSelection) {\n var angleCos = 1,\n angleSin = 0;\n\n if (angle !== 0) {\n angleCos = Math.cos(angle);\n angleSin = Math.sin(angle);\n }\n\n var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;\n var divHeight = fontHeight;\n var m, b;\n\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\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: m\n });\n }\n }\n\n function render(task) {\n if (task._canceled) {\n return;\n }\n\n var textDivs = task._textDivs;\n var capability = task._capability;\n var textDivsLength = textDivs.length;\n\n if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n task._renderingDone = true;\n capability.resolve();\n return;\n }\n\n if (!task._textContentStream) {\n for (var i = 0; i < textDivsLength; i++) {\n task._layoutText(textDivs[i]);\n }\n }\n\n task._renderingDone = true;\n capability.resolve();\n }\n\n function findPositiveMin(ts, offset, count) {\n var result = 0;\n\n for (var i = 0; i < count; i++) {\n var t = ts[offset++];\n\n if (t > 0) {\n result = result ? Math.min(t, result) : t;\n }\n }\n\n return result;\n }\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\n for (var i = 0; i < expanded.length; i++) {\n var div = bounds[i].div;\n\n var divProperties = task._textDivProperties.get(div);\n\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\n task._textDivProperties.set(div, divProperties);\n\n continue;\n }\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\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\n task._textDivProperties.set(div, divProperties);\n }\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\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\n while (i < horizon.length && horizon[i].end <= boundary.y1) {\n i++;\n }\n\n var j = horizon.length - 1;\n\n while (j >= 0 && horizon[j].start >= boundary.y2) {\n j--;\n }\n\n var horizonPart, affectedBoundary;\n var q,\n k,\n maxXNew = -Infinity;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var xNew;\n\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\n if (xNew > maxXNew) {\n maxXNew = xNew;\n }\n }\n\n boundary.x1New = maxXNew;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\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\n var changedHorizon = [],\n lastBoundary = null;\n\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\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\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\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\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New !== undefined) {\n continue;\n }\n\n var used = false;\n\n for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = j + 1; !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2; k++) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = 0; !used && k < changedHorizon.length; k++) {\n used = changedHorizon[k].boundary === affectedBoundary;\n }\n\n if (!used) {\n affectedBoundary.x2New = maxXNew;\n }\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\n if (affectedBoundary.x2New === undefined) {\n affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);\n }\n });\n }\n\n function TextLayerRenderTask(_ref31) {\n var _this38 = this;\n\n var textContent = _ref31.textContent,\n textContentStream = _ref31.textContentStream,\n container = _ref31.container,\n viewport = _ref31.viewport,\n textDivs = _ref31.textDivs,\n textContentItemsStr = _ref31.textContentItemsStr,\n enhanceTextSelection = _ref31.enhanceTextSelection;\n this._textContent = textContent;\n this._textContentStream = textContentStream;\n this._container = container;\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\n this._capability.promise.finally(function () {\n if (_this38._layoutTextCtx) {\n _this38._layoutTextCtx.canvas.width = 0;\n _this38._layoutTextCtx.canvas.height = 0;\n _this38._layoutTextCtx = null;\n }\n }).catch(function () {});\n }\n\n TextLayerRenderTask.prototype = {\n get promise() {\n return this._capability.promise;\n },\n\n cancel: function TextLayer_cancel() {\n this._canceled = true;\n\n if (this._reader) {\n this._reader.cancel(new _util.AbortException(\"TextLayer task cancelled.\"));\n\n this._reader = null;\n }\n\n if (this._renderTimer !== null) {\n clearTimeout(this._renderTimer);\n this._renderTimer = null;\n }\n\n this._capability.reject(new Error(\"TextLayer task cancelled.\"));\n },\n _processItems: function _processItems(items, styleCache) {\n for (var i = 0, len = items.length; i < len; i++) {\n this._textContentItemsStr.push(items[i].str);\n\n appendText(this, items[i], styleCache);\n }\n },\n _layoutText: function _layoutText(textDiv) {\n var textDivProperties = this._textDivProperties.get(textDiv);\n\n if (textDivProperties.isWhitespace) {\n return;\n }\n\n var transform = \"\";\n\n if (textDivProperties.canvasWidth !== 0) {\n var _textDiv$style = textDiv.style,\n fontSize = _textDiv$style.fontSize,\n fontFamily = _textDiv$style.fontFamily;\n\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\n var _this$_layoutTextCtx$ = this._layoutTextCtx.measureText(textDiv.textContent),\n width = _this$_layoutTextCtx$.width;\n\n if (width > 0) {\n textDivProperties.scale = textDivProperties.canvasWidth / width;\n transform = \"scaleX(\".concat(textDivProperties.scale, \")\");\n }\n }\n\n if (textDivProperties.angle !== 0) {\n transform = \"rotate(\".concat(textDivProperties.angle, \"deg) \").concat(transform);\n }\n\n if (transform.length > 0) {\n if (this._enhanceTextSelection) {\n textDivProperties.originalTransform = transform;\n }\n\n textDiv.style.transform = transform;\n }\n\n this._textDivProperties.set(textDiv, textDivProperties);\n\n this._container.appendChild(textDiv);\n },\n _render: function TextLayer_render(timeout) {\n var _this39 = this;\n\n var capability = (0, _util.createPromiseCapability)();\n var styleCache = Object.create(null);\n var canvas = document.createElement(\"canvas\");\n canvas.mozOpaque = true;\n this._layoutTextCtx = canvas.getContext(\"2d\", {\n alpha: false\n });\n\n if (this._textContent) {\n var textItems = this._textContent.items;\n var textStyles = this._textContent.styles;\n\n this._processItems(textItems, textStyles);\n\n capability.resolve();\n } else if (this._textContentStream) {\n var pump = function pump() {\n _this39._reader.read().then(function (_ref32) {\n var value = _ref32.value,\n done = _ref32.done;\n\n if (done) {\n capability.resolve();\n return;\n }\n\n Object.assign(styleCache, value.styles);\n\n _this39._processItems(value.items, styleCache);\n\n pump();\n }, capability.reject);\n };\n\n this._reader = this._textContentStream.getReader();\n pump();\n } else {\n throw new Error('Neither \"textContent\" nor \"textContentStream\"' + \" parameters specified.\");\n }\n\n capability.promise.then(function () {\n styleCache = null;\n\n if (!timeout) {\n render(_this39);\n } else {\n _this39._renderTimer = setTimeout(function () {\n render(_this39);\n _this39._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\n if (this._bounds !== null) {\n expand(this);\n this._bounds = null;\n }\n\n var transformBuf = [],\n paddingBuf = [];\n\n for (var i = 0, ii = this._textDivs.length; i < ii; i++) {\n var div = this._textDivs[i];\n\n var divProps = this._textDivProperties.get(div);\n\n if (divProps.isWhitespace) {\n continue;\n }\n\n if (expandDivs) {\n transformBuf.length = 0;\n paddingBuf.length = 0;\n\n if (divProps.originalTransform) {\n transformBuf.push(divProps.originalTransform);\n }\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\n if (divProps.paddingRight > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingRight / divProps.scale, \"px\"));\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingBottom > 0) {\n paddingBuf.push(\"\".concat(divProps.paddingBottom, \"px\"));\n } else {\n paddingBuf.push(0);\n }\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\n div.style.padding = paddingBuf.join(\" \");\n\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\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\n task._render(renderParameters.timeout);\n\n return task;\n }\n\n return renderTextLayer;\n }();\n\n exports.renderTextLayer = renderTextLayer;\n /***/\n },\n /* 18 */\n\n /***/\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\n var _util = __w_pdfjs_require__(2);\n\n var _display_utils = __w_pdfjs_require__(1);\n\n var _is_node = __w_pdfjs_require__(4);\n\n var SVGGraphics = function SVGGraphics() {\n throw new Error(\"Not implemented: SVGGraphics\");\n };\n\n exports.SVGGraphics = SVGGraphics;\n {\n var opListToTree = function opListToTree(opList) {\n var opTree = [];\n var tmp = [];\n\n var _iterator16 = _createForOfIteratorHelper(opList),\n _step16;\n\n try {\n for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) {\n var opListElement = _step16.value;\n\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\n if (opListElement.fn === \"restore\") {\n opTree = tmp.pop();\n } else {\n opTree.push(opListElement);\n }\n }\n } catch (err) {\n _iterator16.e(err);\n } finally {\n _iterator16.f();\n }\n\n return opTree;\n };\n\n var pf = function pf(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n\n var s = value.toFixed(10);\n var i = s.length - 1;\n\n if (s[i] !== \"0\") {\n return s;\n }\n\n do {\n i--;\n } while (s[i] === \"0\");\n\n return s.substring(0, s[i] === \".\" ? i : i + 1);\n };\n\n var pm = 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\n return \"scale(\".concat(pf(m[0]), \" \").concat(pf(m[3]), \")\");\n }\n\n if (m[0] === m[3] && m[1] === -m[2]) {\n var 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\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\n var SVG_DEFAULTS = {\n fontStyle: \"normal\",\n fontWeight: \"normal\",\n fillColor: \"#000000\"\n };\n var XML_NS = \"http://www.w3.org/XML/1998/namespace\";\n var XLINK_NS = \"http://www.w3.org/1999/xlink\";\n var LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n var LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n\n var convertImgDataToPng = function () {\n var PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);\n var CHUNK_WRAPPER_SIZE = 12;\n var crcTable = new Int32Array(256);\n\n for (var i = 0; i < 256; i++) {\n var c = i;\n\n for (var 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\n crcTable[i] = c;\n }\n\n function crc32(data, start, end) {\n var crc = -1;\n\n for (var _i7 = start; _i7 < end; _i7++) {\n var a = (crc ^ data[_i7]) & 0xff;\n var b = crcTable[a];\n crc = crc >>> 8 ^ b;\n }\n\n return crc ^ -1;\n }\n\n function writePngChunk(type, body, data, offset) {\n var p = offset;\n var 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 var 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\n function adler32(data, start, end) {\n var a = 1;\n var b = 0;\n\n for (var _i8 = start; _i8 < end; ++_i8) {\n a = (a + (data[_i8] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n\n return b << 16 | a;\n }\n\n function deflateSync(literals) {\n if (!_is_node.isNodeJS) {\n return deflateSyncUncompressed(literals);\n }\n\n try {\n var input;\n\n if (parseInt(process.versions.node) >= 8) {\n input = literals;\n } else {\n input = Buffer.from(literals);\n }\n\n var output = require(\"zlib\").deflateSync(input, {\n level: 9\n });\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\n return deflateSyncUncompressed(literals);\n }\n\n function deflateSyncUncompressed(literals) {\n var len = literals.length;\n var maxBlockLength = 0xffff;\n var deflateBlocks = Math.ceil(len / maxBlockLength);\n var idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);\n var pi = 0;\n idat[pi++] = 0x78;\n idat[pi++] = 0x9c;\n var pos = 0;\n\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\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 var 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\n function encode(imgData, kind, forceDataSchema, isMask) {\n var width = imgData.width;\n var height = imgData.height;\n var bitDepth, colorType, lineSize;\n var bytes = imgData.data;\n\n switch (kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n colorType = 0;\n bitDepth = 1;\n lineSize = width + 7 >> 3;\n break;\n\n case _util.ImageKind.RGB_24BPP:\n colorType = 2;\n bitDepth = 8;\n lineSize = width * 3;\n break;\n\n case _util.ImageKind.RGBA_32BPP:\n colorType = 6;\n bitDepth = 8;\n lineSize = width * 4;\n break;\n\n default:\n throw new Error(\"invalid format\");\n }\n\n var literals = new Uint8Array((1 + lineSize) * height);\n var offsetLiterals = 0,\n offsetBytes = 0;\n\n for (var 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\n if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {\n offsetLiterals = 0;\n\n for (var _y = 0; _y < height; _y++) {\n offsetLiterals++;\n\n for (var _i9 = 0; _i9 < lineSize; _i9++) {\n literals[offsetLiterals++] ^= 0xff;\n }\n }\n }\n\n var 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 var idat = deflateSync(literals);\n var pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;\n var data = new Uint8Array(pngLength);\n var 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\n return function convertImgDataToPng(imgData, forceDataSchema, isMask) {\n var kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;\n return encode(imgData, kind, forceDataSchema, isMask);\n };\n }();\n\n var SVGExtraState = /*#__PURE__*/function () {\n function SVGExtraState() {\n _classCallCheck(this, SVGExtraState);\n\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\n _createClass(SVGExtraState, [{\n key: \"clone\",\n value: function clone() {\n return Object.create(this);\n }\n }, {\n key: \"setCurrentPoint\",\n value: function setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n }]);\n\n return SVGExtraState;\n }();\n\n var clipCount = 0;\n var maskCount = 0;\n var shadingCount = 0;\n\n exports.SVGGraphics = SVGGraphics = /*#__PURE__*/function () {\n function SVGGraphics(commonObjs, objs) {\n var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _classCallCheck(this, SVGGraphics);\n\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\n for (var op in _util.OPS) {\n this._operatorIdMapping[_util.OPS[op]] = op;\n }\n }\n\n _createClass(SVGGraphics, [{\n key: \"save\",\n value: function save() {\n this.transformStack.push(this.transformMatrix);\n var old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n }\n }, {\n key: \"restore\",\n value: function restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n }\n }, {\n key: \"group\",\n value: function group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n }\n }, {\n key: \"loadDependencies\",\n value: function loadDependencies(operatorList) {\n var _this40 = this;\n\n var fnArray = operatorList.fnArray;\n var argsArray = operatorList.argsArray;\n\n for (var i = 0, ii = fnArray.length; i < ii; i++) {\n if (fnArray[i] !== _util.OPS.dependency) {\n continue;\n }\n\n var _iterator17 = _createForOfIteratorHelper(argsArray[i]),\n _step17;\n\n try {\n var _loop = function _loop() {\n var obj = _step17.value;\n var objsPool = obj.startsWith(\"g_\") ? _this40.commonObjs : _this40.objs;\n var promise = new Promise(function (resolve) {\n objsPool.get(obj, resolve);\n });\n\n _this40.current.dependencies.push(promise);\n };\n\n for (_iterator17.s(); !(_step17 = _iterator17.n()).done;) {\n _loop();\n }\n } catch (err) {\n _iterator17.e(err);\n } finally {\n _iterator17.f();\n }\n }\n\n return Promise.all(this.current.dependencies);\n }\n }, {\n key: \"transform\",\n value: function transform(a, b, c, d, e, f) {\n var transformMatrix = [a, b, c, d, e, f];\n this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);\n this.tgrp = null;\n }\n }, {\n key: \"getSVG\",\n value: function getSVG(operatorList, viewport) {\n var _this41 = this;\n\n this.viewport = viewport;\n\n var svgElement = this._initialize(viewport);\n\n return this.loadDependencies(operatorList).then(function () {\n _this41.transformMatrix = _util.IDENTITY_MATRIX;\n\n _this41.executeOpTree(_this41.convertOpList(operatorList));\n\n return svgElement;\n });\n }\n }, {\n key: \"convertOpList\",\n value: function convertOpList(operatorList) {\n var operatorIdMapping = this._operatorIdMapping;\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var opList = [];\n\n for (var i = 0, ii = fnArray.length; i < ii; i++) {\n var fnId = fnArray[i];\n opList.push({\n fnId: fnId,\n fn: operatorIdMapping[fnId],\n args: argsArray[i]\n });\n }\n\n return opListToTree(opList);\n }\n }, {\n key: \"executeOpTree\",\n value: function executeOpTree(opTree) {\n var _iterator18 = _createForOfIteratorHelper(opTree),\n _step18;\n\n try {\n for (_iterator18.s(); !(_step18 = _iterator18.n()).done;) {\n var opTreeElement = _step18.value;\n var fn = opTreeElement.fn;\n var fnId = opTreeElement.fnId;\n var args = opTreeElement.args;\n\n switch (fnId | 0) {\n case _util.OPS.beginText:\n this.beginText();\n break;\n\n case _util.OPS.dependency:\n break;\n\n case _util.OPS.setLeading:\n this.setLeading(args);\n break;\n\n case _util.OPS.setLeadingMoveText:\n this.setLeadingMoveText(args[0], args[1]);\n break;\n\n case _util.OPS.setFont:\n this.setFont(args);\n break;\n\n case _util.OPS.showText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.showSpacedText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.endText:\n this.endText();\n break;\n\n case _util.OPS.moveText:\n this.moveText(args[0], args[1]);\n break;\n\n case _util.OPS.setCharSpacing:\n this.setCharSpacing(args[0]);\n break;\n\n case _util.OPS.setWordSpacing:\n this.setWordSpacing(args[0]);\n break;\n\n case _util.OPS.setHScale:\n this.setHScale(args[0]);\n break;\n\n case _util.OPS.setTextMatrix:\n this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.setTextRise:\n this.setTextRise(args[0]);\n break;\n\n case _util.OPS.setTextRenderingMode:\n this.setTextRenderingMode(args[0]);\n break;\n\n case _util.OPS.setLineWidth:\n this.setLineWidth(args[0]);\n break;\n\n case _util.OPS.setLineJoin:\n this.setLineJoin(args[0]);\n break;\n\n case _util.OPS.setLineCap:\n this.setLineCap(args[0]);\n break;\n\n case _util.OPS.setMiterLimit:\n this.setMiterLimit(args[0]);\n break;\n\n case _util.OPS.setFillRGBColor:\n this.setFillRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeRGBColor:\n this.setStrokeRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeColorN:\n this.setStrokeColorN(args);\n break;\n\n case _util.OPS.setFillColorN:\n this.setFillColorN(args);\n break;\n\n case _util.OPS.shadingFill:\n this.shadingFill(args[0]);\n break;\n\n case _util.OPS.setDash:\n this.setDash(args[0], args[1]);\n break;\n\n case _util.OPS.setRenderingIntent:\n this.setRenderingIntent(args[0]);\n break;\n\n case _util.OPS.setFlatness:\n this.setFlatness(args[0]);\n break;\n\n case _util.OPS.setGState:\n this.setGState(args[0]);\n break;\n\n case _util.OPS.fill:\n this.fill();\n break;\n\n case _util.OPS.eoFill:\n this.eoFill();\n break;\n\n case _util.OPS.stroke:\n this.stroke();\n break;\n\n case _util.OPS.fillStroke:\n this.fillStroke();\n break;\n\n case _util.OPS.eoFillStroke:\n this.eoFillStroke();\n break;\n\n case _util.OPS.clip:\n this.clip(\"nonzero\");\n break;\n\n case _util.OPS.eoClip:\n this.clip(\"evenodd\");\n break;\n\n case _util.OPS.paintSolidColorImageMask:\n this.paintSolidColorImageMask();\n break;\n\n case _util.OPS.paintImageXObject:\n this.paintImageXObject(args[0]);\n break;\n\n case _util.OPS.paintInlineImageXObject:\n this.paintInlineImageXObject(args[0]);\n break;\n\n case _util.OPS.paintImageMaskXObject:\n this.paintImageMaskXObject(args[0]);\n break;\n\n case _util.OPS.paintFormXObjectBegin:\n this.paintFormXObjectBegin(args[0], args[1]);\n break;\n\n case _util.OPS.paintFormXObjectEnd:\n this.paintFormXObjectEnd();\n break;\n\n case _util.OPS.closePath:\n this.closePath();\n break;\n\n case _util.OPS.closeStroke:\n this.closeStroke();\n break;\n\n case _util.OPS.closeFillStroke:\n this.closeFillStroke();\n break;\n\n case _util.OPS.closeEOFillStroke:\n this.closeEOFillStroke();\n break;\n\n case _util.OPS.nextLine:\n this.nextLine();\n break;\n\n case _util.OPS.transform:\n this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.constructPath:\n this.constructPath(args[0], args[1]);\n break;\n\n case _util.OPS.endPath:\n this.endPath();\n break;\n\n case 92:\n this.group(opTreeElement.items);\n break;\n\n default:\n (0, _util.warn)(\"Unimplemented operator \".concat(fn));\n break;\n }\n }\n } catch (err) {\n _iterator18.e(err);\n } finally {\n _iterator18.f();\n }\n }\n }, {\n key: \"setWordSpacing\",\n value: function setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n }\n }, {\n key: \"setCharSpacing\",\n value: function setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n }\n }, {\n key: \"nextLine\",\n value: function nextLine() {\n this.moveText(0, this.current.leading);\n }\n }, {\n key: \"setTextMatrix\",\n value: function setTextMatrix(a, b, c, d, e, f) {\n var 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 }, {\n key: \"beginText\",\n value: function beginText() {\n var 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 }, {\n key: \"moveText\",\n value: function moveText(x, y) {\n var 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 }, {\n key: \"showText\",\n value: function showText(glyphs) {\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return;\n }\n\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 vertical = font.vertical;\n var spacingDir = vertical ? 1 : -1;\n var defaultVMetrics = font.defaultVMetrics;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var x = 0;\n\n var _iterator19 = _createForOfIteratorHelper(glyphs),\n _step19;\n\n try {\n for (_iterator19.s(); !(_step19 = _iterator19.n()).done;) {\n var glyph = _step19.value;\n\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\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var character = glyph.fontChar;\n var scaledX = void 0,\n scaledY = void 0;\n var width = glyph.width;\n\n if (vertical) {\n var vx = void 0;\n var vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n var 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\n if (glyph.isInFont || font.missingFile) {\n current.xcoords.push(current.x + scaledX);\n\n if (vertical) {\n current.ycoords.push(-current.y + scaledY);\n }\n\n current.tspan.textContent += character;\n } else {}\n\n var charWidth = void 0;\n\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n\n x += charWidth;\n }\n } catch (err) {\n _iterator19.e(err);\n } finally {\n _iterator19.f();\n }\n\n current.tspan.setAttributeNS(null, \"x\", current.xcoords.map(pf).join(\" \"));\n\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\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", \"\".concat(pf(current.fontSize), \"px\"));\n\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, \"font-style\", current.fontStyle);\n }\n\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, \"font-weight\", current.fontWeight);\n }\n\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\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\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\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n var lineWidthScale = 1 / (current.textMatrixScale || 1);\n\n this._setStrokeAttributes(current.tspan, lineWidthScale);\n }\n\n var textMatrix = current.textMatrix;\n\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\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\n this._ensureTransformGroup().appendChild(current.txtElement);\n }\n }, {\n key: \"setLeadingMoveText\",\n value: function setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n }, {\n key: \"addFontStyle\",\n value: function 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\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\n var 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 }, {\n key: \"setFont\",\n value: function setFont(details) {\n var current = this.current;\n var fontObj = this.commonObjs.get(details[0]);\n var size = details[1];\n current.font = fontObj;\n\n if (this.embedFonts && !fontObj.missingFile && !this.embeddedFonts[fontObj.loadedName]) {\n this.addFontStyle(fontObj);\n this.embeddedFonts[fontObj.loadedName] = fontObj;\n }\n\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n var bold = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\n var italic = fontObj.italic ? \"italic\" : \"normal\";\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\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 }, {\n key: \"endText\",\n value: function endText() {\n var current = this.current;\n\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 }, {\n key: \"setLineWidth\",\n value: function setLineWidth(width) {\n if (width > 0) {\n this.current.lineWidth = width;\n }\n }\n }, {\n key: \"setLineCap\",\n value: function setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n }\n }, {\n key: \"setLineJoin\",\n value: function setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n }\n }, {\n key: \"setMiterLimit\",\n value: function setMiterLimit(limit) {\n this.current.miterLimit = limit;\n }\n }, {\n key: \"setStrokeAlpha\",\n value: function setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n }\n }, {\n key: \"setStrokeRGBColor\",\n value: function setStrokeRGBColor(r, g, b) {\n this.current.strokeColor = _util.Util.makeCssRgb(r, g, b);\n }\n }, {\n key: \"setFillAlpha\",\n value: function setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n }\n }, {\n key: \"setFillRGBColor\",\n value: function 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 }, {\n key: \"setStrokeColorN\",\n value: function setStrokeColorN(args) {\n this.current.strokeColor = this._makeColorN_Pattern(args);\n }\n }, {\n key: \"setFillColorN\",\n value: function setFillColorN(args) {\n this.current.fillColor = this._makeColorN_Pattern(args);\n }\n }, {\n key: \"shadingFill\",\n value: function shadingFill(args) {\n var width = this.viewport.width;\n var height = this.viewport.height;\n\n var inv = _util.Util.inverseTransform(this.transformMatrix);\n\n var bl = _util.Util.applyTransform([0, 0], inv);\n\n var br = _util.Util.applyTransform([0, height], inv);\n\n var ul = _util.Util.applyTransform([width, 0], inv);\n\n var ur = _util.Util.applyTransform([width, height], inv);\n\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 var 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\n if (this.current.fillAlpha < 1) {\n rect.setAttributeNS(null, \"fill-opacity\", this.current.fillAlpha);\n }\n\n this._ensureTransformGroup().appendChild(rect);\n }\n }, {\n key: \"_makeColorN_Pattern\",\n value: function _makeColorN_Pattern(args) {\n if (args[0] === \"TilingPattern\") {\n return this._makeTilingPattern(args);\n }\n\n return this._makeShadingPattern(args);\n }\n }, {\n key: \"_makeTilingPattern\",\n value: function _makeTilingPattern(args) {\n var color = args[1];\n var operatorList = args[2];\n var matrix = args[3] || _util.IDENTITY_MATRIX;\n\n var _args$ = _slicedToArray(args[4], 4),\n x0 = _args$[0],\n y0 = _args$[1],\n x1 = _args$[2],\n y1 = _args$[3];\n\n var xstep = args[5];\n var ystep = args[6];\n var paintType = args[7];\n var tilingId = \"shading\".concat(shadingCount++);\n\n var _util$Util$applyTrans = _util.Util.applyTransform([x0, y0], matrix),\n _util$Util$applyTrans2 = _slicedToArray(_util$Util$applyTrans, 2),\n tx0 = _util$Util$applyTrans2[0],\n ty0 = _util$Util$applyTrans2[1];\n\n var _util$Util$applyTrans3 = _util.Util.applyTransform([x1, y1], matrix),\n _util$Util$applyTrans4 = _slicedToArray(_util$Util$applyTrans3, 2),\n tx1 = _util$Util$applyTrans4[0],\n ty1 = _util$Util$applyTrans4[1];\n\n var _util$Util$singularVa = _util.Util.singularValueDecompose2dScale(matrix),\n _util$Util$singularVa2 = _slicedToArray(_util$Util$singularVa, 2),\n xscale = _util$Util$singularVa2[0],\n yscale = _util$Util$singularVa2[1];\n\n var txstep = xstep * xscale;\n var tystep = ystep * yscale;\n var 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 var svg = this.svg;\n var transformMatrix = this.transformMatrix;\n var fillColor = this.current.fillColor;\n var strokeColor = this.current.strokeColor;\n var bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);\n this.svg = bbox;\n this.transformMatrix = matrix;\n\n if (paintType === 2) {\n var _util$Util;\n\n var cssColor = (_util$Util = _util.Util).makeCssRgb.apply(_util$Util, _toConsumableArray(color));\n\n this.current.fillColor = cssColor;\n this.current.strokeColor = cssColor;\n }\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 }, {\n key: \"_makeShadingPattern\",\n value: function _makeShadingPattern(args) {\n switch (args[0]) {\n case \"RadialAxial\":\n var shadingId = \"shading\".concat(shadingCount++);\n var colorStops = args[3];\n var gradient;\n\n switch (args[1]) {\n case \"axial\":\n var point0 = args[4];\n var 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\n case \"radial\":\n var focalPoint = args[4];\n var circlePoint = args[5];\n var focalRadius = args[6];\n var 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\n default:\n throw new Error(\"Unknown RadialAxial type: \".concat(args[1]));\n }\n\n var _iterator20 = _createForOfIteratorHelper(colorStops),\n _step20;\n\n try {\n for (_iterator20.s(); !(_step20 = _iterator20.n()).done;) {\n var colorStop = _step20.value;\n var 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 } catch (err) {\n _iterator20.e(err);\n } finally {\n _iterator20.f();\n }\n\n this.defs.appendChild(gradient);\n return \"url(#\".concat(shadingId, \")\");\n\n case \"Mesh\":\n (0, _util.warn)(\"Unimplemented pattern Mesh\");\n return null;\n\n case \"Dummy\":\n return \"hotpink\";\n\n default:\n throw new Error(\"Unknown IR type: \".concat(args[0]));\n }\n }\n }, {\n key: \"setDash\",\n value: function setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n }\n }, {\n key: \"constructPath\",\n value: function constructPath(ops, args) {\n var current = this.current;\n var x = current.x,\n y = current.y;\n var d = [];\n var j = 0;\n\n var _iterator21 = _createForOfIteratorHelper(ops),\n _step21;\n\n try {\n for (_iterator21.s(); !(_step21 = _iterator21.n()).done;) {\n var op = _step21.value;\n\n switch (op | 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 var xw = x + width;\n var 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\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n d.push(\"M\", pf(x), pf(y));\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n d.push(\"L\", pf(x), pf(y));\n break;\n\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\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\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\n case _util.OPS.closePath:\n d.push(\"Z\");\n break;\n }\n }\n } catch (err) {\n _iterator21.e(err);\n } finally {\n _iterator21.f();\n }\n\n d = d.join(\" \");\n\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\n this._ensureTransformGroup().appendChild(current.path);\n }\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 }, {\n key: \"endPath\",\n value: function endPath() {\n var current = this.current;\n current.path = null;\n\n if (!this.pendingClip) {\n return;\n }\n\n if (!current.element) {\n this.pendingClip = null;\n return;\n }\n\n var clipId = \"clippath\".concat(clipCount++);\n var clipPath = this.svgFactory.createElement(\"svg:clipPath\");\n clipPath.setAttributeNS(null, \"id\", clipId);\n clipPath.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n var clipElement = current.element.cloneNode(true);\n\n if (this.pendingClip === \"evenodd\") {\n clipElement.setAttributeNS(null, \"clip-rule\", \"evenodd\");\n } else {\n clipElement.setAttributeNS(null, \"clip-rule\", \"nonzero\");\n }\n\n this.pendingClip = null;\n clipPath.appendChild(clipElement);\n this.defs.appendChild(clipPath);\n\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\n current.activeClipUrl = \"url(#\".concat(clipId, \")\");\n this.tgrp = null;\n }\n }, {\n key: \"clip\",\n value: function clip(type) {\n this.pendingClip = type;\n }\n }, {\n key: \"closePath\",\n value: function closePath() {\n var current = this.current;\n\n if (current.path) {\n var d = \"\".concat(current.path.getAttributeNS(null, \"d\"), \"Z\");\n current.path.setAttributeNS(null, \"d\", d);\n }\n }\n }, {\n key: \"setLeading\",\n value: function setLeading(leading) {\n this.current.leading = -leading;\n }\n }, {\n key: \"setTextRise\",\n value: function setTextRise(textRise) {\n this.current.textRise = textRise;\n }\n }, {\n key: \"setTextRenderingMode\",\n value: function setTextRenderingMode(textRenderingMode) {\n this.current.textRenderingMode = textRenderingMode;\n }\n }, {\n key: \"setHScale\",\n value: function setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n }, {\n key: \"setRenderingIntent\",\n value: function setRenderingIntent(intent) {}\n }, {\n key: \"setFlatness\",\n value: function setFlatness(flatness) {}\n }, {\n key: \"setGState\",\n value: function setGState(states) {\n var _iterator22 = _createForOfIteratorHelper(states),\n _step22;\n\n try {\n for (_iterator22.s(); !(_step22 = _iterator22.n()).done;) {\n var _step22$value = _slicedToArray(_step22.value, 2),\n key = _step22$value[0],\n value = _step22$value[1];\n\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n\n case \"LC\":\n this.setLineCap(value);\n break;\n\n case \"LJ\":\n this.setLineJoin(value);\n break;\n\n case \"ML\":\n this.setMiterLimit(value);\n break;\n\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n\n case \"FL\":\n this.setFlatness(value);\n break;\n\n case \"Font\":\n this.setFont(value);\n break;\n\n case \"CA\":\n this.setStrokeAlpha(value);\n break;\n\n case \"ca\":\n this.setFillAlpha(value);\n break;\n\n default:\n (0, _util.warn)(\"Unimplemented graphic state operator \".concat(key));\n break;\n }\n }\n } catch (err) {\n _iterator22.e(err);\n } finally {\n _iterator22.f();\n }\n }\n }, {\n key: \"fill\",\n value: function fill() {\n var current = this.current;\n\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 }, {\n key: \"stroke\",\n value: function stroke() {\n var current = this.current;\n\n if (current.element) {\n this._setStrokeAttributes(current.element);\n\n current.element.setAttributeNS(null, \"fill\", \"none\");\n this.endPath();\n }\n }\n }, {\n key: \"_setStrokeAttributes\",\n value: function _setStrokeAttributes(element) {\n var lineWidthScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var current = this.current;\n var dashArray = current.dashArray;\n\n if (lineWidthScale !== 1 && dashArray.length > 0) {\n dashArray = dashArray.map(function (value) {\n return lineWidthScale * value;\n });\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 }, {\n key: \"eoFill\",\n value: function eoFill() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n\n this.fill();\n }\n }, {\n key: \"fillStroke\",\n value: function fillStroke() {\n this.stroke();\n this.fill();\n }\n }, {\n key: \"eoFillStroke\",\n value: function eoFillStroke() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n\n this.fillStroke();\n }\n }, {\n key: \"closeStroke\",\n value: function closeStroke() {\n this.closePath();\n this.stroke();\n }\n }, {\n key: \"closeFillStroke\",\n value: function closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n }, {\n key: \"closeEOFillStroke\",\n value: function closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n }\n }, {\n key: \"paintSolidColorImageMask\",\n value: function paintSolidColorImageMask() {\n var 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\n this._ensureTransformGroup().appendChild(rect);\n }\n }, {\n key: \"paintImageXObject\",\n value: function paintImageXObject(objId) {\n var imgData = this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image with object ID \".concat(objId, \" is not ready yet\"));\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n }\n }, {\n key: \"paintInlineImageXObject\",\n value: function paintInlineImageXObject(imgData, mask) {\n var width = imgData.width;\n var height = imgData.height;\n var imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);\n var 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 var 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\n if (mask) {\n mask.appendChild(imgEl);\n } else {\n this._ensureTransformGroup().appendChild(imgEl);\n }\n }\n }, {\n key: \"paintImageMaskXObject\",\n value: function paintImageMaskXObject(imgData) {\n var current = this.current;\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = current.fillColor;\n current.maskId = \"mask\".concat(maskCount++);\n var mask = this.svgFactory.createElement(\"svg:mask\");\n mask.setAttributeNS(null, \"id\", current.maskId);\n var 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\n this._ensureTransformGroup().appendChild(rect);\n\n this.paintInlineImageXObject(imgData, mask);\n }\n }, {\n key: \"paintFormXObjectBegin\",\n value: function 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\n if (bbox) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n var 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 }, {\n key: \"paintFormXObjectEnd\",\n value: function paintFormXObjectEnd() {}\n }, {\n key: \"_initialize\",\n value: function _initialize(viewport) {\n var svg = this.svgFactory.create(viewport.width, viewport.height);\n var definitions = this.svgFactory.createElement(\"svg:defs\");\n svg.appendChild(definitions);\n this.defs = definitions;\n var 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 }, {\n key: \"_ensureClipGroup\",\n value: function _ensureClipGroup() {\n if (!this.current.clipGroup) {\n var 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\n return this.current.clipGroup;\n }\n }, {\n key: \"_ensureTransformGroup\",\n value: function _ensureTransformGroup() {\n if (!this.tgrp) {\n this.tgrp = this.svgFactory.createElement(\"svg:g\");\n this.tgrp.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n\n if (this.current.activeClipUrl) {\n this._ensureClipGroup().appendChild(this.tgrp);\n } else {\n this.svg.appendChild(this.tgrp);\n }\n }\n\n return this.tgrp;\n }\n }]);\n\n return SVGGraphics;\n }();\n }\n /***/\n },\n /* 19 */\n\n /***/\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\n var _util = __w_pdfjs_require__(2);\n\n var _network_utils = __w_pdfjs_require__(20);\n\n ;\n\n var fs = require(\"fs\");\n\n var http = require(\"http\");\n\n var https = require(\"https\");\n\n var url = require(\"url\");\n\n var fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\n\n function parseUrl(sourceUrl) {\n var parsedUrl = url.parse(sourceUrl);\n\n if (parsedUrl.protocol === \"file:\" || parsedUrl.host) {\n return parsedUrl;\n }\n\n if (/^[a-z]:[/\\\\]/i.test(sourceUrl)) {\n return url.parse(\"file:///\".concat(sourceUrl));\n }\n\n if (!parsedUrl.host) {\n parsedUrl.protocol = \"file:\";\n }\n\n return parsedUrl;\n }\n\n var PDFNodeStream = /*#__PURE__*/function () {\n function PDFNodeStream(source) {\n _classCallCheck(this, PDFNodeStream);\n\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\n _createClass(PDFNodeStream, [{\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }, {\n key: \"getFullReader\",\n value: function 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 }, {\n key: \"getRangeReader\",\n value: function getRangeReader(start, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n\n this._rangeRequestReaders.push(rangeReader);\n\n return rangeReader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }]);\n\n return PDFNodeStream;\n }();\n\n exports.PDFNodeStream = PDFNodeStream;\n\n var BaseFullReader = /*#__PURE__*/function () {\n function BaseFullReader(stream) {\n _classCallCheck(this, BaseFullReader);\n\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n var 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\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\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\n _createClass(BaseFullReader, [{\n key: \"headersReady\",\n get: function get() {\n return this._headersCapability.promise;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee9() {\n var chunk, buffer;\n return _regeneratorRuntime.wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n _context9.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context9.next = 4;\n break;\n }\n\n return _context9.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context9.next = 6;\n break;\n }\n\n throw this._storedError;\n\n case 6:\n chunk = this._readableStream.read();\n\n if (!(chunk === null)) {\n _context9.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context9.abrupt(\"return\", this.read());\n\n case 10:\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n buffer = new Uint8Array(chunk).buffer;\n return _context9.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 14:\n case \"end\":\n return _context9.stop();\n }\n }\n }, _callee9, this);\n }));\n\n function read() {\n return _read3.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n }, {\n key: \"_error\",\n value: function _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n }, {\n key: \"_setReadableStream\",\n value: function _setReadableStream(readableStream) {\n var _this42 = this;\n\n this._readableStream = readableStream;\n readableStream.on(\"readable\", function () {\n _this42._readCapability.resolve();\n });\n readableStream.on(\"end\", function () {\n readableStream.destroy();\n _this42._done = true;\n\n _this42._readCapability.resolve();\n });\n readableStream.on(\"error\", function (reason) {\n _this42._error(reason);\n });\n\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this._error(new _util.AbortException(\"streaming is disabled\"));\n }\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n }]);\n\n return BaseFullReader;\n }();\n\n var BaseRangeReader = /*#__PURE__*/function () {\n function BaseRangeReader(stream) {\n _classCallCheck(this, BaseRangeReader);\n\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 var source = stream.source;\n this._isStreamingSupported = !source.disableStream;\n }\n\n _createClass(BaseRangeReader, [{\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee10() {\n var chunk, buffer;\n return _regeneratorRuntime.wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n _context10.next = 2;\n return this._readCapability.promise;\n\n case 2:\n if (!this._done) {\n _context10.next = 4;\n break;\n }\n\n return _context10.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 4:\n if (!this._storedError) {\n _context10.next = 6;\n break;\n }\n\n throw this._storedError;\n\n case 6:\n chunk = this._readableStream.read();\n\n if (!(chunk === null)) {\n _context10.next = 10;\n break;\n }\n\n this._readCapability = (0, _util.createPromiseCapability)();\n return _context10.abrupt(\"return\", this.read());\n\n case 10:\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n buffer = new Uint8Array(chunk).buffer;\n return _context10.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 14:\n case \"end\":\n return _context10.stop();\n }\n }\n }, _callee10, this);\n }));\n\n function read() {\n return _read4.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n }, {\n key: \"_error\",\n value: function _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n }, {\n key: \"_setReadableStream\",\n value: function _setReadableStream(readableStream) {\n var _this43 = this;\n\n this._readableStream = readableStream;\n readableStream.on(\"readable\", function () {\n _this43._readCapability.resolve();\n });\n readableStream.on(\"end\", function () {\n readableStream.destroy();\n _this43._done = true;\n\n _this43._readCapability.resolve();\n });\n readableStream.on(\"error\", function (reason) {\n _this43._error(reason);\n });\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n }]);\n\n return BaseRangeReader;\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: headers\n };\n }\n\n var PDFNodeStreamFullReader = /*#__PURE__*/function (_BaseFullReader) {\n _inherits(PDFNodeStreamFullReader, _BaseFullReader);\n\n var _super34 = _createSuper(PDFNodeStreamFullReader);\n\n function PDFNodeStreamFullReader(stream) {\n var _this44;\n\n _classCallCheck(this, PDFNodeStreamFullReader);\n\n _this44 = _super34.call(this, stream);\n\n var handleResponse = function handleResponse(response) {\n if (response.statusCode === 404) {\n var error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(_this44._url, \"\\\".\"));\n _this44._storedError = error;\n\n _this44._headersCapability.reject(error);\n\n return;\n }\n\n _this44._headersCapability.resolve();\n\n _this44._setReadableStream(response);\n\n var getResponseHeader = function getResponseHeader(name) {\n return _this44._readableStream.headers[name.toLowerCase()];\n };\n\n var _ref33 = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: stream.isHttp,\n rangeChunkSize: _this44._rangeChunkSize,\n disableRange: _this44._disableRange\n }),\n allowRangeRequests = _ref33.allowRangeRequests,\n suggestedLength = _ref33.suggestedLength;\n\n _this44._isRangeSupported = allowRangeRequests;\n _this44._contentLength = suggestedLength || _this44._contentLength;\n _this44._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n };\n\n _this44._request = null;\n\n if (_this44._url.protocol === \"http:\") {\n _this44._request = http.request(createRequestOptions(_this44._url, stream.httpHeaders), handleResponse);\n } else {\n _this44._request = https.request(createRequestOptions(_this44._url, stream.httpHeaders), handleResponse);\n }\n\n _this44._request.on(\"error\", function (reason) {\n _this44._storedError = reason;\n\n _this44._headersCapability.reject(reason);\n });\n\n _this44._request.end();\n\n return _this44;\n }\n\n return _createClass(PDFNodeStreamFullReader);\n }(BaseFullReader);\n\n var PDFNodeStreamRangeReader = /*#__PURE__*/function (_BaseRangeReader) {\n _inherits(PDFNodeStreamRangeReader, _BaseRangeReader);\n\n var _super35 = _createSuper(PDFNodeStreamRangeReader);\n\n function PDFNodeStreamRangeReader(stream, start, end) {\n var _this45;\n\n _classCallCheck(this, PDFNodeStreamRangeReader);\n\n _this45 = _super35.call(this, stream);\n _this45._httpHeaders = {};\n\n for (var property in stream.httpHeaders) {\n var value = stream.httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n _this45._httpHeaders[property] = value;\n }\n\n _this45._httpHeaders.Range = \"bytes=\".concat(start, \"-\").concat(end - 1);\n\n var handleResponse = function handleResponse(response) {\n if (response.statusCode === 404) {\n var error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(_this45._url, \"\\\".\"));\n _this45._storedError = error;\n return;\n }\n\n _this45._setReadableStream(response);\n };\n\n _this45._request = null;\n\n if (_this45._url.protocol === \"http:\") {\n _this45._request = http.request(createRequestOptions(_this45._url, _this45._httpHeaders), handleResponse);\n } else {\n _this45._request = https.request(createRequestOptions(_this45._url, _this45._httpHeaders), handleResponse);\n }\n\n _this45._request.on(\"error\", function (reason) {\n _this45._storedError = reason;\n });\n\n _this45._request.end();\n\n return _this45;\n }\n\n return _createClass(PDFNodeStreamRangeReader);\n }(BaseRangeReader);\n\n var PDFNodeStreamFsFullReader = /*#__PURE__*/function (_BaseFullReader2) {\n _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2);\n\n var _super36 = _createSuper(PDFNodeStreamFsFullReader);\n\n function PDFNodeStreamFsFullReader(stream) {\n var _this46;\n\n _classCallCheck(this, PDFNodeStreamFsFullReader);\n\n _this46 = _super36.call(this, stream);\n var path = decodeURIComponent(_this46._url.path);\n\n if (fileUriRegex.test(_this46._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n fs.lstat(path, function (error, stat) {\n if (error) {\n if (error.code === \"ENOENT\") {\n error = new _util.MissingPDFException(\"Missing PDF \\\"\".concat(path, \"\\\".\"));\n }\n\n _this46._storedError = error;\n\n _this46._headersCapability.reject(error);\n\n return;\n }\n\n _this46._contentLength = stat.size;\n\n _this46._setReadableStream(fs.createReadStream(path));\n\n _this46._headersCapability.resolve();\n });\n return _this46;\n }\n\n return _createClass(PDFNodeStreamFsFullReader);\n }(BaseFullReader);\n\n var PDFNodeStreamFsRangeReader = /*#__PURE__*/function (_BaseRangeReader2) {\n _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2);\n\n var _super37 = _createSuper(PDFNodeStreamFsRangeReader);\n\n function PDFNodeStreamFsRangeReader(stream, start, end) {\n var _this47;\n\n _classCallCheck(this, PDFNodeStreamFsRangeReader);\n\n _this47 = _super37.call(this, stream);\n var path = decodeURIComponent(_this47._url.path);\n\n if (fileUriRegex.test(_this47._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n _this47._setReadableStream(fs.createReadStream(path, {\n start: start,\n end: end - 1\n }));\n\n return _this47;\n }\n\n return _createClass(PDFNodeStreamFsRangeReader);\n }(BaseRangeReader);\n /***/\n\n },\n /* 20 */\n\n /***/\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\n var _util = __w_pdfjs_require__(2);\n\n var _content_disposition = __w_pdfjs_require__(21);\n\n function validateRangeRequestCapabilities(_ref34) {\n var getResponseHeader = _ref34.getResponseHeader,\n isHttp = _ref34.isHttp,\n rangeChunkSize = _ref34.rangeChunkSize,\n disableRange = _ref34.disableRange;\n (0, _util.assert)(rangeChunkSize > 0, \"Range chunk size must be larger than zero\");\n var returnValues = {\n allowRangeRequests: false,\n suggestedLength: undefined\n };\n var length = parseInt(getResponseHeader(\"Content-Length\"), 10);\n\n if (!Number.isInteger(length)) {\n return returnValues;\n }\n\n returnValues.suggestedLength = length;\n\n if (length <= 2 * rangeChunkSize) {\n return returnValues;\n }\n\n if (disableRange || !isHttp) {\n return returnValues;\n }\n\n if (getResponseHeader(\"Accept-Ranges\") !== \"bytes\") {\n return returnValues;\n }\n\n var contentEncoding = getResponseHeader(\"Content-Encoding\") || \"identity\";\n\n if (contentEncoding !== \"identity\") {\n return returnValues;\n }\n\n returnValues.allowRangeRequests = true;\n return returnValues;\n }\n\n function extractFilenameFromHeader(getResponseHeader) {\n var contentDisposition = getResponseHeader(\"Content-Disposition\");\n\n if (contentDisposition) {\n var filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);\n\n if (filename.includes(\"%\")) {\n try {\n filename = decodeURIComponent(filename);\n } catch (ex) {}\n }\n\n if (/\\.pdf$/i.test(filename)) {\n return filename;\n }\n }\n\n return null;\n }\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\n return new _util.UnexpectedResponseException(\"Unexpected server response (\" + status + ') while retrieving PDF \"' + url + '\".', status);\n }\n\n function validateResponseStatus(status) {\n return status === 200 || status === 206;\n }\n /***/\n\n },\n /* 21 */\n\n /***/\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\n function getFilenameFromContentDispositionHeader(contentDisposition) {\n var needsEncodingFixup = true;\n var tmp = toParamRegExp(\"filename\\\\*\", \"i\").exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n var filename = rfc2616unquote(tmp);\n filename = unescape(filename);\n filename = rfc5987decode(filename);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n\n tmp = rfc2231getparam(contentDisposition);\n\n if (tmp) {\n var _filename = rfc2047decode(tmp);\n\n return fixupEncoding(_filename);\n }\n\n tmp = toParamRegExp(\"filename\", \"i\").exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n\n var _filename2 = rfc2616unquote(tmp);\n\n _filename2 = rfc2047decode(_filename2);\n return fixupEncoding(_filename2);\n }\n\n function toParamRegExp(attributePattern, flags) {\n return new RegExp(\"(?:^|;)\\\\s*\" + attributePattern + \"\\\\s*=\\\\s*\" + \"(\" + '[^\";\\\\s][^;\\\\s]*' + \"|\" + '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' + \")\", flags);\n }\n\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n\n try {\n var decoder = new TextDecoder(encoding, {\n fatal: true\n });\n var 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\n return value;\n }\n\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n value = textdecode(\"utf-8\", value);\n\n if (needsEncodingFixup) {\n value = textdecode(\"iso-8859-1\", value);\n }\n }\n\n return value;\n }\n\n function rfc2231getparam(contentDispositionStr) {\n var matches = [];\n var match;\n var iter = toParamRegExp(\"filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)\", \"ig\");\n\n while ((match = iter.exec(contentDispositionStr)) !== null) {\n var _match = match,\n _match2 = _slicedToArray(_match, 4),\n n = _match2[1],\n quot = _match2[2],\n part = _match2[3];\n\n n = parseInt(n, 10);\n\n if (n in matches) {\n if (n === 0) {\n break;\n }\n\n continue;\n }\n\n matches[n] = [quot, part];\n }\n\n var parts = [];\n\n for (var _n = 0; _n < matches.length; ++_n) {\n if (!(_n in matches)) {\n break;\n }\n\n var _matches$_n = _slicedToArray(matches[_n], 2),\n _quot = _matches$_n[0],\n _part = _matches$_n[1];\n\n _part = rfc2616unquote(_part);\n\n if (_quot) {\n _part = unescape(_part);\n\n if (_n === 0) {\n _part = rfc5987decode(_part);\n }\n }\n\n parts.push(_part);\n }\n\n return parts.join(\"\");\n }\n\n function rfc2616unquote(value) {\n if (value.startsWith('\"')) {\n var parts = value.slice(1).split('\\\\\"');\n\n for (var i = 0; i < parts.length; ++i) {\n var quotindex = parts[i].indexOf('\"');\n\n if (quotindex !== -1) {\n parts[i] = parts[i].slice(0, quotindex);\n parts.length = i + 1;\n }\n\n parts[i] = parts[i].replace(/\\\\(.)/g, \"$1\");\n }\n\n value = parts.join('\"');\n }\n\n return value;\n }\n\n function rfc5987decode(extvalue) {\n var encodingend = extvalue.indexOf(\"'\");\n\n if (encodingend === -1) {\n return extvalue;\n }\n\n var encoding = extvalue.slice(0, encodingend);\n var langvalue = extvalue.slice(encodingend + 1);\n var value = langvalue.replace(/^[^']*'/, \"\");\n return textdecode(encoding, value);\n }\n\n function rfc2047decode(value) {\n if (!value.startsWith(\"=?\") || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n return value;\n }\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\n try {\n text = atob(text);\n } catch (e) {}\n\n return textdecode(charset, text);\n });\n }\n\n return \"\";\n }\n /***/\n\n },\n /* 22 */\n\n /***/\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\n var _util = __w_pdfjs_require__(2);\n\n var _network_utils = __w_pdfjs_require__(20);\n\n ;\n var OK_RESPONSE = 200;\n var PARTIAL_CONTENT_RESPONSE = 206;\n\n function getArrayBuffer(xhr) {\n var data = xhr.response;\n\n if (typeof data !== \"string\") {\n return data;\n }\n\n var array = (0, _util.stringToBytes)(data);\n return array.buffer;\n }\n\n var NetworkManager = /*#__PURE__*/function () {\n function NetworkManager(url, args) {\n _classCallCheck(this, NetworkManager);\n\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\n this.getXhr = args.getXhr || function NetworkManager_getXhr() {\n return new XMLHttpRequest();\n };\n\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n }\n\n _createClass(NetworkManager, [{\n key: \"requestRange\",\n value: function requestRange(begin, end, listeners) {\n var args = {\n begin: begin,\n end: end\n };\n\n for (var prop in listeners) {\n args[prop] = listeners[prop];\n }\n\n return this.request(args);\n }\n }, {\n key: \"requestFull\",\n value: function requestFull(listeners) {\n return this.request(listeners);\n }\n }, {\n key: \"request\",\n value: function request(args) {\n var xhr = this.getXhr();\n var xhrId = this.currXhrId++;\n var pendingRequest = this.pendingRequests[xhrId] = {\n xhr: xhr\n };\n xhr.open(\"GET\", this.url);\n xhr.withCredentials = this.withCredentials;\n\n for (var property in this.httpHeaders) {\n var value = this.httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n xhr.setRequestHeader(property, value);\n }\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\n xhr.responseType = \"arraybuffer\";\n\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\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 }, {\n key: \"onProgress\",\n value: function onProgress(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n if (pendingRequest.onProgress) {\n pendingRequest.onProgress(evt);\n }\n }\n }, {\n key: \"onStateChange\",\n value: function onStateChange(xhrId, evt) {\n var pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n var xhr = pendingRequest.xhr;\n\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n\n if (xhr.readyState !== 4) {\n return;\n }\n\n if (!(xhrId in this.pendingRequests)) {\n return;\n }\n\n delete this.pendingRequests[xhrId];\n\n if (xhr.status === 0 && this.isHttp) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n\n return;\n }\n\n var xhrStatus = xhr.status || OK_RESPONSE;\n var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n\n if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n\n return;\n }\n\n var chunk = getArrayBuffer(xhr);\n\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n var rangeHeader = xhr.getResponseHeader(\"Content-Range\");\n var matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n pendingRequest.onDone({\n begin: parseInt(matches[1], 10),\n chunk: chunk\n });\n } else if (chunk) {\n pendingRequest.onDone({\n begin: 0,\n chunk: chunk\n });\n } else if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n }\n }, {\n key: \"hasPendingRequests\",\n value: function hasPendingRequests() {\n for (var xhrId in this.pendingRequests) {\n return true;\n }\n\n return false;\n }\n }, {\n key: \"getRequestXhr\",\n value: function getRequestXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n }\n }, {\n key: \"isPendingRequest\",\n value: function isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n }\n }, {\n key: \"abortAllRequests\",\n value: function abortAllRequests() {\n for (var xhrId in this.pendingRequests) {\n this.abortRequest(xhrId | 0);\n }\n }\n }, {\n key: \"abortRequest\",\n value: function abortRequest(xhrId) {\n var xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n }]);\n\n return NetworkManager;\n }();\n\n var PDFNetworkStream = /*#__PURE__*/function () {\n function PDFNetworkStream(source) {\n _classCallCheck(this, PDFNetworkStream);\n\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\n _createClass(PDFNetworkStream, [{\n key: \"_onRangeRequestReaderClosed\",\n value: function _onRangeRequestReaderClosed(reader) {\n var i = this._rangeRequestReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n }\n }, {\n key: \"getFullReader\",\n value: function 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 }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n var reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }]);\n\n return PDFNetworkStream;\n }();\n\n exports.PDFNetworkStream = PDFNetworkStream;\n\n var PDFNetworkStreamFullRequestReader = /*#__PURE__*/function () {\n function PDFNetworkStreamFullRequestReader(manager, source) {\n _classCallCheck(this, PDFNetworkStreamFullRequestReader);\n\n this._manager = manager;\n var 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\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\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\n _createClass(PDFNetworkStreamFullRequestReader, [{\n key: \"_onHeadersReceived\",\n value: function _onHeadersReceived() {\n var fullRequestXhrId = this._fullRequestId;\n\n var fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n\n var getResponseHeader = function getResponseHeader(name) {\n return fullRequestXhr.getResponseHeader(name);\n };\n\n var _ref35 = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n }),\n allowRangeRequests = _ref35.allowRangeRequests,\n suggestedLength = _ref35.suggestedLength;\n\n if (allowRangeRequests) {\n this._isRangeSupported = true;\n }\n\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (this._isRangeSupported) {\n this._manager.abortRequest(fullRequestXhrId);\n }\n\n this._headersReceivedCapability.resolve();\n }\n }, {\n key: \"_onDone\",\n value: function _onDone(args) {\n if (args) {\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: args.chunk,\n done: false\n });\n } else {\n this._cachedChunks.push(args.chunk);\n }\n }\n\n this._done = true;\n\n if (this._cachedChunks.length > 0) {\n return;\n }\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n }, {\n key: \"_onError\",\n value: function _onError(status) {\n var url = this._url;\n var exception = (0, _network_utils.createResponseStatusError)(status, url);\n this._storedError = exception;\n\n this._headersReceivedCapability.reject(exception);\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.reject(exception);\n });\n\n this._requests = [];\n this._cachedChunks = [];\n }\n }, {\n key: \"_onProgress\",\n value: function _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 }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"headersReady\",\n get: function get() {\n return this._headersReceivedCapability.promise;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee11() {\n var chunk, requestCapability;\n return _regeneratorRuntime.wrap(function _callee11$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n if (!this._storedError) {\n _context11.next = 2;\n break;\n }\n\n throw this._storedError;\n\n case 2:\n if (!(this._cachedChunks.length > 0)) {\n _context11.next = 5;\n break;\n }\n\n chunk = this._cachedChunks.shift();\n return _context11.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 5:\n if (!this._done) {\n _context11.next = 7;\n break;\n }\n\n return _context11.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 7:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context11.abrupt(\"return\", requestCapability.promise);\n\n case 10:\n case \"end\":\n return _context11.stop();\n }\n }\n }, _callee11, this);\n }));\n\n function read() {\n return _read5.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._headersReceivedCapability.reject(reason);\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n\n this._fullRequestReader = null;\n }\n }]);\n\n return PDFNetworkStreamFullRequestReader;\n }();\n\n var PDFNetworkStreamRangeRequestReader = /*#__PURE__*/function () {\n function PDFNetworkStreamRangeRequestReader(manager, begin, end) {\n _classCallCheck(this, PDFNetworkStreamRangeRequestReader);\n\n this._manager = manager;\n var 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\n _createClass(PDFNetworkStreamRangeRequestReader, [{\n key: \"_close\",\n value: function _close() {\n if (this.onClosed) {\n this.onClosed(this);\n }\n }\n }, {\n key: \"_onDone\",\n value: function _onDone(data) {\n var chunk = data.chunk;\n\n if (this._requests.length > 0) {\n var requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunk = chunk;\n }\n\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n this._close();\n }\n }, {\n key: \"_onProgress\",\n value: function _onProgress(evt) {\n if (!this.isStreamingSupported && this.onProgress) {\n this.onProgress({\n loaded: evt.loaded\n });\n }\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return false;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee12() {\n var chunk, requestCapability;\n return _regeneratorRuntime.wrap(function _callee12$(_context12) {\n while (1) {\n switch (_context12.prev = _context12.next) {\n case 0:\n if (!(this._queuedChunk !== null)) {\n _context12.next = 4;\n break;\n }\n\n chunk = this._queuedChunk;\n this._queuedChunk = null;\n return _context12.abrupt(\"return\", {\n value: chunk,\n done: false\n });\n\n case 4:\n if (!this._done) {\n _context12.next = 6;\n break;\n }\n\n return _context12.abrupt(\"return\", {\n value: undefined,\n done: true\n });\n\n case 6:\n requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return _context12.abrupt(\"return\", requestCapability.promise);\n\n case 9:\n case \"end\":\n return _context12.stop();\n }\n }\n }, _callee12, this);\n }));\n\n function read() {\n return _read6.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n\n this._close();\n }\n }]);\n\n return PDFNetworkStreamRangeRequestReader;\n }();\n /***/\n\n },\n /* 23 */\n\n /***/\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\n var _util = __w_pdfjs_require__(2);\n\n var _network_utils = __w_pdfjs_require__(20);\n\n ;\n\n function createFetchOptions(headers, withCredentials, abortController) {\n return {\n method: \"GET\",\n headers: headers,\n signal: abortController && abortController.signal,\n mode: \"cors\",\n credentials: withCredentials ? \"include\" : \"same-origin\",\n redirect: \"follow\"\n };\n }\n\n function createHeaders(httpHeaders) {\n var headers = new Headers();\n\n for (var property in httpHeaders) {\n var value = httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n headers.append(property, value);\n }\n\n return headers;\n }\n\n var PDFFetchStream = /*#__PURE__*/function () {\n function PDFFetchStream(source) {\n _classCallCheck(this, PDFFetchStream);\n\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\n _createClass(PDFFetchStream, [{\n key: \"_progressiveDataLength\",\n get: function get() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n }, {\n key: \"getFullReader\",\n value: function 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 }, {\n key: \"getRangeReader\",\n value: function getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n var reader = new PDFFetchStreamRangeReader(this, begin, end);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n }, {\n key: \"cancelAllRequests\",\n value: function cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n var readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n }]);\n\n return PDFFetchStream;\n }();\n\n exports.PDFFetchStream = PDFFetchStream;\n\n var PDFFetchStreamReader = /*#__PURE__*/function () {\n function PDFFetchStreamReader(stream) {\n var _this48 = this;\n\n _classCallCheck(this, PDFFetchStreamReader);\n\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n this._filename = null;\n var 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\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n if (typeof AbortController !== \"undefined\") {\n this._abortController = new AbortController();\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._headers = createHeaders(this._stream.httpHeaders);\n var url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n _this48._reader = response.body.getReader();\n\n _this48._headersCapability.resolve();\n\n var getResponseHeader = function getResponseHeader(name) {\n return response.headers.get(name);\n };\n\n var _ref36 = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader: getResponseHeader,\n isHttp: _this48._stream.isHttp,\n rangeChunkSize: _this48._rangeChunkSize,\n disableRange: _this48._disableRange\n }),\n allowRangeRequests = _ref36.allowRangeRequests,\n suggestedLength = _ref36.suggestedLength;\n\n _this48._isRangeSupported = allowRangeRequests;\n _this48._contentLength = suggestedLength || _this48._contentLength;\n _this48._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (!_this48._isStreamingSupported && _this48._isRangeSupported) {\n _this48.cancel(new _util.AbortException(\"Streaming is disabled.\"));\n }\n }).catch(this._headersCapability.reject);\n this.onProgress = null;\n }\n\n _createClass(PDFFetchStreamReader, [{\n key: \"headersReady\",\n get: function get() {\n return this._headersCapability.promise;\n }\n }, {\n key: \"filename\",\n get: function get() {\n return this._filename;\n }\n }, {\n key: \"contentLength\",\n get: function get() {\n return this._contentLength;\n }\n }, {\n key: \"isRangeSupported\",\n get: function get() {\n return this._isRangeSupported;\n }\n }, {\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee13() {\n var _yield$this$_reader$r, value, done, buffer;\n\n return _regeneratorRuntime.wrap(function _callee13$(_context13) {\n while (1) {\n switch (_context13.prev = _context13.next) {\n case 0:\n _context13.next = 2;\n return this._headersCapability.promise;\n\n case 2:\n _context13.next = 4;\n return this._reader.read();\n\n case 4:\n _yield$this$_reader$r = _context13.sent;\n value = _yield$this$_reader$r.value;\n done = _yield$this$_reader$r.done;\n\n if (!done) {\n _context13.next = 9;\n break;\n }\n\n return _context13.abrupt(\"return\", {\n value: value,\n done: done\n });\n\n case 9:\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n buffer = new Uint8Array(value).buffer;\n return _context13.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 13:\n case \"end\":\n return _context13.stop();\n }\n }\n }, _callee13, this);\n }));\n\n function read() {\n return _read7.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n }]);\n\n return PDFFetchStreamReader;\n }();\n\n var PDFFetchStreamRangeReader = /*#__PURE__*/function () {\n function PDFFetchStreamRangeReader(stream, begin, end) {\n var _this49 = this;\n\n _classCallCheck(this, PDFFetchStreamRangeReader);\n\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n var source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._isStreamingSupported = !source.disableStream;\n\n if (typeof AbortController !== \"undefined\") {\n this._abortController = new AbortController();\n }\n\n this._headers = createHeaders(this._stream.httpHeaders);\n\n this._headers.append(\"Range\", \"bytes=\".concat(begin, \"-\").concat(end - 1));\n\n var url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n _this49._readCapability.resolve();\n\n _this49._reader = response.body.getReader();\n });\n this.onProgress = null;\n }\n\n _createClass(PDFFetchStreamRangeReader, [{\n key: \"isStreamingSupported\",\n get: function get() {\n return this._isStreamingSupported;\n }\n }, {\n key: \"read\",\n value: function () {\n var _read8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee14() {\n var _yield$this$_reader$r2, value, done, buffer;\n\n return _regeneratorRuntime.wrap(function _callee14$(_context14) {\n while (1) {\n switch (_context14.prev = _context14.next) {\n case 0:\n _context14.next = 2;\n return this._readCapability.promise;\n\n case 2:\n _context14.next = 4;\n return this._reader.read();\n\n case 4:\n _yield$this$_reader$r2 = _context14.sent;\n value = _yield$this$_reader$r2.value;\n done = _yield$this$_reader$r2.done;\n\n if (!done) {\n _context14.next = 9;\n break;\n }\n\n return _context14.abrupt(\"return\", {\n value: value,\n done: done\n });\n\n case 9:\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n buffer = new Uint8Array(value).buffer;\n return _context14.abrupt(\"return\", {\n value: buffer,\n done: false\n });\n\n case 13:\n case \"end\":\n return _context14.stop();\n }\n }\n }, _callee14, this);\n }));\n\n function read() {\n return _read8.apply(this, arguments);\n }\n\n return read;\n }()\n }, {\n key: \"cancel\",\n value: function cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n }]);\n\n return PDFFetchStreamRangeReader;\n }();\n /***/\n\n }\n /******/\n ])\n );\n});"],"names":["_assertThisInitialized","_get","_toConsumableArray","_slicedToArray","_inherits","_possibleConstructorReturn","_getPrototypeOf","_regeneratorRuntime","_asyncToGenerator","_classCallCheck","_createClass","factory","_createForOfIteratorHelper","o","allowArrayLike","it","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","err","normalCompletion","didErr","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","result","Super","NewTarget","this","Reflect","construct","arguments","apply","sham","Proxy","Boolean","valueOf","modules","installedModules","__w_pdfjs_require__","moduleId","exports","module","l","m","c","d","getter","defineProperty","enumerable","get","r","toStringTag","t","mode","__esModule","ns","create","key","bind","object","property","hasOwnProperty","p","_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","PDFFetchStream","PDFNetworkStream","isFetchSupported","isValidFetchUrl","url","link","_ref7","undefined","target","rel","_ref7$enabled","enabled","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","DOMCanvasFactory","PageViewport","SVG_NS","width","height","canvas","context","getContext","canvasAndContext","_ref","_ref$baseUrl","baseUrl","_ref$isCompressed","isCompressed","_fetch","fetch","_x","_ref3","mark","_callee2","_ref2","compressionType","_this","wrap","_context2","prev","BINARY","baseURI","abrupt","then","_ref4","_callee","response","cMapData","_context","ok","statusText","t0","Uint8Array","arrayBuffer","t1","sent","t2","stringToBytes","text","t3","stop","_x3","catch","reason","request","XMLHttpRequest","open","responseType","onreadystatechange","readyState","DONE","status","responseText","send","_x2","svg","createElementNS","setAttribute","type","_ref5","viewBox","scale","rotation","_ref5$offsetX","offsetX","_ref5$offsetY","offsetY","_ref5$dontFlip","dontFlip","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","centerX","centerY","abs","transform","_ref6","_ref6$scale","_ref6$rotation","_ref6$offsetX","_ref6$offsetY","_ref6$dontFlip","x","y","applyTransform","rect","topLeft","bottomRight","applyInverseTransform","_util$BaseException","_super","msg","_this2","BaseException","pdfDateStringRegex","started","times","warn","Date","now","push","start","_step","outBuf","longest","_iterator","_step2","_iterator2","_time","duration","padEnd","join","Response","ReadableStream","protocol","URL","ex","input","isString","RegExp","matches","exec","year","parseInt","month","day","hour","minute","second","universalTimeRelation","offsetHour","offsetMinute","UTC","arrayByteLength","arraysToBytes","resultLength","pos","data","_i","item","itemLength","byteLength","set","bytesToString","bytes","MAX_ARGUMENT_COUNT","String","fromCharCode","strBuf","chunkEnd","chunk","subarray","capability","isSettled","promise","getVerbosityLevel","verbosity","info","INFOS","isArrayBuffer","v","isArrayEqual","arr1","every","element","index","isBool","isEmptyObj","obj","isNum","isSameOrigin","otherUrl","base","origin","other","absoluteUrl","_isValidProtocol","str","replace","NullCharactersRegExp","setVerbosityLevel","level","Number","isInteger","string32","stringToPDFString","charCodeAt","_i2","_i3","code","PDFStringTranslateTable","charAt","stringToUTF8String","decodeURIComponent","escape","utf8StringToString","unescape","encodeURIComponent","unreachable","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","NEED_PASSWORD","INCORRECT_PASSWORD","cond","prop","configurable","writable","message","_BaseException","_super2","_this3","_BaseException2","_super3","_this4","_BaseException3","_super4","_BaseException4","_super5","_BaseException5","_super6","_this5","_BaseException6","_super7","_BaseException7","_super8","buffer8","Uint32Array","buffer","Function","isEvalSupported","rgbBuf","g","b","m1","m2","p1","p2","p3","p4","max","transpose","a","first","sqrt","sx","sy","rect1","rect2","compare","orderedX","sort","orderedY","normalizeRect","digits","contentType","forceDataSchema","blob","Blob","ii","b1","b2","b3","d1","d2","d3","d4","process","versions","nw","electron","PDFPageProxy","PDFDocumentProxy","_font_loader","_canvas","_is_node","_message_handler","_metadata","_transport_stream","_webgl","DEFAULT_RANGE_CHUNK_SIZE","RENDERING_CANCELLED_TIMEOUT","createPDFNetworkStream","pdfNetworkStreamFactory","source","task","PDFDocumentLoadingTask","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","_ref9","_ref10","workerId","messageHandler","MessageHandler","postMessageTransfers","transport","WorkerTransport","_transport","_capability","pdfDataRangeTransport","sendWithPromise","apiVersion","password","docBaseUrl","nextDocumentId","onPassword","onProgress","onUnsupportedFeature","_this6","destroy","_rangeListeners","_progressListeners","_progressiveReadListeners","_progressiveDoneListeners","_readyCapability","listener","begin","_step3","_iterator3","loaded","total","_this7","_step4","_iterator4","_this8","_step5","_iterator5","_this9","_step6","_iterator6","pdfInfo","_pdfInfo","numPages","fingerprint","pageNumber","getPage","ref","getPageIndex","getDestinations","id","getDestination","getPageLabels","getPageLayout","getPageMode","getViewerPreferences","getOpenAction","openAction","dest","getAttachments","getJavaScript","getOutline","getPermissions","getMetadata","getData","downloadInfoCapability","getStats","startCleanup","loadingTask","loadingParams","pageIndex","pageInfo","_pageIndex","_pageInfo","_stats","_pdfBug","commonObjs","objs","PDFObjects","cleanupAfterRender","pendingCleanup","intentStates","rotate","userUnit","view","_ref11","_ref11$rotation","_ref11$offsetX","_ref11$offsetY","_ref11$dontFlip","_ref12","_ref12$intent","intent","annotationsPromise","annotationsIntent","getAnnotations","_ref13","_this10","canvasContext","viewport","_ref13$intent","_ref13$enableWebGL","enableWebGL","_ref13$renderInteract","renderInteractiveForms","_ref13$transform","_ref13$imageLayer","imageLayer","_ref13$canvasFactory","canvasFactory","_ref13$background","background","time","renderingIntent","intentState","streamReaderCancelTimeout","clearTimeout","canvasFactoryInstance","webGLContext","WebGLContext","enable","displayReadyCapability","operatorList","fnArray","argsArray","lastChunk","_pumpOperatorList","complete","error","renderTasks","internalRenderTask","splice","_tryCleanup","_abortOperatorList","timeEnd","InternalRenderTask","callback","useRequestAnimationFrame","renderTask","transparency","initializeGraphics","operatorListChanged","opListTask","opListReadCapability","_ref14","_ref14$normalizeWhite","normalizeWhitespace","_ref14$disableCombine","disableCombineTextItems","TEXT_CONTENT_CHUNK_SIZE","sendWithStream","combineTextItems","highWaterMark","size","textContent","items","readableStream","streamTextContent","reader","getReader","styles","pump","read","_ref15","_textContent$items","assign","_this11","pageCache","waitOn","keys","forEach","force","renderCompleted","cancel","clear","resetStats","_this12","some","operatorListChunk","_i4","args","_this13","streamReader","_ref16","_renderPageChunk","_ref17","_this14","_ref17$force","setTimeout","cleanup","defer","_listeners","_defer","_deferred","transfers","_this15","cloned","WeakMap","cloneValue","has","includes","byteOffset","desc","getOwnPropertyDescriptor","getPrototypeOf","PDFWorkerClosure","pdfWorkerPorts","isWorkerDisabled","fallbackWorkerSrc","nextFakeWorkerId","fakeWorkerCapability","pdfjsFilePath","currentScript","_getWorkerSrc","workerSrc","getMainThreadWorkerMessageHandler","mainWorkerMessageHandler","globalThis","pdfjsWorker","WorkerMessageHandler","setupFakeWorkerGlobal","loader","_ref18","_callee3","_callee3$","_context3","eval","createCDNWrapper","wrapper","_ref19","_ref19$name","_ref19$port","_ref19$verbosity","_port","_webWorker","_messageHandler","_initializeFromPort","_initialize","on","_this16","Worker","terminateEarly","removeEventListener","onWorkerError","terminate","_setupFakeWorker","addEventListener","supportTransfers","sendTest","testObj","_this17","workerHandler","setup","delete","fontLoader","FontLoader","_onUnsupportedFeature","_params","cMapUrl","cMapPacked","destroyCapability","_passwordCapability","_networkStream","_fullReader","_lastProgress","pagePromises","setupMessageHandler","_this18","page","_destroy","terminated","cancelAllRequests","_this19","sink","getFullReader","evt","onPull","_ref20","close","enqueue","onCancel","headersCapability","fullReader","headersReady","isStreamingSupported","isRangeSupported","contentLength","rangeReader","getRangeReader","_ref21","_ref22","_numPages","exception","_startRenderPage","_data","exportedData","exportedError","fontRegistry","FontInspector","registerFont","fontAdded","FontFaceObject","finally","_data2","imageData","pageProxy","fetched","builtInCMap","_ref23","featureId","_this20","_this21","results","metadata","Metadata","contentDispositionFilename","filename","_this22","_objs","objId","resolved","_ensureObj","RenderTask","_internalRenderTask","onContinue","canvasInRendering","WeakSet","_ref24","_ref24$useRequestAnim","_ref24$pdfBug","operatorListIdx","running","graphicsReadyCallback","graphicsReady","_useRequestAnimationFrame","cancelled","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","_next","_next2","add","StepperManager","stepper","init","nextBreakPoint","getNextBreakPoint","_this$params","gfx","CanvasGraphics","beginDrawing","endDrawing","updateOperatorList","_this23","requestAnimationFrame","_callee4","_context4","executeOperatorList","BaseFontLoader","_ref25","nativeFontFaces","styleElement","_bind","nativeFontFace","fonts","rule","getElementsByTagName","styleSheet","sheet","insertRule","cssRules","remove","_callee5","_this24","_context5","attached","missingFile","isFontLoadingAPISupported","createNativeFontFace","addNativeFontFace","family","createFontFaceRule","isSyncFontLoadingSupported","_queueLoadingCallback","_prepareFontLoadEvent","_x4","supported","rules","fontsToLoad","_BaseFontLoader","GenericFontLoader","_super9","_this25","loadingContext","requests","nextRequestId","loadTestFontId","navigator","userAgent","otherRequest","shift","atob","int32","offset","spliceString","insert","ctx","called","_loadTestFont","XXXX_VALUE","checksum","btoa","names","loadedName","div","style","visibility","position","top","left","span","fontFamily","body","isFontReady","fillText","getImageData","removeChild","translatedData","_ref26","_ref26$isEvalSupporte","_ref26$disableFontFac","_ref26$ignoreErrors","_ref26$onUnsupportedF","_ref26$fontRegistry","compiledGlyphs","FontFace","mimetype","character","cmds","current","js","cmd","_i5","_ii","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","ad_bc","bc_ad","old","pop","angle","cosValue","cos","sinValue","sin","CachedCanvases","cache","getCanvas","trackTransform","canvasEntry","reset","CanvasExtraState","alphaIsShape","fontSize","fontSizeScale","textMatrix","textMatrixScale","fontMatrix","leading","lineX","lineY","charSpacing","wordSpacing","textHScale","textRenderingMode","textRise","fillColor","strokeColor","patternFill","fillAlpha","strokeAlpha","lineWidth","activeSMask","resumeSMaskCtx","clone","setCurrentPoint","canvasCtx","stateStack","pendingClip","pendingEOFill","res","xobjs","groupStack","processingType3","baseTransform","baseTransformStack","groupLevel","smaskStack","smaskCounter","tempSMask","cachedCanvases","_cachedGetSinglePixelWidth","putBinaryImageData","imgData","ImageData","putImageData","destPos","j","thisChunkHeight","elemsInThisChunk","partialChunkHeight","fullChunks","totalChunks","chunkImgData","createImageData","srcPos","kind","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","srcDiff","k","kEnd","kEndUnrolled","mask","srcByte","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","_ref27","_ref27$transparency","_ref27$background","fillRect","transparentCanvas","compositeCtx","beginLayout","executionStartIdx","continueCallback","argsArrayLen","fnId","chunkOperations","endTime","steps","breakIt","_step7","_iterator7","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","singularValueDecompose2dScale","getPattern","needRestore","paths","pendingTextPaths","beginPath","path","addToPath","spacing","fontRefName","fontObj","fontDirection","isType3Font","bold","italic","typeface","fallbackName","browserFontSize","rise","paintChar","patternTransform","fillStrokeMode","isAddToPathSet","getPathGenerator","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","_this26","color","canvasGraphicsFactory","createCanvasGraphics","TilingPattern","getShadingPatternFromIR","makeCssRgb","patternIR","inv","bl","br","ul","ur","x0","y0","x1","y1","matrix","bbox","group","isolated","knockout","bounds","getAxialAlignedBoundingBox","canvasBounds","intersect","floor","imageSmoothingEnabled","mozImageSmoothingEnabled","img","isPatternFill","compiled","j0","width1","points","POINT_TYPES","lineSize","data0","count","sum","Int32Array","outlines","pp","coords","p0","kk","ll","compileType3Glyph","maskCanvas","positions","images","image","map","w","h","imgToPaint","tmpCanvas","widthScale","heightScale","HTMLElement","tmpCtx","paintWidth","paintHeight","tmpCanvasId","newWidth","newHeight","getCanvasPosition","appendImage","entry","tag","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","_k","_k2","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","_this27","callbackId","streamId","streamSinks","streamControllers","callbackCapabilities","actionHandler","_onComObjOnMessage","event","stream","_processStreamMessage","action","cbSourceName","cbTargetName","postMessage","_createStreamSink","_deleteStreamController2","actionName","handler","ah","_postMessage","queueingStrategy","_this28","controller","startCapability","startCall","pullCall","cancelCall","isClosed","desiredSize","pull","pullCapability","cancelCapability","self","streamSink","isCancelled","lastDesiredSize","sinkCapability","ready","success","_deleteStreamController","_callee6","_context6","allSettled","_x5","_xml_parser","_repair","xmlDocument","SimpleXMLParser","parseFromString","_metadataMap","Map","_parse","codes","chars","rdf","nodeName","toLowerCase","firstChild","nextSibling","hasChildNodes","children","childNodes","jj","trim","_step8","_iterator8","_step8$value","XMLParserErrorCode","isWhitespace","ch","XMLParserBase","_this29","entity","onResolveEntity","attributes","skipWs","attrValue","attrName","attrEndChar","attrEndIndex","_resolveEntities","parsed","attrStart","onError","onEndElement","pi","_parseProcessingInstruction","onPi","onComment","onCdata","q2","complexDoctype","doctypeContent","onDoctype","content","_parseContent","onBeginElement","onText","isEmpty","SimpleDOMNode","nodeValue","parentNode","child","_XMLParserBase","_super10","_this30","_currentFragment","_stack","_errorCode","parseXml","isWhitespaceString","node","lastElement","_this31","_queuedChunks","_progressiveDone","_pdfDataRangeTransport","_isStreamingSupported","_isRangeSupported","_contentLength","_fullRequestReader","_rangeReaders","addRangeListener","_onReceiveData","addProgressListener","_onProgress","addProgressiveReadListener","addProgressiveDoneListener","_onProgressiveDone","transportReady","_enqueue","found","_begin","_loaded","firstReader","queuedChunks","PDFDataTransportStreamReader","_progressiveDataLength","PDFDataTransportStreamRangeReader","requestDataRange","abort","_stream","_done","_filename","_step9","_iterator9","_requests","_headersReady","_read","_callee7","requestCapability","_context7","_end","_queuedChunk","_read2","_removeRangeReader","_callee8","_context8","_ref28","_ref28$enable","_enabled","WebGLUtils","tryInitGL","_ref29","_ref30","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","smaskCache","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","trigger","popup","PopupElement","modificationDate","contents","hideWrapper","render","_AnnotationElement","_super11","className","newWindow","externalLinkTarget","externalLinkRel","externalLinkEnabled","_bindNamedAction","_bindLink","destination","_this32","getDestinationHash","navigateTo","_this33","getAnchorUrl","executeNamedAction","_AnnotationElement2","_super12","hasPopup","alt","dataset","l10nId","l10nArgs","JSON","stringify","_createPopup","_AnnotationElement3","_super13","_WidgetAnnotationElem","_super14","hasAppearance","fieldValue","multiLine","disabled","readOnly","fieldName","maxLen","maxLength","comb","combWidth","classList","letterSpacing","verticalAlign","display","_setTextStyle","textAlignment","textAlign","direction","fontWeight","fontStyle","_WidgetAnnotationElem2","_super15","_WidgetAnnotationElem3","_super16","buttonValue","_LinkAnnotationElemen","_super17","_WidgetAnnotationElem4","_super18","selectElement","combo","options","multiSelect","multiple","_step10","_iterator10","option","optionElement","displayValue","exportValue","_AnnotationElement4","_super19","parentType","selector","parentId","parentElement","querySelector","parentLeft","parseFloat","parentWidth","pinned","hideElement","dateObject","toDateObject","date","toLocaleDateString","toLocaleTimeString","_formatContents","_toggle","_show","_hide","lines","split","line","createTextNode","pin","hasAttribute","removeAttribute","zIndex","unpin","_AnnotationElement5","_super20","_AnnotationElement6","_super21","lineCoordinates","append","_AnnotationElement7","_super22","square","_AnnotationElement8","_super23","circle","_AnnotationElement9","_super24","_this34","containerClassName","svgElementName","_step11","_iterator11","vertices","coordinate","polyline","_PolylineAnnotationEl","_super25","_this35","_AnnotationElement10","_super26","_AnnotationElement11","_super27","_this36","_step12","_iterator12","inkLists","_step13","inkList","_iterator13","_AnnotationElement12","_super28","_AnnotationElement13","_super29","_AnnotationElement14","_super30","_AnnotationElement15","_super31","_AnnotationElement16","_super32","_AnnotationElement17","_super33","_this37","_this37$data$file","file","eventBus","dispatch","_download","downloadData","_step14","sortedAnnotations","popupAnnotations","_iterator14","annotations","_data3","_i6","_sortedAnnotations","_step15","_iterator15","NonWhitespaceRegexp","appendText","geom","textDiv","textDivProperties","canvasWidth","originalTransform","paddingBottom","paddingLeft","paddingRight","paddingTop","_textDivs","_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","_ref31","_this38","textContentStream","textContentItemsStr","enhanceTextSelection","_textContent","_container","_textContentItemsStr","_reader","_layoutTextLastFontSize","_layoutTextLastFontFamily","_layoutTextCtx","_renderTimer","_processItems","styleCache","_textDiv$style","_render","timeout","_this39","mozOpaque","textItems","textStyles","_ref32","expandTextDivs","expandDivs","transformBuf","paddingBuf","divProps","padding","renderParameters","pf","toFixed","pm","acos","SVG_DEFAULTS","convertImgDataToPng","PNG_HEADER","crcTable","writePngChunk","crc","_i7","crc32","deflateSyncUncompressed","literals","maxBlockLength","deflateBlocks","idat","adler","_i8","adler32","encode","isMask","bitDepth","colorType","offsetLiterals","offsetBytes","_y","_i9","ihdr","Buffer","output","deflateSync","pngLength","CHUNK_WRAPPER_SIZE","SVGExtraState","dependencies","activeClipUrl","clipGroup","maskId","clipCount","maskCount","shadingCount","transformMatrix","transformStack","extraStack","embedFonts","embeddedFonts","cssStyle","_operatorIdMapping","tgrp","executeOpTree","_this40","_step17","_iterator17","_loop","_this41","svgElement","loadDependencies","convertOpList","operatorIdMapping","opList","fn","_step16","opTree","_iterator16","opListElement","opListToTree","_step18","_iterator18","opTreeElement","lineMatrix","xcoords","ycoords","tspan","setAttributeNS","txtElement","txtgrp","_step19","_iterator19","lineWidthScale","_setStrokeAttributes","_ensureTransformGroup","defs","addFontStyle","_makeColorN_Pattern","inverseTransform","_makeShadingPattern","_makeTilingPattern","_args$","tilingId","_util$Util$applyTrans","_util$Util$applyTrans2","tx0","ty0","_util$Util$applyTrans3","_util$Util$applyTrans4","tx1","ty1","_util$Util$singularVa","_util$Util$singularVa2","txstep","tystep","tiling","_util$Util","gradient","shadingId","point0","point1","focalPoint","circlePoint","focalRadius","circleRadius","_step20","_iterator20","colorStop","_step21","_iterator21","getAttributeNS","clipId","clipPath","clipElement","cloneNode","_step22","_iterator22","_step22$value","setStrokeAlpha","setFillAlpha","imgSrc","cliprect","imgEl","definitions","rootGroup","_ensureClipGroup","_network_utils","fs","http","https","fileUriRegex","sourceUrl","parsedUrl","parse","host","isHttp","isFsUrl","_rangeRequestReaders","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","_url","_storedError","_disableRange","_rangeChunkSize","_readableStream","_readCapability","_headersCapability","_read3","_callee9","_context9","_error","_this42","BaseRangeReader","_read4","_callee10","_context10","_this43","createRequestOptions","headers","auth","hostname","method","_BaseFullReader","_super34","_this44","handleResponse","statusCode","_setReadableStream","getResponseHeader","_ref33","validateRangeRequestCapabilities","allowRangeRequests","suggestedLength","extractFilenameFromHeader","_request","_BaseRangeReader","_super35","_this45","_httpHeaders","Range","_BaseFullReader2","_super36","_this46","lstat","stat","createReadStream","_BaseRangeReader2","_super37","_this47","createResponseStatusError","contentDisposition","_content_disposition","getFilenameFromContentDispositionHeader","_ref34","returnValues","validateResponseStatus","needsEncodingFixup","toParamRegExp","rfc2616unquote","fixupEncoding","rfc2047decode","rfc5987decode","contentDispositionStr","match","iter","_match2","quot","part","parts","_n","_matches$_n","_quot","_part","rfc2231getparam","_filename2","attributePattern","flags","textdecode","encoding","decoder","TextDecoder","fatal","decode","quotindex","extvalue","encodingend","charset","hex","NetworkManager","getXhr","currXhrId","pendingRequests","listeners","xhr","xhrId","pendingRequest","setRequestHeader","expectedStatus","onStateChange","onprogress","onHeadersReceived","onDone","xhrStatus","getArrayBuffer","rangeHeader","abortRequest","_source","_manager","PDFNetworkStreamFullRequestReader","PDFNetworkStreamRangeRequestReader","onClosed","_onRangeRequestReaderClosed","manager","_onHeadersReceived","_onDone","_onError","_fullRequestId","requestFull","_headersReceivedCapability","_cachedChunks","_read5","fullRequestXhrId","fullRequestXhr","getRequestXhr","_ref35","lengthComputable","_callee11","_context11","isPendingRequest","_requestId","requestRange","_read6","_close","_callee12","_context12","createFetchOptions","abortController","signal","credentials","redirect","createHeaders","Headers","PDFFetchStreamReader","PDFFetchStreamRangeReader","_this48","_withCredentials","AbortController","_abortController","_headers","_ref36","_read7","_callee13","_yield$this$_reader$r","_context13","_this49","_read8","_callee14","_yield$this$_reader$r2","_context14"],"sourceRoot":""}