{"version":3,"file":"pdf.js","mappings":"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","sources":["webpack://pdfjs-dist/build/pdf/webpack/universalModuleDefinition","webpack://pdfjs-dist/build/pdf/src/shared/util.js","webpack://pdfjs-dist/build/pdf/src/shared/compatibility.js","webpack://pdfjs-dist/build/pdf/src/shared/is_node.js","webpack://pdfjs-dist/build/pdf/src/display/api.js","webpack://pdfjs-dist/build/pdf/src/display/display_utils.js","webpack://pdfjs-dist/build/pdf/src/display/base_factory.js","webpack://pdfjs-dist/build/pdf/src/display/font_loader.js","webpack://pdfjs-dist/build/pdf/src/display/node_utils.js","webpack://pdfjs-dist/build/pdf/src/display/annotation_storage.js","webpack://pdfjs-dist/build/pdf/src/display/canvas.js","webpack://pdfjs-dist/build/pdf/src/display/pattern_helper.js","webpack://pdfjs-dist/build/pdf/src/display/worker_options.js","webpack://pdfjs-dist/build/pdf/src/shared/message_handler.js","webpack://pdfjs-dist/build/pdf/src/display/metadata.js","webpack://pdfjs-dist/build/pdf/src/display/optional_content_config.js","webpack://pdfjs-dist/build/pdf/src/display/transport_stream.js","webpack://pdfjs-dist/build/pdf/src/display/xfa_text.js","webpack://pdfjs-dist/build/pdf/src/display/annotation_layer.js","webpack://pdfjs-dist/build/pdf/src/shared/scripting_utils.js","webpack://pdfjs-dist/build/pdf/src/display/xfa_layer.js","webpack://pdfjs-dist/build/pdf/src/display/text_layer.js","webpack://pdfjs-dist/build/pdf/src/display/svg.js","webpack://pdfjs-dist/build/pdf/src/display/node_stream.js","webpack://pdfjs-dist/build/pdf/src/display/network_utils.js","webpack://pdfjs-dist/build/pdf/src/display/content_disposition.js","webpack://pdfjs-dist/build/pdf/src/display/network.js","webpack://pdfjs-dist/build/pdf/src/display/fetch_stream.js","webpack://pdfjs-dist/build/pdf/webpack/bootstrap","webpack://pdfjs-dist/build/pdf/src/pdf.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf\"] = factory();\n})(this, function() {\nreturn ","/* Copyright 2012 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\nimport \"./compatibility.js\";\n\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\n\n/**\n * Refer to the `WorkerTransport.getRenderingIntent`-method in the API, to see\n * how these flags are being used:\n * - ANY, DISPLAY, and PRINT are the normal rendering intents, note the\n * `PDFPageProxy.{render, getOperatorList, getAnnotations}`-methods.\n * - ANNOTATIONS_FORMS, ANNOTATIONS_STORAGE, ANNOTATIONS_DISABLE control which\n * annotations are rendered onto the canvas (i.e. by being included in the\n * operatorList), note the `PDFPageProxy.{render, getOperatorList}`-methods\n * and their `annotationMode`-option.\n * - OPLIST is used with the `PDFPageProxy.getOperatorList`-method, note the\n * `OperatorList`-constructor (on the worker-thread).\n */\nconst RenderingIntentFlag = {\n ANY: 0x01,\n DISPLAY: 0x02,\n PRINT: 0x04,\n ANNOTATIONS_FORMS: 0x10,\n ANNOTATIONS_STORAGE: 0x20,\n ANNOTATIONS_DISABLE: 0x40,\n OPLIST: 0x100,\n};\n\nconst AnnotationMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_FORMS: 2,\n ENABLE_STORAGE: 3,\n};\n\n// Permission flags from Table 22, Section 7.6.3.2 of the PDF specification.\nconst 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\nconst 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\nconst ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3,\n};\n\nconst 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\nconst AnnotationStateModelType = {\n MARKED: \"Marked\",\n REVIEW: \"Review\",\n};\n\nconst AnnotationMarkedState = {\n MARKED: \"Marked\",\n UNMARKED: \"Unmarked\",\n};\n\nconst AnnotationReviewState = {\n ACCEPTED: \"Accepted\",\n REJECTED: \"Rejected\",\n CANCELLED: \"Cancelled\",\n COMPLETED: \"Completed\",\n NONE: \"None\",\n};\n\nconst AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\",\n};\n\nconst 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\nconst 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\nconst AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5,\n};\n\nconst AnnotationActionEventType = {\n E: \"Mouse Enter\",\n X: \"Mouse Exit\",\n D: \"Mouse Down\",\n U: \"Mouse Up\",\n Fo: \"Focus\",\n Bl: \"Blur\",\n PO: \"PageOpen\",\n PC: \"PageClose\",\n PV: \"PageVisible\",\n PI: \"PageInvisible\",\n K: \"Keystroke\",\n F: \"Format\",\n V: \"Validate\",\n C: \"Calculate\",\n};\n\nconst DocumentActionEventType = {\n WC: \"WillClose\",\n WS: \"WillSave\",\n DS: \"DidSave\",\n WP: \"WillPrint\",\n DP: \"DidPrint\",\n};\n\nconst PageActionEventType = {\n O: \"PageOpen\",\n C: \"PageClose\",\n};\n\nconst 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\", // PDF short name is 'RL', but telemetry requires three chars.\n};\n\nconst FontType = {\n UNKNOWN: \"UNKNOWN\",\n TYPE1: \"TYPE1\",\n TYPE1STANDARD: \"TYPE1STANDARD\",\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\nconst VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5,\n};\n\nconst CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2,\n};\n\n// All the possible operations for an operator list.\nconst OPS = {\n // Intentionally start from 1 so it is easy to spot bad operators that will be\n // 0's.\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 /** @deprecated unused */\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\nconst UNSUPPORTED_FEATURES = {\n /** @deprecated unused */\n unknown: \"unknown\",\n forms: \"forms\",\n javaScript: \"javaScript\",\n signatures: \"signatures\",\n smask: \"smask\",\n shadingPattern: \"shadingPattern\",\n /** @deprecated unused */\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 errorFontBuildPath: \"errorFontBuildPath\",\n errorFontGetPath: \"errorFontGetPath\",\n errorMarkedContent: \"errorMarkedContent\",\n errorContentSubStream: \"errorContentSubStream\",\n};\n\nconst PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2,\n};\n\nlet verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\n\nfunction getVerbosityLevel() {\n return verbosity;\n}\n\n// A notice for devs. These are good for things that are helpful to devs, such\n// as warning that Workers were disabled, which is important to devs but not\n// end users.\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(`Info: ${msg}`);\n }\n}\n\n// Non-fatal warnings.\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(`Warning: ${msg}`);\n }\n}\n\nfunction unreachable(msg) {\n throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\n\n// Checks if URLs have the same origin. For non-HTTP based URLs, returns false.\nfunction isSameOrigin(baseUrl, otherUrl) {\n let base;\n try {\n base = new URL(baseUrl);\n if (!base.origin || base.origin === \"null\") {\n return false; // non-HTTP url\n }\n } catch (e) {\n return false;\n }\n\n const other = new URL(otherUrl, base);\n return base.origin === other.origin;\n}\n\n// Checks if URLs use one of the allowed protocols, e.g. to avoid XSS.\nfunction _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n switch (url.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n default:\n return false;\n }\n}\n\n/**\n * Attempts to create a valid absolute URL.\n *\n * @param {URL|string} url - An absolute, or relative, URL.\n * @param {URL|string} [baseUrl] - An absolute URL.\n * @param {Object} [options]\n * @returns Either a valid {URL}, or `null` otherwise.\n */\nfunction createValidAbsoluteUrl(url, baseUrl = null, options = null) {\n if (!url) {\n return null;\n }\n try {\n if (options && typeof url === \"string\") {\n // Let URLs beginning with \"www.\" default to using the \"http://\" protocol.\n if (options.addDefaultProtocol && url.startsWith(\"www.\")) {\n const dots = url.match(/\\./g);\n // Avoid accidentally matching a *relative* URL pointing to a file named\n // e.g. \"www.pdf\" or similar.\n if (dots && dots.length >= 2) {\n url = `http://${url}`;\n }\n }\n\n // According to ISO 32000-1:2008, section 12.6.4.7, URIs should be encoded\n // in 7-bit ASCII. Some bad PDFs use UTF-8 encoding; see bug 1122280.\n if (options.tryConvertEncoding) {\n try {\n url = stringToUTF8String(url);\n } catch (ex) {}\n }\n }\n\n const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {\n /* `new URL()` will throw on incorrect data. */\n }\n return null;\n}\n\nfunction shadow(obj, prop, value) {\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\n assert(\n prop in obj,\n `shadow: Property \"${prop && prop.toString()}\" not found in object.`\n );\n }\n Object.defineProperty(obj, prop, {\n value,\n enumerable: true,\n configurable: true,\n writable: false,\n });\n return value;\n}\n\n/**\n * @type {any}\n */\nconst BaseException = (function BaseExceptionClosure() {\n // eslint-disable-next-line no-shadow\n function BaseException(message, name) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n this.message = message;\n this.name = name;\n }\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n\n return BaseException;\n})();\n\nclass PasswordException extends BaseException {\n constructor(msg, code) {\n super(msg, \"PasswordException\");\n this.code = code;\n }\n}\n\nclass UnknownErrorException extends BaseException {\n constructor(msg, details) {\n super(msg, \"UnknownErrorException\");\n this.details = details;\n }\n}\n\nclass InvalidPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"InvalidPDFException\");\n }\n}\n\nclass MissingPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"MissingPDFException\");\n }\n}\n\nclass UnexpectedResponseException extends BaseException {\n constructor(msg, status) {\n super(msg, \"UnexpectedResponseException\");\n this.status = status;\n }\n}\n\n/**\n * Error caused during parsing PDF data.\n */\nclass FormatError extends BaseException {\n constructor(msg) {\n super(msg, \"FormatError\");\n }\n}\n\n/**\n * Error used to indicate task cancellation.\n */\nclass AbortException extends BaseException {\n constructor(msg) {\n super(msg, \"AbortException\");\n }\n}\n\nfunction bytesToString(bytes) {\n if (\n typeof bytes !== \"object\" ||\n bytes === null ||\n bytes.length === undefined\n ) {\n unreachable(\"Invalid argument for bytesToString\");\n }\n const length = bytes.length;\n const MAX_ARGUMENT_COUNT = 8192;\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n const strBuf = [];\n for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n const chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n return strBuf.join(\"\");\n}\n\nfunction stringToBytes(str) {\n if (typeof str !== \"string\") {\n unreachable(\"Invalid argument for stringToBytes\");\n }\n const length = str.length;\n const bytes = new Uint8Array(length);\n for (let i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n return bytes;\n}\n\n/**\n * Gets length of the array (Array, Uint8Array, or string) in bytes.\n * @param {Array|Uint8Array|string} arr\n * @returns {number}\n */\n// eslint-disable-next-line consistent-return\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n if (arr.byteLength !== undefined) {\n return arr.byteLength;\n }\n unreachable(\"Invalid argument for arrayByteLength\");\n}\n\n/**\n * Combines array items (arrays) into single Uint8Array object.\n * @param {Array|Uint8Array|string>} arr - the array of the arrays\n * (Array, Uint8Array, or string).\n * @returns {Uint8Array}\n */\nfunction arraysToBytes(arr) {\n const length = arr.length;\n // Shortcut: if first and only item is Uint8Array, return it.\n if (length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n let resultLength = 0;\n for (let i = 0; i < length; i++) {\n resultLength += arrayByteLength(arr[i]);\n }\n let pos = 0;\n const data = new Uint8Array(resultLength);\n for (let i = 0; i < length; i++) {\n let item = arr[i];\n if (!(item instanceof Uint8Array)) {\n if (typeof item === \"string\") {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n const itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n return data;\n}\n\nfunction string32(value) {\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\n assert(\n typeof value === \"number\" && Math.abs(value) < 2 ** 32,\n `string32: Unexpected input \"${value}\".`\n );\n }\n return String.fromCharCode(\n (value >> 24) & 0xff,\n (value >> 16) & 0xff,\n (value >> 8) & 0xff,\n value & 0xff\n );\n}\n\nfunction objectSize(obj) {\n return Object.keys(obj).length;\n}\n\n// Ensure that the returned Object has a `null` prototype; hence why\n// `Object.fromEntries(...)` is not used.\nfunction objectFromMap(map) {\n const obj = Object.create(null);\n for (const [key, value] of map) {\n obj[key] = value;\n }\n return obj;\n}\n\n// Checks the endianness of the platform.\nfunction isLittleEndian() {\n const buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n const view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\nconst IsLittleEndianCached = {\n get value() {\n return shadow(this, \"value\", isLittleEndian());\n },\n};\n\n// Checks if it's possible to eval JS expressions.\nfunction isEvalSupported() {\n try {\n new Function(\"\"); // eslint-disable-line no-new, no-new-func\n return true;\n } catch (e) {\n return false;\n }\n}\nconst IsEvalSupportedCached = {\n get value() {\n return shadow(this, \"value\", isEvalSupported());\n },\n};\n\nconst hexNumbers = [...Array(256).keys()].map(n =>\n n.toString(16).padStart(2, \"0\")\n);\n\nclass Util {\n static makeHexColor(r, g, b) {\n return `#${hexNumbers[r]}${hexNumbers[g]}${hexNumbers[b]}`;\n }\n\n // Concatenates two transformation matrices together and returns the result.\n static transform(m1, m2) {\n return [\n m1[0] * m2[0] + m1[2] * m2[1],\n m1[1] * m2[0] + m1[3] * m2[1],\n m1[0] * m2[2] + m1[2] * m2[3],\n m1[1] * m2[2] + m1[3] * m2[3],\n m1[0] * m2[4] + m1[2] * m2[5] + m1[4],\n m1[1] * m2[4] + m1[3] * m2[5] + m1[5],\n ];\n }\n\n // For 2d affine transforms\n static applyTransform(p, m) {\n const xt = p[0] * m[0] + p[1] * m[2] + m[4];\n const yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n\n static applyInverseTransform(p, m) {\n const d = m[0] * m[3] - m[1] * m[2];\n const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n\n // Applies the transform to the rectangle and finds the minimum axially\n // aligned bounding box.\n static getAxialAlignedBoundingBox(r, m) {\n const p1 = Util.applyTransform(r, m);\n const p2 = Util.applyTransform(r.slice(2, 4), m);\n const p3 = Util.applyTransform([r[0], r[3]], m);\n const p4 = Util.applyTransform([r[2], r[1]], m);\n return [\n Math.min(p1[0], p2[0], p3[0], p4[0]),\n Math.min(p1[1], p2[1], p3[1], p4[1]),\n Math.max(p1[0], p2[0], p3[0], p4[0]),\n Math.max(p1[1], p2[1], p3[1], p4[1]),\n ];\n }\n\n static inverseTransform(m) {\n const d = m[0] * m[3] - m[1] * m[2];\n return [\n m[3] / d,\n -m[1] / d,\n -m[2] / d,\n m[0] / d,\n (m[2] * m[5] - m[4] * m[3]) / d,\n (m[4] * m[1] - m[5] * m[0]) / d,\n ];\n }\n\n // Apply a generic 3d matrix M on a 3-vector v:\n // | a b c | | X |\n // | d e f | x | Y |\n // | g h i | | Z |\n // M is assumed to be serialized as [a,b,c,d,e,f,g,h,i],\n // with v as [X,Y,Z]\n static apply3dTransform(m, v) {\n return [\n m[0] * v[0] + m[1] * v[1] + m[2] * v[2],\n m[3] * v[0] + m[4] * v[1] + m[5] * v[2],\n m[6] * v[0] + m[7] * v[1] + m[8] * v[2],\n ];\n }\n\n // This calculation uses Singular Value Decomposition.\n // The SVD can be represented with formula A = USV. We are interested in the\n // matrix S here because it represents the scale values.\n static singularValueDecompose2dScale(m) {\n const transpose = [m[0], m[2], m[1], m[3]];\n\n // Multiply matrix m with its transpose.\n const a = m[0] * transpose[0] + m[1] * transpose[2];\n const b = m[0] * transpose[1] + m[1] * transpose[3];\n const c = m[2] * transpose[0] + m[3] * transpose[2];\n const d = m[2] * transpose[1] + m[3] * transpose[3];\n\n // Solve the second degree polynomial to get roots.\n const first = (a + d) / 2;\n const second = Math.sqrt((a + d) ** 2 - 4 * (a * d - c * b)) / 2;\n const sx = first + second || 1;\n const sy = first - second || 1;\n\n // Scale values are the square roots of the eigenvalues.\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n\n // Normalize rectangle rect=[x1, y1, x2, y2] so that (x1,y1) < (x2,y2)\n // For coordinate systems whose origin lies in the bottom-left, this\n // means normalization to (BL,TR) ordering. For systems with origin in the\n // top-left, this means (TL,BR) ordering.\n static normalizeRect(rect) {\n const r = rect.slice(0); // clone rect\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n return r;\n }\n\n // Returns a rectangle [x1, y1, x2, y2] corresponding to the\n // intersection of rect1 and rect2. If no intersection, returns 'false'\n // The rectangle coordinates of rect1, rect2 should be [x1, y1, x2, y2]\n static intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n\n // Order points along the axes\n const orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);\n const orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);\n const result = [];\n\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n\n // X: first and second points belong to different rectangles?\n if (\n (orderedX[0] === rect1[0] && orderedX[1] === rect2[0]) ||\n (orderedX[0] === rect2[0] && orderedX[1] === rect1[0])\n ) {\n // Intersection must be between second and third points\n result[0] = orderedX[1];\n result[2] = orderedX[2];\n } else {\n return null;\n }\n\n // Y: first and second points belong to different rectangles?\n if (\n (orderedY[0] === rect1[1] && orderedY[1] === rect2[1]) ||\n (orderedY[0] === rect2[1] && orderedY[1] === rect1[1])\n ) {\n // Intersection must be between second and third points\n result[1] = orderedY[1];\n result[3] = orderedY[2];\n } else {\n return null;\n }\n\n return result;\n }\n\n // From https://github.com/adobe-webplatform/Snap.svg/blob/b365287722a72526000ac4bfcf0ce4cac2faa015/src/path.js#L852\n static bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3) {\n const tvalues = [],\n bounds = [[], []];\n let a, b, c, t, t1, t2, b2ac, sqrtb2ac;\n for (let i = 0; i < 2; ++i) {\n if (i === 0) {\n b = 6 * x0 - 12 * x1 + 6 * x2;\n a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3;\n c = 3 * x1 - 3 * x0;\n } else {\n b = 6 * y0 - 12 * y1 + 6 * y2;\n a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3;\n c = 3 * y1 - 3 * y0;\n }\n if (Math.abs(a) < 1e-12) {\n if (Math.abs(b) < 1e-12) {\n continue;\n }\n t = -c / b;\n if (0 < t && t < 1) {\n tvalues.push(t);\n }\n continue;\n }\n b2ac = b * b - 4 * c * a;\n sqrtb2ac = Math.sqrt(b2ac);\n if (b2ac < 0) {\n continue;\n }\n t1 = (-b + sqrtb2ac) / (2 * a);\n if (0 < t1 && t1 < 1) {\n tvalues.push(t1);\n }\n t2 = (-b - sqrtb2ac) / (2 * a);\n if (0 < t2 && t2 < 1) {\n tvalues.push(t2);\n }\n }\n\n let j = tvalues.length,\n mt;\n const jlen = j;\n while (j--) {\n t = tvalues[j];\n mt = 1 - t;\n bounds[0][j] =\n mt * mt * mt * x0 +\n 3 * mt * mt * t * x1 +\n 3 * mt * t * t * x2 +\n t * t * t * x3;\n bounds[1][j] =\n mt * mt * mt * y0 +\n 3 * mt * mt * t * y1 +\n 3 * mt * t * t * y2 +\n t * t * t * y3;\n }\n\n bounds[0][jlen] = x0;\n bounds[1][jlen] = y0;\n bounds[0][jlen + 1] = x3;\n bounds[1][jlen + 1] = y3;\n bounds[0].length = bounds[1].length = jlen + 2;\n\n return [\n Math.min(...bounds[0]),\n Math.min(...bounds[1]),\n Math.max(...bounds[0]),\n Math.max(...bounds[1]),\n ];\n }\n}\n\nconst PDFStringTranslateTable = [\n 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,\n 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n 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,\n 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,\n 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,\n 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192,\n 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018,\n 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d,\n 0x131, 0x142, 0x153, 0x161, 0x17e, 0, 0x20ac,\n];\n\nfunction stringToPDFString(str) {\n if (str[0] >= \"\\xEF\") {\n let encoding;\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n encoding = \"utf-16be\";\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n encoding = \"utf-16le\";\n } else if (str[0] === \"\\xEF\" && str[1] === \"\\xBB\" && str[2] === \"\\xBF\") {\n encoding = \"utf-8\";\n }\n\n if (encoding) {\n try {\n const decoder = new TextDecoder(encoding, { fatal: true });\n const buffer = stringToBytes(str);\n return decoder.decode(buffer);\n } catch (ex) {\n warn(`stringToPDFString: \"${ex}\".`);\n }\n }\n }\n // ISO Latin 1\n const strBuf = [];\n for (let i = 0, ii = str.length; i < ii; i++) {\n const code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n return strBuf.join(\"\");\n}\n\nfunction escapeString(str) {\n // replace \"(\", \")\", \"\\n\", \"\\r\" and \"\\\"\n // by \"\\(\", \"\\)\", \"\\\\n\", \"\\\\r\" and \"\\\\\"\n // in order to write it in a PDF file.\n return str.replace(/([()\\\\\\n\\r])/g, match => {\n if (match === \"\\n\") {\n return \"\\\\n\";\n } else if (match === \"\\r\") {\n return \"\\\\r\";\n }\n return `\\\\${match}`;\n });\n}\n\nfunction isAscii(str) {\n return /^[\\x00-\\x7F]*$/.test(str);\n}\n\nfunction stringToUTF16BEString(str) {\n const buf = [\"\\xFE\\xFF\"];\n for (let i = 0, ii = str.length; i < ii; i++) {\n const char = str.charCodeAt(i);\n buf.push(\n String.fromCharCode((char >> 8) & 0xff),\n String.fromCharCode(char & 0xff)\n );\n }\n return buf.join(\"\");\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\n\nfunction isBool(v) {\n return typeof v === \"boolean\";\n}\n\nfunction isNum(v) {\n return typeof v === \"number\";\n}\n\nfunction isString(v) {\n return typeof v === \"string\";\n}\n\nfunction isArrayBuffer(v) {\n return typeof v === \"object\" && v !== null && v.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n for (let i = 0, ii = arr1.length; i < ii; i++) {\n if (arr1[i] !== arr2[i]) {\n return false;\n }\n }\n return true;\n}\n\nfunction getModificationDate(date = new Date()) {\n const buffer = [\n date.getUTCFullYear().toString(),\n (date.getUTCMonth() + 1).toString().padStart(2, \"0\"),\n date.getUTCDate().toString().padStart(2, \"0\"),\n date.getUTCHours().toString().padStart(2, \"0\"),\n date.getUTCMinutes().toString().padStart(2, \"0\"),\n date.getUTCSeconds().toString().padStart(2, \"0\"),\n ];\n\n return buffer.join(\"\");\n}\n\n/**\n * Promise Capability object.\n *\n * @typedef {Object} PromiseCapability\n * @property {Promise} promise - A Promise object.\n * @property {boolean} settled - If the Promise has been fulfilled/rejected.\n * @property {function} resolve - Fulfills the Promise.\n * @property {function} reject - Rejects the Promise.\n */\n\n/**\n * Creates a promise capability object.\n * @alias createPromiseCapability\n *\n * @returns {PromiseCapability}\n */\nfunction createPromiseCapability() {\n const capability = Object.create(null);\n let isSettled = false;\n\n Object.defineProperty(capability, \"settled\", {\n get() {\n return isSettled;\n },\n });\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = function (data) {\n isSettled = true;\n resolve(data);\n };\n capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n}\n\nexport {\n AbortException,\n AnnotationActionEventType,\n AnnotationBorderStyleType,\n AnnotationFieldFlag,\n AnnotationFlag,\n AnnotationMarkedState,\n AnnotationMode,\n AnnotationReplyType,\n AnnotationReviewState,\n AnnotationStateModelType,\n AnnotationType,\n arrayByteLength,\n arraysToBytes,\n assert,\n BaseException,\n bytesToString,\n CMapCompressionType,\n createPromiseCapability,\n createValidAbsoluteUrl,\n DocumentActionEventType,\n escapeString,\n FONT_IDENTITY_MATRIX,\n FontType,\n FormatError,\n getModificationDate,\n getVerbosityLevel,\n IDENTITY_MATRIX,\n ImageKind,\n info,\n InvalidPDFException,\n isArrayBuffer,\n isArrayEqual,\n isAscii,\n isBool,\n IsEvalSupportedCached,\n IsLittleEndianCached,\n isNum,\n isSameOrigin,\n isString,\n MissingPDFException,\n objectFromMap,\n objectSize,\n OPS,\n PageActionEventType,\n PasswordException,\n PasswordResponses,\n PermissionFlag,\n RenderingIntentFlag,\n setVerbosityLevel,\n shadow,\n StreamType,\n string32,\n stringToBytes,\n stringToPDFString,\n stringToUTF16BEString,\n stringToUTF8String,\n TextRenderingMode,\n UnexpectedResponseException,\n UnknownErrorException,\n unreachable,\n UNSUPPORTED_FEATURES,\n utf8StringToString,\n Util,\n VerbosityLevel,\n warn,\n};\n","/* Copyright 2017 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/* globals __non_webpack_require__ */\n\nimport { isNodeJS } from \"./is_node.js\";\n\n// Skip compatibility checks for modern builds and if we already ran the module.\nif (\n (typeof PDFJSDev === \"undefined\" || !PDFJSDev.test(\"SKIP_BABEL\")) &&\n !globalThis._pdfjsCompatibilityChecked\n) {\n globalThis._pdfjsCompatibilityChecked = true;\n\n // Support: Node.js\n (function checkNodeBtoa() {\n if (globalThis.btoa || !isNodeJS) {\n return;\n }\n globalThis.btoa = function (chars) {\n // eslint-disable-next-line no-undef\n return Buffer.from(chars, \"binary\").toString(\"base64\");\n };\n })();\n\n // Support: Node.js\n (function checkNodeAtob() {\n if (globalThis.atob || !isNodeJS) {\n return;\n }\n globalThis.atob = function (input) {\n // eslint-disable-next-line no-undef\n return Buffer.from(input, \"base64\").toString(\"binary\");\n };\n })();\n\n // Support: Node.js\n (function checkDOMMatrix() {\n if (globalThis.DOMMatrix || !isNodeJS) {\n return;\n }\n globalThis.DOMMatrix = require(\"dommatrix/dist/dommatrix.js\");\n })();\n\n // Provides support for *recent* additions to the Promise specification,\n // however basic Promise support is assumed to be available natively.\n // Support: Firefox<71, Chrome<76, Safari<13, Node.js<12.9.0\n (function checkPromise() {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"IMAGE_DECODERS\")) {\n // The current image decoders are synchronous, hence `Promise` shouldn't\n // need to be polyfilled for the IMAGE_DECODERS build target.\n return;\n }\n if (globalThis.Promise.allSettled) {\n return;\n }\n globalThis.Promise = require(\"core-js/es/promise/index.js\");\n })();\n\n // Support: Node.js\n (function checkReadableStream() {\n if (globalThis.ReadableStream || !isNodeJS) {\n return;\n }\n globalThis.ReadableStream = __non_webpack_require__(\n \"web-streams-polyfill/dist/ponyfill.js\"\n ).ReadableStream;\n })();\n\n // Support: Firefox<94, Chrome<98, Safari, Node.js<17.0.0\n (function checkStructuredClone() {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"IMAGE_DECODERS\")) {\n // The current image decoders are synchronous, hence `structuredClone`\n // shouldn't need to be polyfilled for the IMAGE_DECODERS build target.\n return;\n }\n if (globalThis.structuredClone) {\n return;\n }\n require(\"core-js/web/structured-clone.js\");\n })();\n}\n","/* Copyright 2018 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/* globals process */\n\n// NW.js / Electron is a browser context, but copies some Node.js objects; see\n// http://docs.nwjs.io/en/latest/For%20Users/Advanced/JavaScript%20Contexts%20in%20NW.js/#access-nodejs-and-nwjs-api-in-browser-context\n// https://www.electronjs.org/docs/api/process#processversionselectron-readonly\n// https://www.electronjs.org/docs/api/process#processtype-readonly\nconst isNodeJS =\n typeof process === \"object\" &&\n process + \"\" === \"[object process]\" &&\n !process.versions.nw &&\n !(process.versions.electron && process.type && process.type !== \"browser\");\n\nexport { isNodeJS };\n","/* Copyright 2012 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\n/**\n * @module pdfjsLib\n */\n\nimport {\n AbortException,\n AnnotationMode,\n assert,\n createPromiseCapability,\n getVerbosityLevel,\n info,\n InvalidPDFException,\n isArrayBuffer,\n isSameOrigin,\n MissingPDFException,\n PasswordException,\n RenderingIntentFlag,\n setVerbosityLevel,\n shadow,\n stringToBytes,\n UnexpectedResponseException,\n UnknownErrorException,\n unreachable,\n warn,\n} from \"../shared/util.js\";\nimport {\n deprecated,\n DOMCanvasFactory,\n DOMCMapReaderFactory,\n DOMStandardFontDataFactory,\n isDataScheme,\n loadScript,\n PageViewport,\n RenderingCancelledException,\n StatTimer,\n} from \"./display_utils.js\";\nimport { FontFaceObject, FontLoader } from \"./font_loader.js\";\nimport {\n NodeCanvasFactory,\n NodeCMapReaderFactory,\n NodeStandardFontDataFactory,\n} from \"./node_utils.js\";\nimport { AnnotationStorage } from \"./annotation_storage.js\";\nimport { CanvasGraphics } from \"./canvas.js\";\nimport { GlobalWorkerOptions } from \"./worker_options.js\";\nimport { isNodeJS } from \"../shared/is_node.js\";\nimport { MessageHandler } from \"../shared/message_handler.js\";\nimport { Metadata } from \"./metadata.js\";\nimport { OptionalContentConfig } from \"./optional_content_config.js\";\nimport { PDFDataTransportStream } from \"./transport_stream.js\";\nimport { XfaText } from \"./xfa_text.js\";\n\nconst DEFAULT_RANGE_CHUNK_SIZE = 65536; // 2^16 = 65536\nconst RENDERING_CANCELLED_TIMEOUT = 100; // ms\n\nconst DefaultCanvasFactory =\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) && isNodeJS\n ? NodeCanvasFactory\n : DOMCanvasFactory;\nconst DefaultCMapReaderFactory =\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) && isNodeJS\n ? NodeCMapReaderFactory\n : DOMCMapReaderFactory;\nconst DefaultStandardFontDataFactory =\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) && isNodeJS\n ? NodeStandardFontDataFactory\n : DOMStandardFontDataFactory;\n\n/**\n * @typedef {function} IPDFStreamFactory\n * @param {DocumentInitParameters} params - The document initialization\n * parameters. The \"url\" key is always present.\n * @returns {Promise} A promise, which is resolved with an instance of\n * {IPDFStream}.\n * @ignore\n */\n\n/**\n * @type {IPDFStreamFactory}\n * @private\n */\nlet createPDFNetworkStream;\n\n/**\n * Sets the function that instantiates an {IPDFStream} as an alternative PDF\n * data transport.\n *\n * @param {IPDFStreamFactory} pdfNetworkStreamFactory - The factory function\n * that takes document initialization parameters (including a \"url\") and\n * returns a promise which is resolved with an instance of {IPDFStream}.\n * @ignore\n */\nfunction setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n}\n\n/**\n * @typedef { Int8Array | Uint8Array | Uint8ClampedArray |\n * Int16Array | Uint16Array |\n * Int32Array | Uint32Array | Float32Array |\n * Float64Array\n * } TypedArray\n */\n\n/**\n * @typedef {Object} RefProxy\n * @property {number} num\n * @property {number} gen\n */\n\n/**\n * Document initialization / loading parameters object.\n *\n * @typedef {Object} DocumentInitParameters\n * @property {string|URL} [url] - The URL of the PDF.\n * @property {TypedArray|Array|string} [data] - Binary PDF data. Use\n * typed arrays (Uint8Array) to improve the memory usage. If PDF data is\n * BASE64-encoded, use `atob()` to convert it to a binary string first.\n * @property {Object} [httpHeaders] - Basic authentication headers.\n * @property {boolean} [withCredentials] - Indicates whether or not\n * cross-site Access-Control requests should be made using credentials such\n * as cookies or authorization headers. The default is `false`.\n * @property {string} [password] - For decrypting password-protected PDFs.\n * @property {TypedArray} [initialData] - A typed array with the first portion\n * or all of the pdf data. Used by the extension since some data is already\n * loaded before the switch to range requests.\n * @property {number} [length] - The PDF file length. It's used for progress\n * reports and range requests operations.\n * @property {PDFDataRangeTransport} [range] - Allows for using a custom range\n * transport implementation.\n * @property {number} [rangeChunkSize] - Specify maximum number of bytes fetched\n * per range request. The default value is {@link DEFAULT_RANGE_CHUNK_SIZE}.\n * @property {PDFWorker} [worker] - The worker that will be used for loading and\n * parsing the PDF data.\n * @property {number} [verbosity] - Controls the logging level; the constants\n * from {@link VerbosityLevel} should be used.\n * @property {string} [docBaseUrl] - The base URL of the document, used when\n * attempting to recover valid absolute URLs for annotations, and outline\n * items, that (incorrectly) only specify relative URLs.\n * @property {string} [cMapUrl] - The URL where the predefined Adobe CMaps are\n * located. Include the trailing slash.\n * @property {boolean} [cMapPacked] - Specifies if the Adobe CMaps are binary\n * packed or not.\n * @property {Object} [CMapReaderFactory] - The factory that will be used when\n * reading built-in CMap files. Providing a custom factory is useful for\n * environments without Fetch API or `XMLHttpRequest` support, such as\n * Node.js. The default value is {DOMCMapReaderFactory}.\n * @property {boolean} [useSystemFonts] - When `true`, fonts that aren't\n * embedded in the PDF document will fallback to a system font.\n * The default value is `true` in web environments and `false` in Node.js;\n * unless `disableFontFace === true` in which case this defaults to `false`\n * regardless of the environment (to prevent completely broken fonts).\n * @property {string} [standardFontDataUrl] - The URL where the standard font\n * files are located. Include the trailing slash.\n * @property {Object} [StandardFontDataFactory] - The factory that will be used\n * when reading the standard font files. Providing a custom factory is useful\n * for environments without Fetch API or `XMLHttpRequest` support, such as\n * Node.js. The default value is {DOMStandardFontDataFactory}.\n * @property {boolean} [useWorkerFetch] - Enable using the Fetch API in the\n * worker-thread when reading CMap and standard font files. When `true`,\n * the `CMapReaderFactory` and `StandardFontDataFactory` options are ignored.\n * The default value is `true` in web environments and `false` in Node.js.\n * @property {boolean} [stopAtErrors] - Reject certain promises, e.g.\n * `getOperatorList`, `getTextContent`, and `RenderTask`, when the associated\n * PDF data cannot be successfully parsed, instead of attempting to recover\n * whatever possible of the data. The default value is `false`.\n * @property {number} [maxImageSize] - The maximum allowed image size in total\n * pixels, i.e. width * height. Images above this value will not be rendered.\n * Use -1 for no limit, which is also the default value.\n * @property {boolean} [isEvalSupported] - Determines if we can evaluate strings\n * as JavaScript. Primarily used to improve performance of font rendering, and\n * when parsing PDF functions. The default value is `true`.\n * @property {boolean} [disableFontFace] - By default fonts are converted to\n * OpenType fonts and loaded via the Font Loading API or `@font-face` rules.\n * If disabled, fonts will be rendered using a built-in font renderer that\n * constructs the glyphs with primitive path commands.\n * The default value is `false` in web environments and `true` in Node.js.\n * @property {boolean} [fontExtraProperties] - Include additional properties,\n * which are unused during rendering of PDF documents, when exporting the\n * parsed font data from the worker-thread. This may be useful for debugging\n * purposes (and backwards compatibility), but note that it will lead to\n * increased memory usage. The default value is `false`.\n * @property {boolean} [enableXfa] - Render Xfa forms if any.\n * The default value is `false`.\n * @property {HTMLDocument} [ownerDocument] - Specify an explicit document\n * context to create elements with and to load resources, such as fonts,\n * into. Defaults to the current document.\n * @property {boolean} [disableRange] - Disable range request loading of PDF\n * files. When enabled, and if the server supports partial content requests,\n * then the PDF will be fetched in chunks. The default value is `false`.\n * @property {boolean} [disableStream] - Disable streaming of PDF file data.\n * By default PDF.js attempts to load PDF files in chunks. The default value\n * is `false`.\n * @property {boolean} [disableAutoFetch] - Disable pre-fetching of PDF file\n * data. When range requests are enabled PDF.js will automatically keep\n * fetching more data even if it isn't needed to display the current page.\n * The default value is `false`.\n *\n * NOTE: It is also necessary to disable streaming, see above, in order for\n * disabling of pre-fetching to work correctly.\n * @property {boolean} [pdfBug] - Enables special hooks for debugging PDF.js\n * (see `web/debugger.js`). The default value is `false`.\n */\n\n/**\n * This is the main entry point for loading a PDF and interacting with it.\n *\n * NOTE: If a URL is used to fetch the PDF data a standard Fetch API call (or\n * XHR as fallback) is used, which means it must follow same origin rules,\n * e.g. no cross-domain requests without CORS.\n *\n * @param {string|URL|TypedArray|PDFDataRangeTransport|DocumentInitParameters}\n * src - Can be a URL where a PDF file is located, a typed array (Uint8Array)\n * already populated with data, or a parameter object.\n * @returns {PDFDocumentLoadingTask}\n */\nfunction getDocument(src) {\n const task = new PDFDocumentLoadingTask();\n\n let source;\n if (typeof src === \"string\" || src instanceof URL) {\n source = { url: src };\n } else if (isArrayBuffer(src)) {\n source = { data: src };\n } else if (src instanceof PDFDataRangeTransport) {\n source = { range: src };\n } else {\n if (typeof src !== \"object\") {\n throw new Error(\n \"Invalid parameter in getDocument, \" +\n \"need either string, URL, Uint8Array, or parameter object.\"\n );\n }\n if (!src.url && !src.data && !src.range) {\n throw new Error(\n \"Invalid parameter object: need either .data, .range or .url\"\n );\n }\n source = src;\n }\n const params = Object.create(null);\n let rangeTransport = null,\n worker = null;\n\n for (const key in source) {\n const value = source[key];\n\n switch (key) {\n case \"url\":\n if (typeof window !== \"undefined\") {\n try {\n // The full path is required in the 'url' field.\n params[key] = new URL(value, window.location).href;\n continue;\n } catch (ex) {\n warn(`Cannot create valid URL: \"${ex}\".`);\n }\n } else if (typeof value === \"string\" || value instanceof URL) {\n params[key] = value.toString(); // Support Node.js environments.\n continue;\n }\n throw new Error(\n \"Invalid PDF url data: \" +\n \"either string or URL-object is expected in the url property.\"\n );\n case \"range\":\n rangeTransport = value;\n continue;\n case \"worker\":\n worker = value;\n continue;\n case \"data\":\n // Converting string or array-like data to Uint8Array.\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"GENERIC\") &&\n isNodeJS &&\n typeof Buffer !== \"undefined\" && // eslint-disable-line no-undef\n value instanceof Buffer // eslint-disable-line no-undef\n ) {\n params[key] = new Uint8Array(value);\n } else if (value instanceof Uint8Array) {\n break; // Use the data as-is when it's already a Uint8Array.\n } else if (typeof value === \"string\") {\n params[key] = stringToBytes(value);\n } else if (\n typeof value === \"object\" &&\n value !== null &&\n !isNaN(value.length)\n ) {\n params[key] = new Uint8Array(value);\n } else if (isArrayBuffer(value)) {\n params[key] = new Uint8Array(value);\n } else {\n throw new Error(\n \"Invalid PDF binary data: either typed array, \" +\n \"string, or array-like object is expected in the data property.\"\n );\n }\n continue;\n }\n params[key] = value;\n }\n\n params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n params.CMapReaderFactory =\n params.CMapReaderFactory || DefaultCMapReaderFactory;\n params.StandardFontDataFactory =\n params.StandardFontDataFactory || DefaultStandardFontDataFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.fontExtraProperties = params.fontExtraProperties === true;\n params.pdfBug = params.pdfBug === true;\n params.enableXfa = params.enableXfa === true;\n\n if (\n typeof params.docBaseUrl !== \"string\" ||\n isDataScheme(params.docBaseUrl)\n ) {\n // Ignore \"data:\"-URLs, since they can't be used to recover valid absolute\n // URLs anyway. We want to avoid sending them to the worker-thread, since\n // they contain the *entire* PDF document and can thus be arbitrarily long.\n params.docBaseUrl = null;\n }\n if (!Number.isInteger(params.maxImageSize)) {\n params.maxImageSize = -1;\n }\n if (typeof params.useWorkerFetch !== \"boolean\") {\n params.useWorkerFetch =\n params.CMapReaderFactory === DOMCMapReaderFactory &&\n params.StandardFontDataFactory === DOMStandardFontDataFactory;\n }\n if (typeof params.isEvalSupported !== \"boolean\") {\n params.isEvalSupported = true;\n }\n if (typeof params.disableFontFace !== \"boolean\") {\n params.disableFontFace =\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) && isNodeJS;\n }\n if (typeof params.useSystemFonts !== \"boolean\") {\n params.useSystemFonts =\n !(\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n isNodeJS\n ) && !params.disableFontFace;\n }\n if (typeof params.ownerDocument === \"undefined\") {\n params.ownerDocument = globalThis.document;\n }\n\n if (typeof params.disableRange !== \"boolean\") {\n params.disableRange = false;\n }\n if (typeof params.disableStream !== \"boolean\") {\n params.disableStream = false;\n }\n if (typeof params.disableAutoFetch !== \"boolean\") {\n params.disableAutoFetch = false;\n }\n\n // Set the main-thread verbosity level.\n setVerbosityLevel(params.verbosity);\n\n if (!worker) {\n const workerParams = {\n verbosity: params.verbosity,\n port: GlobalWorkerOptions.workerPort,\n };\n // Worker was not provided -- creating and owning our own. If message port\n // is specified in global worker options, using it.\n worker = workerParams.port\n ? PDFWorker.fromPort(workerParams)\n : new PDFWorker(workerParams);\n task._worker = worker;\n }\n const docId = task.docId;\n worker.promise\n .then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const workerIdPromise = _fetchDocument(\n worker,\n params,\n rangeTransport,\n docId\n );\n const networkStreamPromise = new Promise(function (resolve) {\n let networkStream;\n if (rangeTransport) {\n networkStream = new PDFDataTransportStream(\n {\n length: params.length,\n initialData: params.initialData,\n progressiveDone: params.progressiveDone,\n contentDispositionFilename: params.contentDispositionFilename,\n disableRange: params.disableRange,\n disableStream: params.disableStream,\n },\n rangeTransport\n );\n } else if (!params.data) {\n networkStream = createPDFNetworkStream({\n url: params.url,\n length: params.length,\n httpHeaders: params.httpHeaders,\n withCredentials: params.withCredentials,\n rangeChunkSize: params.rangeChunkSize,\n disableRange: params.disableRange,\n disableStream: params.disableStream,\n });\n }\n resolve(networkStream);\n });\n\n return Promise.all([workerIdPromise, networkStreamPromise]).then(\n function ([workerId, networkStream]) {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const messageHandler = new MessageHandler(\n docId,\n workerId,\n worker.port\n );\n const transport = new WorkerTransport(\n messageHandler,\n task,\n networkStream,\n params\n );\n task._transport = transport;\n messageHandler.send(\"Ready\", null);\n }\n );\n })\n .catch(task._capability.reject);\n\n return task;\n}\n\n/**\n * Starts fetching of specified PDF document/data.\n *\n * @param {PDFWorker} worker\n * @param {Object} source\n * @param {PDFDataRangeTransport} pdfDataRangeTransport\n * @param {string} docId - Unique document ID, used in `MessageHandler`.\n * @returns {Promise} A promise that is resolved when the worker ID of\n * the `MessageHandler` is known.\n * @private\n */\nasync function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n throw 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 source.contentDispositionFilename =\n pdfDataRangeTransport.contentDispositionFilename;\n }\n const workerId = await worker.messageHandler.sendWithPromise(\n \"GetDocRequest\",\n {\n docId,\n apiVersion:\n typeof PDFJSDev !== \"undefined\" && !PDFJSDev.test(\"TESTING\")\n ? PDFJSDev.eval(\"BUNDLE_VERSION\")\n : null,\n // Only send the required properties, and *not* the entire object.\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 docBaseUrl: source.docBaseUrl,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported,\n fontExtraProperties: source.fontExtraProperties,\n enableXfa: source.enableXfa,\n useSystemFonts: source.useSystemFonts,\n cMapUrl: source.useWorkerFetch ? source.cMapUrl : null,\n standardFontDataUrl: source.useWorkerFetch\n ? source.standardFontDataUrl\n : null,\n }\n );\n\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n return workerId;\n}\n\n/**\n * @typedef {Object} OnProgressParameters\n * @property {number} loaded - Currently loaded number of bytes.\n * @property {number} total - Total number of bytes in the PDF file.\n */\n\n/**\n * The loading task controls the operations required to load a PDF document\n * (such as network requests) and provides a way to listen for completion,\n * after which individual pages can be rendered.\n */\nclass PDFDocumentLoadingTask {\n static get idCounters() {\n return shadow(this, \"idCounters\", { doc: 0 });\n }\n\n constructor() {\n this._capability = createPromiseCapability();\n this._transport = null;\n this._worker = null;\n\n /**\n * Unique identifier for the document loading task.\n * @type {string}\n */\n this.docId = `d${PDFDocumentLoadingTask.idCounters.doc++}`;\n\n /**\n * Whether the loading task is destroyed or not.\n * @type {boolean}\n */\n this.destroyed = false;\n\n /**\n * Callback to request a password if a wrong or no password was provided.\n * The callback receives two parameters: a function that should be called\n * with the new password, and a reason (see {@link PasswordResponses}).\n * @type {function}\n */\n this.onPassword = null;\n\n /**\n * Callback to be able to monitor the loading progress of the PDF file\n * (necessary to implement e.g. a loading bar).\n * The callback receives an {@link OnProgressParameters} argument.\n * @type {function}\n */\n this.onProgress = null;\n\n /**\n * Callback for when an unsupported feature is used in the PDF document.\n * The callback receives an {@link UNSUPPORTED_FEATURES} argument.\n * @type {function}\n */\n this.onUnsupportedFeature = null;\n }\n\n /**\n * Promise for document loading task completion.\n * @type {Promise}\n */\n get promise() {\n return this._capability.promise;\n }\n\n /**\n * Abort all network requests and destroy the worker.\n * @returns {Promise} A promise that is resolved when destruction is\n * completed.\n */\n async destroy() {\n this.destroyed = true;\n await this._transport?.destroy();\n\n this._transport = null;\n if (this._worker) {\n this._worker.destroy();\n this._worker = null;\n }\n }\n}\n\n/**\n * Abstract class to support range requests file loading.\n */\nclass PDFDataRangeTransport {\n /**\n * @param {number} length\n * @param {Uint8Array} initialData\n * @param {boolean} [progressiveDone]\n * @param {string} [contentDispositionFilename]\n */\n constructor(\n length,\n initialData,\n progressiveDone = false,\n contentDispositionFilename = null\n ) {\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this.contentDispositionFilename = contentDispositionFilename;\n\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = createPromiseCapability();\n }\n\n addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n\n addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n\n addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n\n addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n\n onDataRange(begin, chunk) {\n for (const listener of this._rangeListeners) {\n listener(begin, chunk);\n }\n }\n\n onDataProgress(loaded, total) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressListeners) {\n listener(loaded, total);\n }\n });\n }\n\n onDataProgressiveRead(chunk) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveReadListeners) {\n listener(chunk);\n }\n });\n }\n\n onDataProgressiveDone() {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveDoneListeners) {\n listener();\n }\n });\n }\n\n transportReady() {\n this._readyCapability.resolve();\n }\n\n requestDataRange(begin, end) {\n unreachable(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n }\n\n abort() {}\n}\n\n/**\n * Proxy to a `PDFDocument` in the worker thread.\n */\nclass PDFDocumentProxy {\n constructor(pdfInfo, transport) {\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n Object.defineProperty(this, \"fingerprint\", {\n get() {\n deprecated(\n \"`PDFDocumentProxy.fingerprint`, \" +\n \"please use `PDFDocumentProxy.fingerprints` instead.\"\n );\n return this.fingerprints[0];\n },\n });\n\n Object.defineProperty(this, \"getStats\", {\n value: async () => {\n deprecated(\n \"`PDFDocumentProxy.getStats`, \" +\n \"please use the `PDFDocumentProxy.stats`-getter instead.\"\n );\n return this.stats || { streamTypes: {}, fontTypes: {} };\n },\n });\n }\n }\n\n /**\n * @type {AnnotationStorage} Storage for annotation data in forms.\n */\n get annotationStorage() {\n return this._transport.annotationStorage;\n }\n\n /**\n * @type {number} Total number of pages in the PDF file.\n */\n get numPages() {\n return this._pdfInfo.numPages;\n }\n\n /**\n * @type {Array} A (not guaranteed to be) unique ID to\n * identify the PDF document.\n * NOTE: The first element will always be defined for all PDF documents,\n * whereas the second element is only defined for *modified* PDF documents.\n */\n get fingerprints() {\n return this._pdfInfo.fingerprints;\n }\n\n /**\n * @typedef {Object} PDFDocumentStats\n * @property {Object} streamTypes - Used stream types in the\n * document (an item is set to true if specific stream ID was used in the\n * document).\n * @property {Object} fontTypes - Used font types in the\n * document (an item is set to true if specific font ID was used in the\n * document).\n */\n\n /**\n * @type {PDFDocumentStats | null} The current statistics about document\n * structures, or `null` when no statistics exists.\n */\n get stats() {\n return this._transport.stats;\n }\n\n /**\n * @type {boolean} True if only XFA form.\n */\n get isPureXfa() {\n return !!this._transport._htmlForXfa;\n }\n\n /**\n * NOTE: This is (mostly) intended to support printing of XFA forms.\n *\n * @type {Object | null} An object representing a HTML tree structure\n * to render the XFA, or `null` when no XFA form exists.\n */\n get allXfaHtml() {\n return this._transport._htmlForXfa;\n }\n\n /**\n * @param {number} pageNumber - The page number to get. The first page is 1.\n * @returns {Promise} A promise that is resolved with\n * a {@link PDFPageProxy} object.\n */\n getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n\n /**\n * @param {RefProxy} ref - The page reference.\n * @returns {Promise} A promise that is resolved with the page index,\n * starting from zero, that is associated with the reference.\n */\n getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n\n /**\n * @returns {Promise>>} A promise that is resolved\n * with a mapping from named destinations to references.\n *\n * This can be slow for large documents. Use `getDestination` instead.\n */\n getDestinations() {\n return this._transport.getDestinations();\n }\n\n /**\n * @param {string} id - The named destination to get.\n * @returns {Promise | null>} A promise that is resolved with all\n * information of the given named destination, or `null` when the named\n * destination is not present in the PDF file.\n */\n getDestination(id) {\n return this._transport.getDestination(id);\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with\n * an {Array} containing the page labels that correspond to the page\n * indexes, or `null` when no page labels are present in the PDF file.\n */\n getPageLabels() {\n return this._transport.getPageLabels();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a {string}\n * containing the page layout name.\n */\n getPageLayout() {\n return this._transport.getPageLayout();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a {string}\n * containing the page mode name.\n */\n getPageMode() {\n return this._transport.getPageMode();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an\n * {Object} containing the viewer preferences, or `null` when no viewer\n * preferences are present in the PDF file.\n */\n getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an {Array}\n * containing the destination, or `null` when no open action is present\n * in the PDF.\n */\n getOpenAction() {\n return this._transport.getOpenAction();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a lookup table\n * for mapping named attachments to their content.\n */\n getAttachments() {\n return this._transport.getAttachments();\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with\n * an {Array} of all the JavaScript strings in the name tree, or `null`\n * if no JavaScript exists.\n */\n getJavaScript() {\n return this._transport.getJavaScript();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with\n * an {Object} with the JavaScript actions:\n * - from the name tree (like getJavaScript);\n * - from A or AA entries in the catalog dictionary.\n * , or `null` if no JavaScript exists.\n */\n getJSActions() {\n return this._transport.getDocJSActions();\n }\n\n /**\n * @typedef {Object} OutlineNode\n * @property {string} title\n * @property {boolean} bold\n * @property {boolean} italic\n * @property {Uint8ClampedArray} color - The color in RGB format to use for\n * display purposes.\n * @property {string | Array | null} dest\n * @property {string | null} url\n * @property {string | undefined} unsafeUrl\n * @property {boolean | undefined} newWindow\n * @property {number | undefined} count\n * @property {Array} items\n */\n\n /**\n * @returns {Promise>} A promise that is resolved with an\n * {Array} that is a tree outline (if it has one) of the PDF file.\n */\n getOutline() {\n return this._transport.getOutline();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with\n * an {@link OptionalContentConfig} that contains all the optional content\n * groups (assuming that the document has any).\n */\n getOptionalContentConfig() {\n return this._transport.getOptionalContentConfig();\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with\n * an {Array} that contains the permission flags for the PDF document, or\n * `null` when no permissions are present in the PDF file.\n */\n getPermissions() {\n return this._transport.getPermissions();\n }\n\n /**\n * @returns {Promise<{ info: Object, metadata: Metadata }>} A promise that is\n * resolved with an {Object} that has `info` and `metadata` properties.\n * `info` is an {Object} filled with anything available in the information\n * dictionary and similarly `metadata` is a {Metadata} object with\n * information from the metadata section of the PDF.\n */\n getMetadata() {\n return this._transport.getMetadata();\n }\n\n /**\n * @typedef {Object} MarkInfo\n * Properties correspond to Table 321 of the PDF 32000-1:2008 spec.\n * @property {boolean} Marked\n * @property {boolean} UserProperties\n * @property {boolean} Suspects\n */\n\n /**\n * @returns {Promise} A promise that is resolved with\n * a {MarkInfo} object that contains the MarkInfo flags for the PDF\n * document, or `null` when no MarkInfo values are present in the PDF file.\n */\n getMarkInfo() {\n return this._transport.getMarkInfo();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a\n * {TypedArray} that has the raw data from the PDF.\n */\n getData() {\n return this._transport.getData();\n }\n\n /**\n * @returns {Promise<{ length: number }>} A promise that is resolved when the\n * document's data is loaded. It is resolved with an {Object} that contains\n * the `length` property that indicates size of the PDF data in bytes.\n */\n getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n\n /**\n * Cleans up resources allocated by the document on both the main and worker\n * threads.\n *\n * NOTE: Do not, under any circumstances, call this method when rendering is\n * currently ongoing since that may lead to rendering errors.\n *\n * @param {boolean} [keepLoadedFonts] - Let fonts remain attached to the DOM.\n * NOTE: This will increase persistent memory usage, hence don't use this\n * option unless absolutely necessary. The default value is `false`.\n * @returns {Promise} A promise that is resolved when clean-up has finished.\n */\n cleanup(keepLoadedFonts = false) {\n return this._transport.startCleanup(keepLoadedFonts || this.isPureXfa);\n }\n\n /**\n * Destroys the current document instance and terminates the worker.\n */\n destroy() {\n return this.loadingTask.destroy();\n }\n\n /**\n * @type {DocumentInitParameters} A subset of the current\n * {DocumentInitParameters}, which are needed in the viewer.\n */\n get loadingParams() {\n return this._transport.loadingParams;\n }\n\n /**\n * @type {PDFDocumentLoadingTask} The loadingTask for the current document.\n */\n get loadingTask() {\n return this._transport.loadingTask;\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a\n * {Uint8Array} containing the full data of the saved document.\n */\n saveDocument() {\n if (\n (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) &&\n this._transport.annotationStorage.size <= 0\n ) {\n deprecated(\n \"saveDocument called while `annotationStorage` is empty, \" +\n \"please use the getData-method instead.\"\n );\n }\n return this._transport.saveDocument();\n }\n\n /**\n * @returns {Promise> | null>} A promise that is\n * resolved with an {Object} containing /AcroForm field data for the JS\n * sandbox, or `null` when no field data is present in the PDF file.\n */\n getFieldObjects() {\n return this._transport.getFieldObjects();\n }\n\n /**\n * @returns {Promise} A promise that is resolved with `true`\n * if some /AcroForm fields have JavaScript actions.\n */\n hasJSActions() {\n return this._transport.hasJSActions();\n }\n\n /**\n * @returns {Promise | null>} A promise that is resolved with an\n * {Array} containing IDs of annotations that have a calculation\n * action, or `null` when no such annotations are present in the PDF file.\n */\n getCalculationOrderIds() {\n return this._transport.getCalculationOrderIds();\n }\n}\n\n/**\n * Page getViewport parameters.\n *\n * @typedef {Object} GetViewportParameters\n * @property {number} scale - The desired scale of the viewport.\n * @property {number} [rotation] - The desired rotation, in degrees, of\n * the viewport. If omitted it defaults to the page rotation.\n * @property {number} [offsetX] - The horizontal, i.e. x-axis, offset.\n * The default value is `0`.\n * @property {number} [offsetY] - The vertical, i.e. y-axis, offset.\n * The default value is `0`.\n * @property {boolean} [dontFlip] - If true, the y-axis will not be\n * flipped. The default value is `false`.\n */\n\n/**\n * Page getTextContent parameters.\n *\n * @typedef {Object} getTextContentParameters\n * @property {boolean} disableCombineTextItems - Do not attempt to combine\n * same line {@link TextItem}'s. The default value is `false`.\n * @property {boolean} [includeMarkedContent] - When true include marked\n * content items in the items array of TextContent. The default is `false`.\n */\n\n/**\n * Page text content.\n *\n * @typedef {Object} TextContent\n * @property {Array} items - Array of\n * {@link TextItem} and {@link TextMarkedContent} objects. TextMarkedContent\n * items are included when includeMarkedContent is true.\n * @property {Object} styles - {@link TextStyle} objects,\n * indexed by font name.\n */\n\n/**\n * Page text content part.\n *\n * @typedef {Object} TextItem\n * @property {string} str - Text content.\n * @property {string} dir - Text direction: 'ttb', 'ltr' or 'rtl'.\n * @property {Array} transform - Transformation matrix.\n * @property {number} width - Width in device space.\n * @property {number} height - Height in device space.\n * @property {string} fontName - Font name used by PDF.js for converted font.\n * @property {boolean} hasEOL - Indicating if the text content is followed by a\n * line-break.\n */\n\n/**\n * Page text marked content part.\n *\n * @typedef {Object} TextMarkedContent\n * @property {string} type - Either 'beginMarkedContent',\n * 'beginMarkedContentProps', or 'endMarkedContent'.\n * @property {string} id - The marked content identifier. Only used for type\n * 'beginMarkedContentProps'.\n */\n\n/**\n * Text style.\n *\n * @typedef {Object} TextStyle\n * @property {number} ascent - Font ascent.\n * @property {number} descent - Font descent.\n * @property {boolean} vertical - Whether or not the text is in vertical mode.\n * @property {string} fontFamily - The possible font family.\n */\n\n/**\n * Page annotation parameters.\n *\n * @typedef {Object} GetAnnotationsParameters\n * @property {string} [intent] - Determines the annotations that are fetched,\n * can be 'display' (viewable annotations), 'print' (printable annotations),\n * or 'any' (all annotations). The default value is 'display'.\n */\n\n/**\n * Page render parameters.\n *\n * @typedef {Object} RenderParameters\n * @property {Object} canvasContext - A 2D context of a DOM Canvas object.\n * @property {PageViewport} viewport - Rendering viewport obtained by calling\n * the `PDFPageProxy.getViewport` method.\n * @property {string} [intent] - Rendering intent, can be 'display', 'print',\n * or 'any'. The default value is 'display'.\n * @property {number} [annotationMode] Controls which annotations are rendered\n * onto the canvas, for annotations with appearance-data; the values from\n * {@link AnnotationMode} should be used. The following values are supported:\n * - `AnnotationMode.DISABLE`, which disables all annotations.\n * - `AnnotationMode.ENABLE`, which includes all possible annotations (thus\n * it also depends on the `intent`-option, see above).\n * - `AnnotationMode.ENABLE_FORMS`, which excludes annotations that contain\n * interactive form elements (those will be rendered in the display layer).\n * - `AnnotationMode.ENABLE_STORAGE`, which includes all possible annotations\n * (as above) but where interactive form elements are updated with data\n * from the {@link AnnotationStorage}-instance; useful e.g. for printing.\n * The default value is `AnnotationMode.ENABLE`.\n * @property {Array} [transform] - Additional transform, applied just\n * before viewport transform.\n * @property {Object} [imageLayer] - An object that has `beginLayout`,\n * `endLayout` and `appendImage` functions.\n * @property {Object} [canvasFactory] - The factory instance that will be used\n * when creating canvases. The default value is {new DOMCanvasFactory()}.\n * @property {Object | string} [background] - Background to use for the canvas.\n * Any valid `canvas.fillStyle` can be used: a `DOMString` parsed as CSS\n * value, a `CanvasGradient` object (a linear or radial gradient) or\n * a `CanvasPattern` object (a repetitive image). The default value is\n * 'rgb(255,255,255)'.\n * @property {Promise} [optionalContentConfigPromise] -\n * A promise that should resolve with an {@link OptionalContentConfig}\n * created from `PDFDocumentProxy.getOptionalContentConfig`. If `null`,\n * the configuration will be fetched automatically with the default visibility\n * states set.\n * @property {Map} [annotationCanvasMap] - Map some\n * annotation ids with canvases used to render them.\n */\n\n/**\n * Page getOperatorList parameters.\n *\n * @typedef {Object} GetOperatorListParameters\n * @property {string} [intent] - Rendering intent, can be 'display', 'print',\n * or 'any'. The default value is 'display'.\n * @property {number} [annotationMode] Controls which annotations are included\n * in the operatorList, for annotations with appearance-data; the values from\n * {@link AnnotationMode} should be used. The following values are supported:\n * - `AnnotationMode.DISABLE`, which disables all annotations.\n * - `AnnotationMode.ENABLE`, which includes all possible annotations (thus\n * it also depends on the `intent`-option, see above).\n * - `AnnotationMode.ENABLE_FORMS`, which excludes annotations that contain\n * interactive form elements (those will be rendered in the display layer).\n * - `AnnotationMode.ENABLE_STORAGE`, which includes all possible annotations\n * (as above) but where interactive form elements are updated with data\n * from the {@link AnnotationStorage}-instance; useful e.g. for printing.\n * The default value is `AnnotationMode.ENABLE`.\n */\n\n/**\n * Structure tree node. The root node will have a role \"Root\".\n *\n * @typedef {Object} StructTreeNode\n * @property {Array} children - Array of\n * {@link StructTreeNode} and {@link StructTreeContent} objects.\n * @property {string} role - element's role, already mapped if a role map exists\n * in the PDF.\n */\n\n/**\n * Structure tree content.\n *\n * @typedef {Object} StructTreeContent\n * @property {string} type - either \"content\" for page and stream structure\n * elements or \"object\" for object references.\n * @property {string} id - unique id that will map to the text layer.\n */\n\n/**\n * PDF page operator list.\n *\n * @typedef {Object} PDFOperatorList\n * @property {Array} fnArray - Array containing the operator functions.\n * @property {Array} argsArray - Array containing the arguments of the\n * functions.\n */\n\n/**\n * Proxy to a `PDFPage` in the worker thread.\n */\nclass PDFPageProxy {\n constructor(pageIndex, pageInfo, transport, ownerDocument, pdfBug = false) {\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._ownerDocument = ownerDocument;\n this._transport = transport;\n this._stats = pdfBug ? new StatTimer() : null;\n this._pdfBug = pdfBug;\n /** @type {PDFObjects} */\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n\n this.cleanupAfterRender = false;\n this.pendingCleanup = false;\n this._intentStates = new Map();\n this._annotationPromises = new Map();\n this.destroyed = false;\n }\n\n /**\n * @type {number} Page number of the page. First page is 1.\n */\n get pageNumber() {\n return this._pageIndex + 1;\n }\n\n /**\n * @type {number} The number of degrees the page is rotated clockwise.\n */\n get rotate() {\n return this._pageInfo.rotate;\n }\n\n /**\n * @type {RefProxy | null} The reference that points to this page.\n */\n get ref() {\n return this._pageInfo.ref;\n }\n\n /**\n * @type {number} The default size of units in 1/72nds of an inch.\n */\n get userUnit() {\n return this._pageInfo.userUnit;\n }\n\n /**\n * @type {Array} An array of the visible portion of the PDF page in\n * user space units [x1, y1, x2, y2].\n */\n get view() {\n return this._pageInfo.view;\n }\n\n /**\n * @param {GetViewportParameters} params - Viewport parameters.\n * @returns {PageViewport} Contains 'width' and 'height' properties\n * along with transforms required for rendering.\n */\n getViewport({\n scale,\n rotation = this.rotate,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false,\n } = {}) {\n return new PageViewport({\n viewBox: this.view,\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip,\n });\n }\n\n /**\n * @param {GetAnnotationsParameters} params - Annotation parameters.\n * @returns {Promise>} A promise that is resolved with an\n * {Array} of the annotation objects.\n */\n getAnnotations({ intent = \"display\" } = {}) {\n const intentArgs = this._transport.getRenderingIntent(intent);\n\n let promise = this._annotationPromises.get(intentArgs.cacheKey);\n if (!promise) {\n promise = this._transport.getAnnotations(\n this._pageIndex,\n intentArgs.renderingIntent\n );\n this._annotationPromises.set(intentArgs.cacheKey, promise);\n\n if (typeof PDFJSDev === \"undefined\" || PDFJSDev.test(\"GENERIC\")) {\n promise = promise.then(annotations => {\n for (const annotation of annotations) {\n if (annotation.titleObj !== undefined) {\n Object.defineProperty(annotation, \"title\", {\n get() {\n deprecated(\n \"`title`-property on annotation, please use `titleObj` instead.\"\n );\n return annotation.titleObj.str;\n },\n });\n }\n if (annotation.contentsObj !== undefined) {\n Object.defineProperty(annotation, \"contents\", {\n get() {\n deprecated(\n \"`contents`-property on annotation, please use `contentsObj` instead.\"\n );\n return annotation.contentsObj.str;\n },\n });\n }\n }\n return annotations;\n });\n }\n }\n return promise;\n }\n\n /**\n * @returns {Promise} A promise that is resolved with an\n * {Object} with JS actions.\n */\n getJSActions() {\n return (this._jsActionsPromise ||= this._transport.getPageJSActions(\n this._pageIndex\n ));\n }\n\n /**\n * @returns {Promise} A promise that is resolved with\n * an {Object} with a fake DOM object (a tree structure where elements\n * are {Object} with a name, attributes (class, style, ...), value and\n * children, very similar to a HTML DOM tree), or `null` if no XFA exists.\n */\n async getXfa() {\n return this._transport._htmlForXfa?.children[this._pageIndex] || null;\n }\n\n /**\n * Begins the process of rendering a page to the desired context.\n *\n * @param {RenderParameters} params - Page render parameters.\n * @returns {RenderTask} An object that contains a promise that is\n * resolved when the page finishes rendering.\n */\n render({\n canvasContext,\n viewport,\n intent = \"display\",\n annotationMode = AnnotationMode.ENABLE,\n transform = null,\n imageLayer = null,\n canvasFactory = null,\n background = null,\n optionalContentConfigPromise = null,\n annotationCanvasMap = null,\n }) {\n if (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\")) {\n if (arguments[0]?.renderInteractiveForms !== undefined) {\n deprecated(\n \"render no longer accepts the `renderInteractiveForms`-option, \" +\n \"please use the `annotationMode`-option instead.\"\n );\n if (\n arguments[0].renderInteractiveForms === true &&\n annotationMode === AnnotationMode.ENABLE\n ) {\n annotationMode = AnnotationMode.ENABLE_FORMS;\n }\n }\n if (arguments[0]?.includeAnnotationStorage !== undefined) {\n deprecated(\n \"render no longer accepts the `includeAnnotationStorage`-option, \" +\n \"please use the `annotationMode`-option instead.\"\n );\n if (\n arguments[0].includeAnnotationStorage === true &&\n annotationMode === AnnotationMode.ENABLE\n ) {\n annotationMode = AnnotationMode.ENABLE_STORAGE;\n }\n }\n }\n\n if (this._stats) {\n this._stats.time(\"Overall\");\n }\n\n const intentArgs = this._transport.getRenderingIntent(\n intent,\n annotationMode\n );\n // If there was a pending destroy, cancel it so no cleanup happens during\n // this call to render.\n this.pendingCleanup = false;\n\n if (!optionalContentConfigPromise) {\n optionalContentConfigPromise = this._transport.getOptionalContentConfig();\n }\n\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n\n // Ensure that a pending `streamReader` cancel timeout is always aborted.\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n const canvasFactoryInstance =\n canvasFactory ||\n new DefaultCanvasFactory({ ownerDocument: this._ownerDocument });\n const intentPrint = !!(\n intentArgs.renderingIntent & RenderingIntentFlag.PRINT\n );\n\n // If there's no displayReadyCapability yet, then the operatorList\n // was never requested before. Make the request and create the promise.\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = 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 this._pumpOperatorList(intentArgs);\n }\n\n const complete = error => {\n intentState.renderTasks.delete(internalRenderTask);\n\n // Attempt to reduce memory usage during *printing*, by always running\n // cleanup once rendering has finished (regardless of cleanupAfterRender).\n if (this.cleanupAfterRender || intentPrint) {\n this.pendingCleanup = true;\n }\n this._tryCleanup();\n\n if (error) {\n internalRenderTask.capability.reject(error);\n\n this._abortOperatorList({\n intentState,\n reason: error instanceof Error ? error : new Error(error),\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n if (this._stats) {\n this._stats.timeEnd(\"Rendering\");\n this._stats.timeEnd(\"Overall\");\n }\n };\n\n const internalRenderTask = new InternalRenderTask({\n callback: complete,\n // Only include the required properties, and *not* the entire object.\n params: {\n canvasContext,\n viewport,\n transform,\n imageLayer,\n background,\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n annotationCanvasMap,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: canvasFactoryInstance,\n useRequestAnimationFrame: !intentPrint,\n pdfBug: this._pdfBug,\n });\n\n (intentState.renderTasks ||= new Set()).add(internalRenderTask);\n const renderTask = internalRenderTask.task;\n\n Promise.all([\n intentState.displayReadyCapability.promise,\n optionalContentConfigPromise,\n ])\n .then(([transparency, optionalContentConfig]) => {\n if (this.pendingCleanup) {\n complete();\n return;\n }\n if (this._stats) {\n this._stats.time(\"Rendering\");\n }\n internalRenderTask.initializeGraphics({\n transparency,\n optionalContentConfig,\n });\n internalRenderTask.operatorListChanged();\n })\n .catch(complete);\n\n return renderTask;\n }\n\n /**\n * @param {GetOperatorListParameters} params - Page getOperatorList\n * parameters.\n * @returns {Promise} A promise resolved with an\n * {@link PDFOperatorList} object that represents the page's operator list.\n */\n getOperatorList({\n intent = \"display\",\n annotationMode = AnnotationMode.ENABLE,\n } = {}) {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n\n intentState.renderTasks.delete(opListTask);\n }\n }\n\n const intentArgs = this._transport.getRenderingIntent(\n intent,\n annotationMode,\n /* isOpList = */ true\n );\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n let opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = Object.create(null);\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = createPromiseCapability();\n (intentState.renderTasks ||= new Set()).add(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 this._pumpOperatorList(intentArgs);\n }\n return intentState.opListReadCapability.promise;\n }\n\n /**\n * NOTE: All occurrences of whitespace will be replaced by\n * standard spaces (0x20).\n *\n * @param {getTextContentParameters} params - getTextContent parameters.\n * @returns {ReadableStream} Stream for reading text content chunks.\n */\n streamTextContent({\n disableCombineTextItems = false,\n includeMarkedContent = false,\n } = {}) {\n const TEXT_CONTENT_CHUNK_SIZE = 100;\n\n return this._transport.messageHandler.sendWithStream(\n \"GetTextContent\",\n {\n pageIndex: this._pageIndex,\n combineTextItems: disableCombineTextItems !== true,\n includeMarkedContent: includeMarkedContent === true,\n },\n {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size(textContent) {\n return textContent.items.length;\n },\n }\n );\n }\n\n /**\n * NOTE: All occurrences of whitespace will be replaced by\n * standard spaces (0x20).\n *\n * @param {getTextContentParameters} params - getTextContent parameters.\n * @returns {Promise} A promise that is resolved with a\n * {@link TextContent} object that represents the page's text content.\n */\n getTextContent(params = {}) {\n if (this._transport._htmlForXfa) {\n // TODO: We need to revisit this once the XFA foreground patch lands and\n // only do this for non-foreground XFA.\n return this.getXfa().then(xfa => {\n return XfaText.textContent(xfa);\n });\n }\n const readableStream = this.streamTextContent(params);\n\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function ({ value, done }) {\n if (done) {\n resolve(textContent);\n return;\n }\n Object.assign(textContent.styles, value.styles);\n textContent.items.push(...value.items);\n pump();\n }, reject);\n }\n\n const reader = readableStream.getReader();\n const textContent = {\n items: [],\n styles: Object.create(null),\n };\n pump();\n });\n }\n\n /**\n * @returns {Promise} A promise that is resolved with a\n * {@link StructTreeNode} object that represents the page's structure tree,\n * or `null` when no structure tree is present for the current page.\n */\n getStructTree() {\n return (this._structTreePromise ||= this._transport.getStructTree(\n this._pageIndex\n ));\n }\n\n /**\n * Destroys the page object.\n * @private\n */\n _destroy() {\n this.destroyed = true;\n\n const waitOn = [];\n for (const intentState of this._intentStates.values()) {\n this._abortOperatorList({\n intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true,\n });\n\n if (intentState.opListReadCapability) {\n // Avoid errors below, since the renderTasks are just stubs.\n continue;\n }\n for (const internalRenderTask of intentState.renderTasks) {\n waitOn.push(internalRenderTask.completed);\n internalRenderTask.cancel();\n }\n }\n this.objs.clear();\n this._annotationPromises.clear();\n this._jsActionsPromise = null;\n this._structTreePromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n }\n\n /**\n * Cleans up resources allocated by the page.\n *\n * @param {boolean} [resetStats] - Reset page stats, if enabled.\n * The default value is `false`.\n * @returns {boolean} Indicates if clean-up was successfully run.\n */\n cleanup(resetStats = false) {\n this.pendingCleanup = true;\n return this._tryCleanup(resetStats);\n }\n\n /**\n * Attempts to clean up if rendering is in a state where that's possible.\n * @private\n */\n _tryCleanup(resetStats = false) {\n if (!this.pendingCleanup) {\n return false;\n }\n for (const { renderTasks, operatorList } of this._intentStates.values()) {\n if (renderTasks.size > 0 || !operatorList.lastChunk) {\n return false;\n }\n }\n\n this._intentStates.clear();\n this.objs.clear();\n this._annotationPromises.clear();\n this._jsActionsPromise = null;\n this._structTreePromise = null;\n if (resetStats && this._stats) {\n this._stats = new StatTimer();\n }\n this.pendingCleanup = false;\n return true;\n }\n\n /**\n * @private\n */\n _startRenderPage(transparency, cacheKey) {\n const intentState = this._intentStates.get(cacheKey);\n if (!intentState) {\n return; // Rendering was cancelled.\n }\n if (this._stats) {\n this._stats.timeEnd(\"Page Request\");\n }\n // TODO Refactor RenderPageRequest to separate rendering\n // and operator list logic\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n }\n\n /**\n * @private\n */\n _renderPageChunk(operatorListChunk, intentState) {\n // Add the new chunk to the current operator list.\n for (let i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n\n // Notify all the rendering tasks there are more operators to be consumed.\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n this._tryCleanup();\n }\n }\n\n /**\n * @private\n */\n _pumpOperatorList({ renderingIntent, cacheKey }) {\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\n assert(\n Number.isInteger(renderingIntent) && renderingIntent > 0,\n '_pumpOperatorList: Expected valid \"renderingIntent\" argument.'\n );\n }\n\n const readableStream = this._transport.messageHandler.sendWithStream(\n \"GetOperatorList\",\n {\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n cacheKey,\n annotationStorage:\n renderingIntent & RenderingIntentFlag.ANNOTATIONS_STORAGE\n ? this._transport.annotationStorage.serializable\n : null,\n }\n );\n const reader = readableStream.getReader();\n\n const intentState = this._intentStates.get(cacheKey);\n intentState.streamReader = reader;\n\n const pump = () => {\n reader.read().then(\n ({ value, done }) => {\n if (done) {\n intentState.streamReader = null;\n return;\n }\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n this._renderPageChunk(value, intentState);\n pump();\n },\n reason => {\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n if (intentState.operatorList) {\n // Mark operator list as complete.\n intentState.operatorList.lastChunk = true;\n\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n this._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 /**\n * @private\n */\n _abortOperatorList({ intentState, reason, force = false }) {\n if (\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"!PRODUCTION || TESTING\")\n ) {\n assert(\n reason instanceof Error,\n '_abortOperatorList: Expected valid \"reason\" argument.'\n );\n }\n\n if (!intentState.streamReader) {\n return;\n }\n if (!force) {\n // Ensure that an Error occurring in *only* one `InternalRenderTask`, e.g.\n // multiple render() calls on the same canvas, won't break all rendering.\n if (intentState.renderTasks.size > 0) {\n return;\n }\n // Don't immediately abort parsing on the worker-thread when rendering is\n // cancelled, since that will unnecessarily delay re-rendering when (for\n // partially parsed pages) e.g. zooming/rotation occurs in the viewer.\n if (reason instanceof RenderingCancelledException) {\n intentState.streamReaderCancelTimeout = setTimeout(() => {\n this._abortOperatorList({ intentState, reason, force: true });\n intentState.streamReaderCancelTimeout = null;\n }, RENDERING_CANCELLED_TIMEOUT);\n return;\n }\n }\n intentState.streamReader\n .cancel(new AbortException(reason.message))\n .catch(() => {\n // Avoid \"Uncaught promise\" messages in the console.\n });\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return; // Ignore any pending requests if the worker was terminated.\n }\n // Remove the current `intentState`, since a cancelled `getOperatorList`\n // call on the worker-thread cannot be re-started...\n for (const [curCacheKey, curIntentState] of this._intentStates) {\n if (curIntentState === intentState) {\n this._intentStates.delete(curCacheKey);\n break;\n }\n }\n // ... and force clean-up to ensure that any old state is always removed.\n this.cleanup();\n }\n\n /**\n * @type {Object} Returns page stats, if enabled; returns `null` otherwise.\n */\n get stats() {\n return this._stats;\n }\n}\n\nclass LoopbackPort {\n constructor() {\n this._listeners = [];\n this._deferred = Promise.resolve();\n }\n\n postMessage(obj, transfers) {\n const event = {\n data:\n typeof PDFJSDev === \"undefined\" ||\n PDFJSDev.test(\"SKIP_BABEL\") ||\n transfers\n ? structuredClone(obj, transfers)\n : structuredClone(obj),\n };\n\n this._deferred.then(() => {\n for (const listener of this._listeners) {\n listener.call(this, event);\n }\n });\n }\n\n addEventListener(name, listener) {\n this._listeners.push(listener);\n }\n\n removeEventListener(name, listener) {\n const i = this._listeners.indexOf(listener);\n this._listeners.splice(i, 1);\n }\n\n terminate() {\n this._listeners.length = 0;\n }\n}\n\n/**\n * @typedef {Object} PDFWorkerParameters\n * @property {string} [name] - The name of the worker.\n * @property {Object} [port] - The `workerPort` object.\n * @property {number} [verbosity] - Controls the logging level;\n * the constants from {@link VerbosityLevel} should be used.\n */\n\nconst PDFWorkerUtil = {\n isWorkerDisabled: false,\n fallbackWorkerSrc: null,\n fakeWorkerId: 0,\n};\nif (typeof PDFJSDev !== \"undefined\" && PDFJSDev.test(\"GENERIC\")) {\n // eslint-disable-next-line no-undef\n if (isNodeJS && typeof __non_webpack_require__ === \"function\") {\n // Workers aren't supported in Node.js, force-disabling them there.\n PDFWorkerUtil.isWorkerDisabled = true;\n\n PDFWorkerUtil.fallbackWorkerSrc = PDFJSDev.test(\"LIB\")\n ? \"../pdf.worker.js\"\n : \"./pdf.worker.js\";\n } else if (typeof document === \"object\") {\n const pdfjsFilePath = document?.currentScript?.src;\n if (pdfjsFilePath) {\n PDFWorkerUtil.fallbackWorkerSrc = pdfjsFilePath.replace(\n /(\\.(?:min\\.)?js)(\\?.*)?$/i,\n \".worker$1$2\"\n );\n }\n }\n\n PDFWorkerUtil.createCDNWrapper = function (url) {\n // We will rely on blob URL's property to specify origin.\n // We want this function to fail in case if createObjectURL or Blob do not\n // exist or fail for some reason -- our Worker creation will fail anyway.\n const wrapper = `importScripts(\"${url}\");`;\n return URL.createObjectURL(new Blob([wrapper]));\n };\n}\n\n/**\n * PDF.js web worker abstraction that controls the instantiation of PDF\n * documents. Message handlers are used to pass information from the main\n * thread to the worker thread and vice versa. If the creation of a web\n * worker is not possible, a \"fake\" worker will be used instead.\n *\n * @param {PDFWorkerParameters} params - The worker initialization parameters.\n */\nclass PDFWorker {\n static get _workerPorts() {\n return shadow(this, \"_workerPorts\", new WeakMap());\n }\n\n constructor({\n name = null,\n port = null,\n verbosity = getVerbosityLevel(),\n } = {}) {\n if (port && PDFWorker._workerPorts.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.verbosity = verbosity;\n\n this._readyCapability = createPromiseCapability();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n\n if (port) {\n PDFWorker._workerPorts.set(port, this);\n this._initializeFromPort(port);\n return;\n }\n this._initialize();\n }\n\n /**\n * Promise for worker initialization completion.\n * @type {Promise}\n */\n get promise() {\n return this._readyCapability.promise;\n }\n\n /**\n * The current `workerPort`, when it exists.\n * @type {Worker}\n */\n get port() {\n return this._port;\n }\n\n /**\n * The current MessageHandler-instance.\n * @type {MessageHandler}\n */\n get messageHandler() {\n return this._messageHandler;\n }\n\n _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new MessageHandler(\"main\", \"worker\", port);\n this._messageHandler.on(\"ready\", function () {\n // Ignoring \"ready\" event -- MessageHandler should already be initialized\n // and ready to accept messages.\n });\n this._readyCapability.resolve();\n }\n\n _initialize() {\n // If worker support isn't disabled explicit and the browser has worker\n // support, create a new web worker and test if it/the browser fulfills\n // all requirements to run parts of pdf.js in a web worker.\n // Right now, the requirement is, that an Uint8Array is still an\n // Uint8Array as it arrives on the worker. (Chrome added this with v.15.)\n if (\n typeof Worker !== \"undefined\" &&\n !PDFWorkerUtil.isWorkerDisabled &&\n !PDFWorker._mainThreadWorkerMessageHandler\n ) {\n let workerSrc = PDFWorker.workerSrc;\n\n try {\n // Wraps workerSrc path into blob URL, if the former does not belong\n // to the same origin.\n if (\n typeof PDFJSDev !== \"undefined\" &&\n PDFJSDev.test(\"GENERIC\") &&\n !isSameOrigin(window.location.href, workerSrc)\n ) {\n workerSrc = PDFWorkerUtil.createCDNWrapper(\n new URL(workerSrc, window.location).href\n );\n }\n\n // Some versions of FF can't create a worker on localhost, see:\n // https://bugzilla.mozilla.org/show_bug.cgi?id=683280\n const worker = new Worker(workerSrc);\n const messageHandler = new MessageHandler(\"main\", \"worker\", worker);\n const terminateEarly = () => {\n worker.removeEventListener(\"error\", onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n // Fall back to fake worker if the termination is caused by an\n // error (e.g. NetworkError / SecurityError).\n this._setupFakeWorker();\n }\n };\n\n const onWorkerError = () => {\n if (!this._webWorker) {\n // Worker failed to initialize due to an error. Clean up and fall\n // back to the fake worker.\n terminateEarly();\n }\n };\n worker.addEventListener(\"error\", onWorkerError);\n\n messageHandler.on(\"test\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return; // worker was destroyed\n }\n if (data) {\n this._messageHandler = messageHandler;\n this._port = worker;\n this._webWorker = worker;\n\n this._readyCapability.resolve();\n // Send global setting, e.g. verbosity level.\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity,\n });\n } else {\n this._setupFakeWorker();\n messageHandler.destroy();\n worker.terminate();\n }\n });\n\n messageHandler.on(\"ready\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return; // worker was destroyed\n }\n try {\n sendTest();\n } catch (e) {\n // We need fallback to a faked worker.\n this._setupFakeWorker();\n }\n });\n\n const sendTest = () => {\n const testObj = new Uint8Array([255]);\n // Some versions of Opera throw a DATA_CLONE_ERR on serializing the\n // typed array. Also, checking if we can use transfers.\n try {\n messageHandler.send(\"test\", testObj, [testObj.buffer]);\n } catch (ex) {\n warn(\"Cannot use postMessage transfers.\");\n testObj[0] = 0;\n messageHandler.send(\"test\", testObj);\n }\n };\n\n // It might take time for the worker to initialize. We will try to send\n // the \"test\" message immediately, and once the \"ready\" message arrives.\n // The worker shall process only the first received \"test\" message.\n sendTest();\n return;\n } catch (e) {\n info(\"The worker has been disabled.\");\n }\n }\n // Either workers are disabled, not supported or have thrown an exception.\n // Thus, we fallback to a faked worker.\n this._setupFakeWorker();\n }\n\n _setupFakeWorker() {\n if (!PDFWorkerUtil.isWorkerDisabled) {\n warn(\"Setting up fake worker.\");\n PDFWorkerUtil.isWorkerDisabled = true;\n }\n\n PDFWorker._setupFakeWorkerGlobal\n .then(WorkerMessageHandler => {\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n return;\n }\n const port = new LoopbackPort();\n this._port = port;\n\n // All fake workers use the same port, making id unique.\n const id = `fake${PDFWorkerUtil.fakeWorkerId++}`;\n\n // If the main thread is our worker, setup the handling for the\n // messages -- the main thread sends to it self.\n const workerHandler = new MessageHandler(id + \"_worker\", id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n\n const messageHandler = new MessageHandler(id, id + \"_worker\", port);\n this._messageHandler = messageHandler;\n this._readyCapability.resolve();\n // Send global setting, e.g. verbosity level.\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity,\n });\n })\n .catch(reason => {\n this._readyCapability.reject(\n new Error(`Setting up fake worker failed: \"${reason.message}\".`)\n );\n });\n }\n\n /**\n * Destroys the worker instance.\n */\n destroy() {\n this.destroyed = true;\n if (this._webWorker) {\n // We need to terminate only web worker created resource.\n this._webWorker.terminate();\n this._webWorker = null;\n }\n PDFWorker._workerPorts.delete(this._port);\n this._port = null;\n if (this._messageHandler) {\n this._messageHandler.destroy();\n this._messageHandler = null;\n }\n }\n\n /**\n * @param {PDFWorkerParameters} params - The worker initialization parameters.\n */\n static fromPort(params) {\n if (!params?.port) {\n throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n }\n if (this._workerPorts.has(params.port)) {\n return this._workerPorts.get(params.port);\n }\n return new PDFWorker(params);\n }\n\n /**\n * The current `workerSrc`, when it exists.\n * @type {string}\n */\n static get workerSrc() {\n if (GlobalWorkerOptions.workerSrc) {\n return GlobalWorkerOptions.workerSrc;\n }\n if (PDFWorkerUtil.fallbackWorkerSrc !== null) {\n if (!isNodeJS) {\n deprecated('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n return PDFWorkerUtil.fallbackWorkerSrc;\n }\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n static get _mainThreadWorkerMessageHandler() {\n try {\n return globalThis.pdfjsWorker?.WorkerMessageHandler || null;\n } catch (ex) {\n return null;\n }\n }\n\n // Loads worker code into the main-thread.\n static get _setupFakeWorkerGlobal() {\n const loader = async () => {\n const mainWorkerMessageHandler = this._mainThreadWorkerMessageHandler;\n\n if (mainWorkerMessageHandler) {\n // The worker was already loaded using e.g. a `