{"version":3,"file":"chunk.pdfjs.CwhU_M7F.js","sources":["../../__vite-browser-external","../../node_modules/pdfjs-dist/build/pdf.js"],"sourcesContent":["export default {}","/**\n * @licstart The following is the entire license notice for the\n * JavaScript code in this page\n *\n * Copyright 2023 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * JavaScript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = root.pdfjsLib = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf\", [], () => { return (root.pdfjsLib = factory()); });\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf\"] = root.pdfjsLib = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf\"] = root.pdfjsLib = factory();\n})(globalThis, () => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ([\n/* 0 */,\n/* 1 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.VerbosityLevel = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.RenderingIntentFlag = exports.PromiseCapability = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.PageActionEventType = exports.OPS = exports.MissingPDFException = exports.MAX_IMAGE_SIZE_TO_CACHE = exports.LINE_FACTOR = exports.LINE_DESCENT_FACTOR = exports.InvalidPDFException = exports.ImageKind = exports.IDENTITY_MATRIX = exports.FormatError = exports.FeatureTest = exports.FONT_IDENTITY_MATRIX = exports.DocumentActionEventType = exports.CMapCompressionType = exports.BaseException = exports.BASELINE_FACTOR = exports.AnnotationType = exports.AnnotationReplyType = exports.AnnotationPrefix = exports.AnnotationMode = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationEditorType = exports.AnnotationEditorPrefix = exports.AnnotationEditorParamsType = exports.AnnotationBorderStyleType = exports.AnnotationActionEventType = exports.AbortException = void 0;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.getModificationDate = getModificationDate;\nexports.getUuid = getUuid;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isArrayEqual = isArrayEqual;\nexports.isNodeJS = void 0;\nexports.normalizeUnicode = normalizeUnicode;\nexports.objectFromMap = objectFromMap;\nexports.objectSize = objectSize;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.unreachable = unreachable;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\nconst isNodeJS = typeof process === \"object\" && process + \"\" === \"[object process]\" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== \"browser\");\nexports.isNodeJS = isNodeJS;\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nconst MAX_IMAGE_SIZE_TO_CACHE = 10e6;\nexports.MAX_IMAGE_SIZE_TO_CACHE = MAX_IMAGE_SIZE_TO_CACHE;\nconst LINE_FACTOR = 1.35;\nexports.LINE_FACTOR = LINE_FACTOR;\nconst LINE_DESCENT_FACTOR = 0.35;\nexports.LINE_DESCENT_FACTOR = LINE_DESCENT_FACTOR;\nconst BASELINE_FACTOR = LINE_DESCENT_FACTOR / LINE_FACTOR;\nexports.BASELINE_FACTOR = BASELINE_FACTOR;\nconst RenderingIntentFlag = {\n ANY: 0x01,\n DISPLAY: 0x02,\n PRINT: 0x04,\n SAVE: 0x08,\n ANNOTATIONS_FORMS: 0x10,\n ANNOTATIONS_STORAGE: 0x20,\n ANNOTATIONS_DISABLE: 0x40,\n OPLIST: 0x100\n};\nexports.RenderingIntentFlag = RenderingIntentFlag;\nconst AnnotationMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_FORMS: 2,\n ENABLE_STORAGE: 3\n};\nexports.AnnotationMode = AnnotationMode;\nconst AnnotationEditorPrefix = \"pdfjs_internal_editor_\";\nexports.AnnotationEditorPrefix = AnnotationEditorPrefix;\nconst AnnotationEditorType = {\n DISABLE: -1,\n NONE: 0,\n FREETEXT: 3,\n STAMP: 13,\n INK: 15\n};\nexports.AnnotationEditorType = AnnotationEditorType;\nconst AnnotationEditorParamsType = {\n RESIZE: 1,\n CREATE: 2,\n FREETEXT_SIZE: 11,\n FREETEXT_COLOR: 12,\n FREETEXT_OPACITY: 13,\n INK_COLOR: 21,\n INK_THICKNESS: 22,\n INK_OPACITY: 23\n};\nexports.AnnotationEditorParamsType = AnnotationEditorParamsType;\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};\nexports.PermissionFlag = PermissionFlag;\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};\nexports.TextRenderingMode = TextRenderingMode;\nconst ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\nexports.ImageKind = ImageKind;\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};\nexports.AnnotationType = AnnotationType;\nconst AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\"\n};\nexports.AnnotationReplyType = AnnotationReplyType;\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};\nexports.AnnotationFlag = AnnotationFlag;\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};\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nconst AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\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};\nexports.AnnotationActionEventType = AnnotationActionEventType;\nconst DocumentActionEventType = {\n WC: \"WillClose\",\n WS: \"WillSave\",\n DS: \"DidSave\",\n WP: \"WillPrint\",\n DP: \"DidPrint\"\n};\nexports.DocumentActionEventType = DocumentActionEventType;\nconst PageActionEventType = {\n O: \"PageOpen\",\n C: \"PageClose\"\n};\nexports.PageActionEventType = PageActionEventType;\nconst VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nexports.VerbosityLevel = VerbosityLevel;\nconst CMapCompressionType = {\n NONE: 0,\n BINARY: 1\n};\nexports.CMapCompressionType = CMapCompressionType;\nconst OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotation: 80,\n endAnnotation: 81,\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};\nexports.OPS = OPS;\nconst PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nexports.PasswordResponses = PasswordResponses;\nlet verbosity = VerbosityLevel.WARNINGS;\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\nfunction getVerbosityLevel() {\n return verbosity;\n}\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(`Info: ${msg}`);\n }\n}\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(`Warning: ${msg}`);\n }\n}\nfunction unreachable(msg) {\n throw new Error(msg);\n}\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\nfunction _isValidProtocol(url) {\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}\nfunction createValidAbsoluteUrl(url, baseUrl = null, options = null) {\n if (!url) {\n return null;\n }\n try {\n if (options && typeof url === \"string\") {\n if (options.addDefaultProtocol && url.startsWith(\"www.\")) {\n const dots = url.match(/\\./g);\n if (dots?.length >= 2) {\n url = `http://${url}`;\n }\n }\n if (options.tryConvertEncoding) {\n try {\n url = stringToUTF8String(url);\n } catch {}\n }\n }\n const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch {}\n return null;\n}\nfunction shadow(obj, prop, value, nonSerializable = false) {\n Object.defineProperty(obj, prop, {\n value,\n enumerable: !nonSerializable,\n configurable: true,\n writable: false\n });\n return value;\n}\nconst BaseException = function BaseExceptionClosure() {\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 return BaseException;\n}();\nexports.BaseException = BaseException;\nclass PasswordException extends BaseException {\n constructor(msg, code) {\n super(msg, \"PasswordException\");\n this.code = code;\n }\n}\nexports.PasswordException = PasswordException;\nclass UnknownErrorException extends BaseException {\n constructor(msg, details) {\n super(msg, \"UnknownErrorException\");\n this.details = details;\n }\n}\nexports.UnknownErrorException = UnknownErrorException;\nclass InvalidPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"InvalidPDFException\");\n }\n}\nexports.InvalidPDFException = InvalidPDFException;\nclass MissingPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"MissingPDFException\");\n }\n}\nexports.MissingPDFException = MissingPDFException;\nclass UnexpectedResponseException extends BaseException {\n constructor(msg, status) {\n super(msg, \"UnexpectedResponseException\");\n this.status = status;\n }\n}\nexports.UnexpectedResponseException = UnexpectedResponseException;\nclass FormatError extends BaseException {\n constructor(msg) {\n super(msg, \"FormatError\");\n }\n}\nexports.FormatError = FormatError;\nclass AbortException extends BaseException {\n constructor(msg) {\n super(msg, \"AbortException\");\n }\n}\nexports.AbortException = AbortException;\nfunction bytesToString(bytes) {\n if (typeof bytes !== \"object\" || bytes?.length === undefined) {\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}\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}\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\nfunction objectSize(obj) {\n return Object.keys(obj).length;\n}\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}\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}\nfunction isEvalSupported() {\n try {\n new Function(\"\");\n return true;\n } catch {\n return false;\n }\n}\nclass FeatureTest {\n static get isLittleEndian() {\n return shadow(this, \"isLittleEndian\", isLittleEndian());\n }\n static get isEvalSupported() {\n return shadow(this, \"isEvalSupported\", isEvalSupported());\n }\n static get isOffscreenCanvasSupported() {\n return shadow(this, \"isOffscreenCanvasSupported\", typeof OffscreenCanvas !== \"undefined\");\n }\n static get platform() {\n if (typeof navigator === \"undefined\") {\n return shadow(this, \"platform\", {\n isWin: false,\n isMac: false\n });\n }\n return shadow(this, \"platform\", {\n isWin: navigator.platform.includes(\"Win\"),\n isMac: navigator.platform.includes(\"Mac\")\n });\n }\n static get isCSSRoundSupported() {\n return shadow(this, \"isCSSRoundSupported\", globalThis.CSS?.supports?.(\"width: round(1.5px, 1px)\"));\n }\n}\nexports.FeatureTest = FeatureTest;\nconst hexNumbers = [...Array(256).keys()].map(n => n.toString(16).padStart(2, \"0\"));\nclass Util {\n static makeHexColor(r, g, b) {\n return `#${hexNumbers[r]}${hexNumbers[g]}${hexNumbers[b]}`;\n }\n static scaleMinMax(transform, minMax) {\n let temp;\n if (transform[0]) {\n if (transform[0] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n minMax[0] *= transform[0];\n minMax[1] *= transform[0];\n if (transform[3] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n minMax[2] *= transform[3];\n minMax[3] *= transform[3];\n } else {\n temp = minMax[0];\n minMax[0] = minMax[2];\n minMax[2] = temp;\n temp = minMax[1];\n minMax[1] = minMax[3];\n minMax[3] = temp;\n if (transform[1] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n minMax[2] *= transform[1];\n minMax[3] *= transform[1];\n if (transform[2] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n minMax[0] *= transform[2];\n minMax[1] *= transform[2];\n }\n minMax[0] += transform[4];\n minMax[1] += transform[4];\n minMax[2] += transform[5];\n minMax[3] += transform[5];\n }\n static transform(m1, m2) {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n }\n static applyTransform(p, m) {\n const xt = p[0] * m[0] + p[1] * m[2] + m[4];\n const yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n static applyInverseTransform(p, m) {\n const d = m[0] * m[3] - m[1] * m[2];\n const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n static getAxialAlignedBoundingBox(r, m) {\n const p1 = this.applyTransform(r, m);\n const p2 = this.applyTransform(r.slice(2, 4), m);\n const p3 = this.applyTransform([r[0], r[3]], m);\n const p4 = this.applyTransform([r[2], r[1]], m);\n return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n }\n static inverseTransform(m) {\n const d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n }\n static singularValueDecompose2dScale(m) {\n const transpose = [m[0], m[2], m[1], m[3]];\n const a = m[0] * transpose[0] + m[1] * transpose[2];\n const b = m[0] * transpose[1] + m[1] * transpose[3];\n const c = m[2] * transpose[0] + m[3] * transpose[2];\n const d = m[2] * transpose[1] + m[3] * transpose[3];\n const first = (a + d) / 2;\n const second = Math.sqrt((a + d) ** 2 - 4 * (a * d - c * b)) / 2;\n const sx = first + second || 1;\n const sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n static normalizeRect(rect) {\n const r = rect.slice(0);\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n return r;\n }\n static intersect(rect1, rect2) {\n const xLow = Math.max(Math.min(rect1[0], rect1[2]), Math.min(rect2[0], rect2[2]));\n const xHigh = Math.min(Math.max(rect1[0], rect1[2]), Math.max(rect2[0], rect2[2]));\n if (xLow > xHigh) {\n return null;\n }\n const yLow = Math.max(Math.min(rect1[1], rect1[3]), Math.min(rect2[1], rect2[3]));\n const yHigh = Math.min(Math.max(rect1[1], rect1[3]), Math.max(rect2[1], rect2[3]));\n if (yLow > yHigh) {\n return null;\n }\n return [xLow, yLow, xHigh, yHigh];\n }\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 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] = mt * mt * mt * x0 + 3 * mt * mt * t * x1 + 3 * mt * t * t * x2 + t * t * t * x3;\n bounds[1][j] = mt * mt * mt * y0 + 3 * mt * mt * t * y1 + 3 * mt * t * t * y2 + t * t * t * y3;\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 return [Math.min(...bounds[0]), Math.min(...bounds[1]), Math.max(...bounds[0]), Math.max(...bounds[1])];\n }\n}\nexports.Util = Util;\nconst PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2d8, 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018, 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d, 0x131, 0x142, 0x153, 0x161, 0x17e, 0, 0x20ac];\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 if (encoding) {\n try {\n const decoder = new TextDecoder(encoding, {\n fatal: true\n });\n const buffer = stringToBytes(str);\n return decoder.decode(buffer);\n } catch (ex) {\n warn(`stringToPDFString: \"${ex}\".`);\n }\n }\n }\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}\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\nfunction isArrayBuffer(v) {\n return typeof v === \"object\" && v?.byteLength !== undefined;\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}\nfunction getModificationDate(date = new Date()) {\n const buffer = [date.getUTCFullYear().toString(), (date.getUTCMonth() + 1).toString().padStart(2, \"0\"), date.getUTCDate().toString().padStart(2, \"0\"), date.getUTCHours().toString().padStart(2, \"0\"), date.getUTCMinutes().toString().padStart(2, \"0\"), date.getUTCSeconds().toString().padStart(2, \"0\")];\n return buffer.join(\"\");\n}\nclass PromiseCapability {\n #settled = false;\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = data => {\n this.#settled = true;\n resolve(data);\n };\n this.reject = reason => {\n this.#settled = true;\n reject(reason);\n };\n });\n }\n get settled() {\n return this.#settled;\n }\n}\nexports.PromiseCapability = PromiseCapability;\nlet NormalizeRegex = null;\nlet NormalizationMap = null;\nfunction normalizeUnicode(str) {\n if (!NormalizeRegex) {\n NormalizeRegex = /([\\u00a0\\u00b5\\u037e\\u0eb3\\u2000-\\u200a\\u202f\\u2126\\ufb00-\\ufb04\\ufb06\\ufb20-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufba1\\ufba4-\\ufba9\\ufbae-\\ufbb1\\ufbd3-\\ufbdc\\ufbde-\\ufbe7\\ufbea-\\ufbf8\\ufbfc-\\ufbfd\\ufc00-\\ufc5d\\ufc64-\\ufcf1\\ufcf5-\\ufd3d\\ufd88\\ufdf4\\ufdfa-\\ufdfb\\ufe71\\ufe77\\ufe79\\ufe7b\\ufe7d]+)|(\\ufb05+)/gu;\n NormalizationMap = new Map([[\"ſt\", \"ſt\"]]);\n }\n return str.replaceAll(NormalizeRegex, (_, p1, p2) => {\n return p1 ? p1.normalize(\"NFKC\") : NormalizationMap.get(p2);\n });\n}\nfunction getUuid() {\n if (typeof crypto !== \"undefined\" && typeof crypto?.randomUUID === \"function\") {\n return crypto.randomUUID();\n }\n const buf = new Uint8Array(32);\n if (typeof crypto !== \"undefined\" && typeof crypto?.getRandomValues === \"function\") {\n crypto.getRandomValues(buf);\n } else {\n for (let i = 0; i < 32; i++) {\n buf[i] = Math.floor(Math.random() * 255);\n }\n }\n return bytesToString(buf);\n}\nconst AnnotationPrefix = \"pdfjs_internal_id_\";\nexports.AnnotationPrefix = AnnotationPrefix;\n\n/***/ }),\n/* 2 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.RenderTask = exports.PDFWorkerUtil = exports.PDFWorker = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFDocumentLoadingTask = exports.PDFDataRangeTransport = exports.LoopbackPort = exports.DefaultStandardFontDataFactory = exports.DefaultFilterFactory = exports.DefaultCanvasFactory = exports.DefaultCMapReaderFactory = void 0;\nObject.defineProperty(exports, \"SVGGraphics\", ({\n enumerable: true,\n get: function () {\n return _displaySvg.SVGGraphics;\n }\n}));\nexports.build = void 0;\nexports.getDocument = getDocument;\nexports.version = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _annotation_storage = __w_pdfjs_require__(3);\nvar _display_utils = __w_pdfjs_require__(6);\nvar _font_loader = __w_pdfjs_require__(9);\nvar _displayNode_utils = __w_pdfjs_require__(10);\nvar _canvas = __w_pdfjs_require__(11);\nvar _worker_options = __w_pdfjs_require__(14);\nvar _message_handler = __w_pdfjs_require__(15);\nvar _metadata = __w_pdfjs_require__(16);\nvar _optional_content_config = __w_pdfjs_require__(17);\nvar _transport_stream = __w_pdfjs_require__(18);\nvar _displayFetch_stream = __w_pdfjs_require__(19);\nvar _displayNetwork = __w_pdfjs_require__(22);\nvar _displayNode_stream = __w_pdfjs_require__(23);\nvar _displaySvg = __w_pdfjs_require__(24);\nvar _xfa_text = __w_pdfjs_require__(25);\nconst DEFAULT_RANGE_CHUNK_SIZE = 65536;\nconst RENDERING_CANCELLED_TIMEOUT = 100;\nconst DELAYED_CLEANUP_TIMEOUT = 5000;\nconst DefaultCanvasFactory = _util.isNodeJS ? _displayNode_utils.NodeCanvasFactory : _display_utils.DOMCanvasFactory;\nexports.DefaultCanvasFactory = DefaultCanvasFactory;\nconst DefaultCMapReaderFactory = _util.isNodeJS ? _displayNode_utils.NodeCMapReaderFactory : _display_utils.DOMCMapReaderFactory;\nexports.DefaultCMapReaderFactory = DefaultCMapReaderFactory;\nconst DefaultFilterFactory = _util.isNodeJS ? _displayNode_utils.NodeFilterFactory : _display_utils.DOMFilterFactory;\nexports.DefaultFilterFactory = DefaultFilterFactory;\nconst DefaultStandardFontDataFactory = _util.isNodeJS ? _displayNode_utils.NodeStandardFontDataFactory : _display_utils.DOMStandardFontDataFactory;\nexports.DefaultStandardFontDataFactory = DefaultStandardFontDataFactory;\nfunction getDocument(src) {\n if (typeof src === \"string\" || src instanceof URL) {\n src = {\n url: src\n };\n } else if ((0, _util.isArrayBuffer)(src)) {\n src = {\n data: src\n };\n }\n if (typeof src !== \"object\") {\n throw new Error(\"Invalid parameter in getDocument, need parameter object.\");\n }\n if (!src.url && !src.data && !src.range) {\n throw new Error(\"Invalid parameter object: need either .data, .range or .url\");\n }\n const task = new PDFDocumentLoadingTask();\n const {\n docId\n } = task;\n const url = src.url ? getUrlProp(src.url) : null;\n const data = src.data ? getDataProp(src.data) : null;\n const httpHeaders = src.httpHeaders || null;\n const withCredentials = src.withCredentials === true;\n const password = src.password ?? null;\n const rangeTransport = src.range instanceof PDFDataRangeTransport ? src.range : null;\n const rangeChunkSize = Number.isInteger(src.rangeChunkSize) && src.rangeChunkSize > 0 ? src.rangeChunkSize : DEFAULT_RANGE_CHUNK_SIZE;\n let worker = src.worker instanceof PDFWorker ? src.worker : null;\n const verbosity = src.verbosity;\n const docBaseUrl = typeof src.docBaseUrl === \"string\" && !(0, _display_utils.isDataScheme)(src.docBaseUrl) ? src.docBaseUrl : null;\n const cMapUrl = typeof src.cMapUrl === \"string\" ? src.cMapUrl : null;\n const cMapPacked = src.cMapPacked !== false;\n const CMapReaderFactory = src.CMapReaderFactory || DefaultCMapReaderFactory;\n const standardFontDataUrl = typeof src.standardFontDataUrl === \"string\" ? src.standardFontDataUrl : null;\n const StandardFontDataFactory = src.StandardFontDataFactory || DefaultStandardFontDataFactory;\n const ignoreErrors = src.stopAtErrors !== true;\n const maxImageSize = Number.isInteger(src.maxImageSize) && src.maxImageSize > -1 ? src.maxImageSize : -1;\n const isEvalSupported = src.isEvalSupported !== false;\n const isOffscreenCanvasSupported = typeof src.isOffscreenCanvasSupported === \"boolean\" ? src.isOffscreenCanvasSupported : !_util.isNodeJS;\n const canvasMaxAreaInBytes = Number.isInteger(src.canvasMaxAreaInBytes) ? src.canvasMaxAreaInBytes : -1;\n const disableFontFace = typeof src.disableFontFace === \"boolean\" ? src.disableFontFace : _util.isNodeJS;\n const fontExtraProperties = src.fontExtraProperties === true;\n const enableXfa = src.enableXfa === true;\n const ownerDocument = src.ownerDocument || globalThis.document;\n const disableRange = src.disableRange === true;\n const disableStream = src.disableStream === true;\n const disableAutoFetch = src.disableAutoFetch === true;\n const pdfBug = src.pdfBug === true;\n const length = rangeTransport ? rangeTransport.length : src.length ?? NaN;\n const useSystemFonts = typeof src.useSystemFonts === \"boolean\" ? src.useSystemFonts : !_util.isNodeJS && !disableFontFace;\n const useWorkerFetch = typeof src.useWorkerFetch === \"boolean\" ? src.useWorkerFetch : CMapReaderFactory === _display_utils.DOMCMapReaderFactory && StandardFontDataFactory === _display_utils.DOMStandardFontDataFactory && cMapUrl && standardFontDataUrl && (0, _display_utils.isValidFetchUrl)(cMapUrl, document.baseURI) && (0, _display_utils.isValidFetchUrl)(standardFontDataUrl, document.baseURI);\n const canvasFactory = src.canvasFactory || new DefaultCanvasFactory({\n ownerDocument\n });\n const filterFactory = src.filterFactory || new DefaultFilterFactory({\n docId,\n ownerDocument\n });\n const styleElement = null;\n (0, _util.setVerbosityLevel)(verbosity);\n const transportFactory = {\n canvasFactory,\n filterFactory\n };\n if (!useWorkerFetch) {\n transportFactory.cMapReaderFactory = new CMapReaderFactory({\n baseUrl: cMapUrl,\n isCompressed: cMapPacked\n });\n transportFactory.standardFontDataFactory = new StandardFontDataFactory({\n baseUrl: standardFontDataUrl\n });\n }\n if (!worker) {\n const workerParams = {\n verbosity,\n port: _worker_options.GlobalWorkerOptions.workerPort\n };\n worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);\n task._worker = worker;\n }\n const fetchDocParams = {\n docId,\n apiVersion: '3.11.174',\n data,\n password,\n disableAutoFetch,\n rangeChunkSize,\n length,\n docBaseUrl,\n enableXfa,\n evaluatorOptions: {\n maxImageSize,\n disableFontFace,\n ignoreErrors,\n isEvalSupported,\n isOffscreenCanvasSupported,\n canvasMaxAreaInBytes,\n fontExtraProperties,\n useSystemFonts,\n cMapUrl: useWorkerFetch ? cMapUrl : null,\n standardFontDataUrl: useWorkerFetch ? standardFontDataUrl : null\n }\n };\n const transportParams = {\n ignoreErrors,\n isEvalSupported,\n disableFontFace,\n fontExtraProperties,\n enableXfa,\n ownerDocument,\n disableAutoFetch,\n pdfBug,\n styleElement\n };\n worker.promise.then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n const workerIdPromise = _fetchDocument(worker, fetchDocParams);\n const networkStreamPromise = new Promise(function (resolve) {\n let networkStream;\n if (rangeTransport) {\n networkStream = new _transport_stream.PDFDataTransportStream({\n length,\n initialData: rangeTransport.initialData,\n progressiveDone: rangeTransport.progressiveDone,\n contentDispositionFilename: rangeTransport.contentDispositionFilename,\n disableRange,\n disableStream\n }, rangeTransport);\n } else if (!data) {\n const createPDFNetworkStream = params => {\n if (_util.isNodeJS) {\n return new _displayNode_stream.PDFNodeStream(params);\n }\n return (0, _display_utils.isValidFetchUrl)(params.url) ? new _displayFetch_stream.PDFFetchStream(params) : new _displayNetwork.PDFNetworkStream(params);\n };\n networkStream = createPDFNetworkStream({\n url,\n length,\n httpHeaders,\n withCredentials,\n rangeChunkSize,\n disableRange,\n disableStream\n });\n }\n resolve(networkStream);\n });\n return Promise.all([workerIdPromise, networkStreamPromise]).then(function ([workerId, networkStream]) {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n const messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);\n const transport = new WorkerTransport(messageHandler, task, networkStream, transportParams, transportFactory);\n task._transport = transport;\n messageHandler.send(\"Ready\", null);\n });\n }).catch(task._capability.reject);\n return task;\n}\nasync function _fetchDocument(worker, source) {\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n const workerId = await worker.messageHandler.sendWithPromise(\"GetDocRequest\", source, source.data ? [source.data.buffer] : null);\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n return workerId;\n}\nfunction getUrlProp(val) {\n if (val instanceof URL) {\n return val.href;\n }\n try {\n return new URL(val, window.location).href;\n } catch {\n if (_util.isNodeJS && typeof val === \"string\") {\n return val;\n }\n }\n throw new Error(\"Invalid PDF url data: \" + \"either string or URL-object is expected in the url property.\");\n}\nfunction getDataProp(val) {\n if (_util.isNodeJS && typeof Buffer !== \"undefined\" && val instanceof Buffer) {\n throw new Error(\"Please provide binary data as `Uint8Array`, rather than `Buffer`.\");\n }\n if (val instanceof Uint8Array && val.byteLength === val.buffer.byteLength) {\n return val;\n }\n if (typeof val === \"string\") {\n return (0, _util.stringToBytes)(val);\n }\n if (typeof val === \"object\" && !isNaN(val?.length) || (0, _util.isArrayBuffer)(val)) {\n return new Uint8Array(val);\n }\n throw new Error(\"Invalid PDF binary data: either TypedArray, \" + \"string, or array-like object is expected in the data property.\");\n}\nclass PDFDocumentLoadingTask {\n static #docId = 0;\n constructor() {\n this._capability = new _util.PromiseCapability();\n this._transport = null;\n this._worker = null;\n this.docId = `d${PDFDocumentLoadingTask.#docId++}`;\n this.destroyed = false;\n this.onPassword = null;\n this.onProgress = null;\n }\n get promise() {\n return this._capability.promise;\n }\n async destroy() {\n this.destroyed = true;\n try {\n if (this._worker?.port) {\n this._worker._pendingDestroy = true;\n }\n await this._transport?.destroy();\n } catch (ex) {\n if (this._worker?.port) {\n delete this._worker._pendingDestroy;\n }\n throw ex;\n }\n this._transport = null;\n if (this._worker) {\n this._worker.destroy();\n this._worker = null;\n }\n }\n}\nexports.PDFDocumentLoadingTask = PDFDocumentLoadingTask;\nclass PDFDataRangeTransport {\n constructor(length, initialData, progressiveDone = false, contentDispositionFilename = null) {\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this.contentDispositionFilename = contentDispositionFilename;\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = new _util.PromiseCapability();\n }\n addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n onDataRange(begin, chunk) {\n for (const listener of this._rangeListeners) {\n listener(begin, chunk);\n }\n }\n onDataProgress(loaded, total) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressListeners) {\n listener(loaded, total);\n }\n });\n }\n onDataProgressiveRead(chunk) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveReadListeners) {\n listener(chunk);\n }\n });\n }\n onDataProgressiveDone() {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveDoneListeners) {\n listener();\n }\n });\n }\n transportReady() {\n this._readyCapability.resolve();\n }\n requestDataRange(begin, end) {\n (0, _util.unreachable)(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n }\n abort() {}\n}\nexports.PDFDataRangeTransport = PDFDataRangeTransport;\nclass PDFDocumentProxy {\n constructor(pdfInfo, transport) {\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n Object.defineProperty(this, \"getJavaScript\", {\n value: () => {\n (0, _display_utils.deprecated)(\"`PDFDocumentProxy.getJavaScript`, \" + \"please use `PDFDocumentProxy.getJSActions` instead.\");\n return this.getJSActions().then(js => {\n if (!js) {\n return js;\n }\n const jsArr = [];\n for (const name in js) {\n jsArr.push(...js[name]);\n }\n return jsArr;\n });\n }\n });\n }\n get annotationStorage() {\n return this._transport.annotationStorage;\n }\n get filterFactory() {\n return this._transport.filterFactory;\n }\n get numPages() {\n return this._pdfInfo.numPages;\n }\n get fingerprints() {\n return this._pdfInfo.fingerprints;\n }\n get isPureXfa() {\n return (0, _util.shadow)(this, \"isPureXfa\", !!this._transport._htmlForXfa);\n }\n get allXfaHtml() {\n return this._transport._htmlForXfa;\n }\n getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n getDestinations() {\n return this._transport.getDestinations();\n }\n getDestination(id) {\n return this._transport.getDestination(id);\n }\n getPageLabels() {\n return this._transport.getPageLabels();\n }\n getPageLayout() {\n return this._transport.getPageLayout();\n }\n getPageMode() {\n return this._transport.getPageMode();\n }\n getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n getOpenAction() {\n return this._transport.getOpenAction();\n }\n getAttachments() {\n return this._transport.getAttachments();\n }\n getJSActions() {\n return this._transport.getDocJSActions();\n }\n getOutline() {\n return this._transport.getOutline();\n }\n getOptionalContentConfig() {\n return this._transport.getOptionalContentConfig();\n }\n getPermissions() {\n return this._transport.getPermissions();\n }\n getMetadata() {\n return this._transport.getMetadata();\n }\n getMarkInfo() {\n return this._transport.getMarkInfo();\n }\n getData() {\n return this._transport.getData();\n }\n saveDocument() {\n return this._transport.saveDocument();\n }\n getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n cleanup(keepLoadedFonts = false) {\n return this._transport.startCleanup(keepLoadedFonts || this.isPureXfa);\n }\n destroy() {\n return this.loadingTask.destroy();\n }\n get loadingParams() {\n return this._transport.loadingParams;\n }\n get loadingTask() {\n return this._transport.loadingTask;\n }\n getFieldObjects() {\n return this._transport.getFieldObjects();\n }\n hasJSActions() {\n return this._transport.hasJSActions();\n }\n getCalculationOrderIds() {\n return this._transport.getCalculationOrderIds();\n }\n}\nexports.PDFDocumentProxy = PDFDocumentProxy;\nclass PDFPageProxy {\n #delayedCleanupTimeout = null;\n #pendingCleanup = false;\n constructor(pageIndex, pageInfo, transport, pdfBug = false) {\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._transport = transport;\n this._stats = pdfBug ? new _display_utils.StatTimer() : null;\n this._pdfBug = pdfBug;\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n this._maybeCleanupAfterRender = false;\n this._intentStates = new Map();\n this.destroyed = false;\n }\n get pageNumber() {\n return this._pageIndex + 1;\n }\n get rotate() {\n return this._pageInfo.rotate;\n }\n get ref() {\n return this._pageInfo.ref;\n }\n get userUnit() {\n return this._pageInfo.userUnit;\n }\n get view() {\n return this._pageInfo.view;\n }\n getViewport({\n scale,\n rotation = this.rotate,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false\n } = {}) {\n return new _display_utils.PageViewport({\n viewBox: this.view,\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip\n });\n }\n getAnnotations({\n intent = \"display\"\n } = {}) {\n const intentArgs = this._transport.getRenderingIntent(intent);\n return this._transport.getAnnotations(this._pageIndex, intentArgs.renderingIntent);\n }\n getJSActions() {\n return this._transport.getPageJSActions(this._pageIndex);\n }\n get filterFactory() {\n return this._transport.filterFactory;\n }\n get isPureXfa() {\n return (0, _util.shadow)(this, \"isPureXfa\", !!this._transport._htmlForXfa);\n }\n async getXfa() {\n return this._transport._htmlForXfa?.children[this._pageIndex] || null;\n }\n render({\n canvasContext,\n viewport,\n intent = \"display\",\n annotationMode = _util.AnnotationMode.ENABLE,\n transform = null,\n background = null,\n optionalContentConfigPromise = null,\n annotationCanvasMap = null,\n pageColors = null,\n printAnnotationStorage = null\n }) {\n this._stats?.time(\"Overall\");\n const intentArgs = this._transport.getRenderingIntent(intent, annotationMode, printAnnotationStorage);\n this.#pendingCleanup = false;\n this.#abortDelayedCleanup();\n if (!optionalContentConfigPromise) {\n optionalContentConfigPromise = this._transport.getOptionalContentConfig();\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 if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n const intentPrint = !!(intentArgs.renderingIntent & _util.RenderingIntentFlag.PRINT);\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = new _util.PromiseCapability();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n separateAnnots: null\n };\n this._stats?.time(\"Page Request\");\n this._pumpOperatorList(intentArgs);\n }\n const complete = error => {\n intentState.renderTasks.delete(internalRenderTask);\n if (this._maybeCleanupAfterRender || intentPrint) {\n this.#pendingCleanup = true;\n }\n this.#tryCleanup(!intentPrint);\n if (error) {\n internalRenderTask.capability.reject(error);\n this._abortOperatorList({\n intentState,\n reason: error instanceof Error ? error : new Error(error)\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n this._stats?.timeEnd(\"Rendering\");\n this._stats?.timeEnd(\"Overall\");\n };\n const internalRenderTask = new InternalRenderTask({\n callback: complete,\n params: {\n canvasContext,\n viewport,\n transform,\n background\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n annotationCanvasMap,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: this._transport.canvasFactory,\n filterFactory: this._transport.filterFactory,\n useRequestAnimationFrame: !intentPrint,\n pdfBug: this._pdfBug,\n pageColors\n });\n (intentState.renderTasks ||= new Set()).add(internalRenderTask);\n const renderTask = internalRenderTask.task;\n Promise.all([intentState.displayReadyCapability.promise, optionalContentConfigPromise]).then(([transparency, optionalContentConfig]) => {\n if (this.destroyed) {\n complete();\n return;\n }\n this._stats?.time(\"Rendering\");\n internalRenderTask.initializeGraphics({\n transparency,\n optionalContentConfig\n });\n internalRenderTask.operatorListChanged();\n }).catch(complete);\n return renderTask;\n }\n getOperatorList({\n intent = \"display\",\n annotationMode = _util.AnnotationMode.ENABLE,\n printAnnotationStorage = null\n } = {}) {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n intentState.renderTasks.delete(opListTask);\n }\n }\n const intentArgs = this._transport.getRenderingIntent(intent, annotationMode, printAnnotationStorage, true);\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 if (!intentState.opListReadCapability) {\n opListTask = Object.create(null);\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = new _util.PromiseCapability();\n (intentState.renderTasks ||= new Set()).add(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n separateAnnots: null\n };\n this._stats?.time(\"Page Request\");\n this._pumpOperatorList(intentArgs);\n }\n return intentState.opListReadCapability.promise;\n }\n streamTextContent({\n includeMarkedContent = false,\n disableNormalization = false\n } = {}) {\n const TEXT_CONTENT_CHUNK_SIZE = 100;\n return this._transport.messageHandler.sendWithStream(\"GetTextContent\", {\n pageIndex: this._pageIndex,\n includeMarkedContent: includeMarkedContent === true,\n disableNormalization: disableNormalization === true\n }, {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size(textContent) {\n return textContent.items.length;\n }\n });\n }\n getTextContent(params = {}) {\n if (this._transport._htmlForXfa) {\n return this.getXfa().then(xfa => {\n return _xfa_text.XfaText.textContent(xfa);\n });\n }\n const readableStream = this.streamTextContent(params);\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n resolve(textContent);\n return;\n }\n Object.assign(textContent.styles, value.styles);\n textContent.items.push(...value.items);\n pump();\n }, reject);\n }\n const reader = readableStream.getReader();\n const textContent = {\n items: [],\n styles: Object.create(null)\n };\n pump();\n });\n }\n getStructTree() {\n return this._transport.getStructTree(this._pageIndex);\n }\n _destroy() {\n this.destroyed = true;\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 if (intentState.opListReadCapability) {\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.#pendingCleanup = false;\n this.#abortDelayedCleanup();\n return Promise.all(waitOn);\n }\n cleanup(resetStats = false) {\n this.#pendingCleanup = true;\n const success = this.#tryCleanup(false);\n if (resetStats && success) {\n this._stats &&= new _display_utils.StatTimer();\n }\n return success;\n }\n #tryCleanup(delayed = false) {\n this.#abortDelayedCleanup();\n if (!this.#pendingCleanup || this.destroyed) {\n return false;\n }\n if (delayed) {\n this.#delayedCleanupTimeout = setTimeout(() => {\n this.#delayedCleanupTimeout = null;\n this.#tryCleanup(false);\n }, DELAYED_CLEANUP_TIMEOUT);\n return false;\n }\n for (const {\n renderTasks,\n operatorList\n } of this._intentStates.values()) {\n if (renderTasks.size > 0 || !operatorList.lastChunk) {\n return false;\n }\n }\n this._intentStates.clear();\n this.objs.clear();\n this.#pendingCleanup = false;\n return true;\n }\n #abortDelayedCleanup() {\n if (this.#delayedCleanupTimeout) {\n clearTimeout(this.#delayedCleanupTimeout);\n this.#delayedCleanupTimeout = null;\n }\n }\n _startRenderPage(transparency, cacheKey) {\n const intentState = this._intentStates.get(cacheKey);\n if (!intentState) {\n return;\n }\n this._stats?.timeEnd(\"Page Request\");\n intentState.displayReadyCapability?.resolve(transparency);\n }\n _renderPageChunk(operatorListChunk, intentState) {\n for (let i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n intentState.operatorList.separateAnnots = operatorListChunk.separateAnnots;\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n if (operatorListChunk.lastChunk) {\n this.#tryCleanup(true);\n }\n }\n _pumpOperatorList({\n renderingIntent,\n cacheKey,\n annotationStorageSerializable\n }) {\n const {\n map,\n transfers\n } = annotationStorageSerializable;\n const readableStream = this._transport.messageHandler.sendWithStream(\"GetOperatorList\", {\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n cacheKey,\n annotationStorage: map\n }, transfers);\n const reader = readableStream.getReader();\n const intentState = this._intentStates.get(cacheKey);\n intentState.streamReader = reader;\n const pump = () => {\n reader.read().then(({\n value,\n done\n }) => {\n if (done) {\n intentState.streamReader = null;\n return;\n }\n if (this._transport.destroyed) {\n return;\n }\n this._renderPageChunk(value, intentState);\n pump();\n }, reason => {\n intentState.streamReader = null;\n if (this._transport.destroyed) {\n return;\n }\n if (intentState.operatorList) {\n intentState.operatorList.lastChunk = true;\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n this.#tryCleanup(true);\n }\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(reason);\n } else if (intentState.opListReadCapability) {\n intentState.opListReadCapability.reject(reason);\n } else {\n throw reason;\n }\n });\n };\n pump();\n }\n _abortOperatorList({\n intentState,\n reason,\n force = false\n }) {\n if (!intentState.streamReader) {\n return;\n }\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n if (!force) {\n if (intentState.renderTasks.size > 0) {\n return;\n }\n if (reason instanceof _display_utils.RenderingCancelledException) {\n let delay = RENDERING_CANCELLED_TIMEOUT;\n if (reason.extraDelay > 0 && reason.extraDelay < 1000) {\n delay += reason.extraDelay;\n }\n intentState.streamReaderCancelTimeout = setTimeout(() => {\n intentState.streamReaderCancelTimeout = null;\n this._abortOperatorList({\n intentState,\n reason,\n force: true\n });\n }, delay);\n return;\n }\n }\n intentState.streamReader.cancel(new _util.AbortException(reason.message)).catch(() => {});\n intentState.streamReader = null;\n if (this._transport.destroyed) {\n return;\n }\n for (const [curCacheKey, curIntentState] of this._intentStates) {\n if (curIntentState === intentState) {\n this._intentStates.delete(curCacheKey);\n break;\n }\n }\n this.cleanup();\n }\n get stats() {\n return this._stats;\n }\n}\nexports.PDFPageProxy = PDFPageProxy;\nclass LoopbackPort {\n #listeners = new Set();\n #deferred = Promise.resolve();\n postMessage(obj, transfer) {\n const event = {\n data: structuredClone(obj, transfer ? {\n transfer\n } : null)\n };\n this.#deferred.then(() => {\n for (const listener of this.#listeners) {\n listener.call(this, event);\n }\n });\n }\n addEventListener(name, listener) {\n this.#listeners.add(listener);\n }\n removeEventListener(name, listener) {\n this.#listeners.delete(listener);\n }\n terminate() {\n this.#listeners.clear();\n }\n}\nexports.LoopbackPort = LoopbackPort;\nconst PDFWorkerUtil = {\n isWorkerDisabled: false,\n fallbackWorkerSrc: null,\n fakeWorkerId: 0\n};\nexports.PDFWorkerUtil = PDFWorkerUtil;\n{\n if (_util.isNodeJS && typeof require === \"function\") {\n PDFWorkerUtil.isWorkerDisabled = true;\n PDFWorkerUtil.fallbackWorkerSrc = \"./pdf.worker.js\";\n } else if (typeof document === \"object\") {\n const pdfjsFilePath = document?.currentScript?.src;\n if (pdfjsFilePath) {\n PDFWorkerUtil.fallbackWorkerSrc = pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i, \".worker$1$2\");\n }\n }\n PDFWorkerUtil.isSameOrigin = function (baseUrl, otherUrl) {\n let base;\n try {\n base = new URL(baseUrl);\n if (!base.origin || base.origin === \"null\") {\n return false;\n }\n } catch {\n return false;\n }\n const other = new URL(otherUrl, base);\n return base.origin === other.origin;\n };\n PDFWorkerUtil.createCDNWrapper = function (url) {\n const wrapper = `importScripts(\"${url}\");`;\n return URL.createObjectURL(new Blob([wrapper]));\n };\n}\nclass PDFWorker {\n static #workerPorts;\n constructor({\n name = null,\n port = null,\n verbosity = (0, _util.getVerbosityLevel)()\n } = {}) {\n this.name = name;\n this.destroyed = false;\n this.verbosity = verbosity;\n this._readyCapability = new _util.PromiseCapability();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n if (port) {\n if (PDFWorker.#workerPorts?.has(port)) {\n throw new Error(\"Cannot use more than one PDFWorker per port.\");\n }\n (PDFWorker.#workerPorts ||= new WeakMap()).set(port, this);\n this._initializeFromPort(port);\n return;\n }\n this._initialize();\n }\n get promise() {\n return this._readyCapability.promise;\n }\n get port() {\n return this._port;\n }\n get messageHandler() {\n return this._messageHandler;\n }\n _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", port);\n this._messageHandler.on(\"ready\", function () {});\n this._readyCapability.resolve();\n this._messageHandler.send(\"configure\", {\n verbosity: this.verbosity\n });\n }\n _initialize() {\n if (!PDFWorkerUtil.isWorkerDisabled && !PDFWorker._mainThreadWorkerMessageHandler) {\n let {\n workerSrc\n } = PDFWorker;\n try {\n if (!PDFWorkerUtil.isSameOrigin(window.location.href, workerSrc)) {\n workerSrc = PDFWorkerUtil.createCDNWrapper(new URL(workerSrc, window.location).href);\n }\n const worker = new Worker(workerSrc);\n const messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", worker);\n const terminateEarly = () => {\n worker.removeEventListener(\"error\", onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n this._setupFakeWorker();\n }\n };\n const onWorkerError = () => {\n if (!this._webWorker) {\n terminateEarly();\n }\n };\n worker.addEventListener(\"error\", onWorkerError);\n messageHandler.on(\"test\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return;\n }\n if (data) {\n this._messageHandler = messageHandler;\n this._port = worker;\n this._webWorker = worker;\n this._readyCapability.resolve();\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity\n });\n } else {\n this._setupFakeWorker();\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on(\"ready\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return;\n }\n try {\n sendTest();\n } catch {\n this._setupFakeWorker();\n }\n });\n const sendTest = () => {\n const testObj = new Uint8Array();\n messageHandler.send(\"test\", testObj, [testObj.buffer]);\n };\n sendTest();\n return;\n } catch {\n (0, _util.info)(\"The worker has been disabled.\");\n }\n }\n this._setupFakeWorker();\n }\n _setupFakeWorker() {\n if (!PDFWorkerUtil.isWorkerDisabled) {\n (0, _util.warn)(\"Setting up fake worker.\");\n PDFWorkerUtil.isWorkerDisabled = true;\n }\n PDFWorker._setupFakeWorkerGlobal.then(WorkerMessageHandler => {\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n return;\n }\n const port = new LoopbackPort();\n this._port = port;\n const id = `fake${PDFWorkerUtil.fakeWorkerId++}`;\n const workerHandler = new _message_handler.MessageHandler(id + \"_worker\", id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n const messageHandler = new _message_handler.MessageHandler(id, id + \"_worker\", port);\n this._messageHandler = messageHandler;\n this._readyCapability.resolve();\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity\n });\n }).catch(reason => {\n this._readyCapability.reject(new Error(`Setting up fake worker failed: \"${reason.message}\".`));\n });\n }\n destroy() {\n this.destroyed = true;\n if (this._webWorker) {\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 static fromPort(params) {\n if (!params?.port) {\n throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n }\n const cachedPort = this.#workerPorts?.get(params.port);\n if (cachedPort) {\n if (cachedPort._pendingDestroy) {\n throw new Error(\"PDFWorker.fromPort - the worker is being destroyed.\\n\" + \"Please remember to await `PDFDocumentLoadingTask.destroy()`-calls.\");\n }\n return cachedPort;\n }\n return new PDFWorker(params);\n }\n static get workerSrc() {\n if (_worker_options.GlobalWorkerOptions.workerSrc) {\n return _worker_options.GlobalWorkerOptions.workerSrc;\n }\n if (PDFWorkerUtil.fallbackWorkerSrc !== null) {\n if (!_util.isNodeJS) {\n (0, _display_utils.deprecated)('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n return PDFWorkerUtil.fallbackWorkerSrc;\n }\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n static get _mainThreadWorkerMessageHandler() {\n try {\n return globalThis.pdfjsWorker?.WorkerMessageHandler || null;\n } catch {\n return null;\n }\n }\n static get _setupFakeWorkerGlobal() {\n const loader = async () => {\n const mainWorkerMessageHandler = this._mainThreadWorkerMessageHandler;\n if (mainWorkerMessageHandler) {\n return mainWorkerMessageHandler;\n }\n if (_util.isNodeJS && typeof require === \"function\") {\n const worker = eval(\"require\")(this.workerSrc);\n return worker.WorkerMessageHandler;\n }\n await (0, _display_utils.loadScript)(this.workerSrc);\n return window.pdfjsWorker.WorkerMessageHandler;\n };\n return (0, _util.shadow)(this, \"_setupFakeWorkerGlobal\", loader());\n }\n}\nexports.PDFWorker = PDFWorker;\nclass WorkerTransport {\n #methodPromises = new Map();\n #pageCache = new Map();\n #pagePromises = new Map();\n #passwordCapability = null;\n constructor(messageHandler, loadingTask, networkStream, params, factory) {\n this.messageHandler = messageHandler;\n this.loadingTask = loadingTask;\n this.commonObjs = new PDFObjects();\n this.fontLoader = new _font_loader.FontLoader({\n ownerDocument: params.ownerDocument,\n styleElement: params.styleElement\n });\n this._params = params;\n this.canvasFactory = factory.canvasFactory;\n this.filterFactory = factory.filterFactory;\n this.cMapReaderFactory = factory.cMapReaderFactory;\n this.standardFontDataFactory = factory.standardFontDataFactory;\n this.destroyed = false;\n this.destroyCapability = null;\n this._networkStream = networkStream;\n this._fullReader = null;\n this._lastProgress = null;\n this.downloadInfoCapability = new _util.PromiseCapability();\n this.setupMessageHandler();\n }\n #cacheSimpleMethod(name, data = null) {\n const cachedPromise = this.#methodPromises.get(name);\n if (cachedPromise) {\n return cachedPromise;\n }\n const promise = this.messageHandler.sendWithPromise(name, data);\n this.#methodPromises.set(name, promise);\n return promise;\n }\n get annotationStorage() {\n return (0, _util.shadow)(this, \"annotationStorage\", new _annotation_storage.AnnotationStorage());\n }\n getRenderingIntent(intent, annotationMode = _util.AnnotationMode.ENABLE, printAnnotationStorage = null, isOpList = false) {\n let renderingIntent = _util.RenderingIntentFlag.DISPLAY;\n let annotationStorageSerializable = _annotation_storage.SerializableEmpty;\n switch (intent) {\n case \"any\":\n renderingIntent = _util.RenderingIntentFlag.ANY;\n break;\n case \"display\":\n break;\n case \"print\":\n renderingIntent = _util.RenderingIntentFlag.PRINT;\n break;\n default:\n (0, _util.warn)(`getRenderingIntent - invalid intent: ${intent}`);\n }\n switch (annotationMode) {\n case _util.AnnotationMode.DISABLE:\n renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_DISABLE;\n break;\n case _util.AnnotationMode.ENABLE:\n break;\n case _util.AnnotationMode.ENABLE_FORMS:\n renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_FORMS;\n break;\n case _util.AnnotationMode.ENABLE_STORAGE:\n renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_STORAGE;\n const annotationStorage = renderingIntent & _util.RenderingIntentFlag.PRINT && printAnnotationStorage instanceof _annotation_storage.PrintAnnotationStorage ? printAnnotationStorage : this.annotationStorage;\n annotationStorageSerializable = annotationStorage.serializable;\n break;\n default:\n (0, _util.warn)(`getRenderingIntent - invalid annotationMode: ${annotationMode}`);\n }\n if (isOpList) {\n renderingIntent += _util.RenderingIntentFlag.OPLIST;\n }\n return {\n renderingIntent,\n cacheKey: `${renderingIntent}_${annotationStorageSerializable.hash}`,\n annotationStorageSerializable\n };\n }\n destroy() {\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n this.destroyed = true;\n this.destroyCapability = new _util.PromiseCapability();\n this.#passwordCapability?.reject(new Error(\"Worker was destroyed during onPassword callback\"));\n const waitOn = [];\n for (const page of this.#pageCache.values()) {\n waitOn.push(page._destroy());\n }\n this.#pageCache.clear();\n this.#pagePromises.clear();\n if (this.hasOwnProperty(\"annotationStorage\")) {\n this.annotationStorage.resetModified();\n }\n const terminated = this.messageHandler.sendWithPromise(\"Terminate\", null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(() => {\n this.commonObjs.clear();\n this.fontLoader.clear();\n this.#methodPromises.clear();\n this.filterFactory.destroy();\n this._networkStream?.cancelAllRequests(new _util.AbortException(\"Worker was terminated.\"));\n if (this.messageHandler) {\n this.messageHandler.destroy();\n this.messageHandler = null;\n }\n this.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n setupMessageHandler() {\n const {\n messageHandler,\n loadingTask\n } = this;\n messageHandler.on(\"GetReader\", (data, sink) => {\n (0, _util.assert)(this._networkStream, \"GetReader - no `IPDFStream` instance available.\");\n this._fullReader = this._networkStream.getFullReader();\n this._fullReader.onProgress = evt => {\n this._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n sink.onPull = () => {\n this._fullReader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n sink.close();\n return;\n }\n (0, _util.assert)(value instanceof ArrayBuffer, \"GetReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(reason => {\n sink.error(reason);\n });\n };\n sink.onCancel = reason => {\n this._fullReader.cancel(reason);\n sink.ready.catch(readyReason => {\n if (this.destroyed) {\n return;\n }\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"ReaderHeadersReady\", data => {\n const headersCapability = new _util.PromiseCapability();\n const fullReader = this._fullReader;\n fullReader.headersReady.then(() => {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (this._lastProgress) {\n loadingTask.onProgress?.(this._lastProgress);\n }\n fullReader.onProgress = evt => {\n loadingTask.onProgress?.({\n loaded: evt.loaded,\n total: evt.total\n });\n };\n }\n headersCapability.resolve({\n isStreamingSupported: fullReader.isStreamingSupported,\n isRangeSupported: fullReader.isRangeSupported,\n contentLength: fullReader.contentLength\n });\n }, headersCapability.reject);\n return headersCapability.promise;\n });\n messageHandler.on(\"GetRangeReader\", (data, sink) => {\n (0, _util.assert)(this._networkStream, \"GetRangeReader - no `IPDFStream` instance available.\");\n const rangeReader = this._networkStream.getRangeReader(data.begin, data.end);\n if (!rangeReader) {\n sink.close();\n return;\n }\n sink.onPull = () => {\n rangeReader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n sink.close();\n return;\n }\n (0, _util.assert)(value instanceof ArrayBuffer, \"GetRangeReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(reason => {\n sink.error(reason);\n });\n };\n sink.onCancel = reason => {\n rangeReader.cancel(reason);\n sink.ready.catch(readyReason => {\n if (this.destroyed) {\n return;\n }\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"GetDoc\", ({\n pdfInfo\n }) => {\n this._numPages = pdfInfo.numPages;\n this._htmlForXfa = pdfInfo.htmlForXfa;\n delete pdfInfo.htmlForXfa;\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, this));\n });\n messageHandler.on(\"DocException\", function (ex) {\n let reason;\n switch (ex.name) {\n case \"PasswordException\":\n reason = new _util.PasswordException(ex.message, ex.code);\n break;\n case \"InvalidPDFException\":\n reason = new _util.InvalidPDFException(ex.message);\n break;\n case \"MissingPDFException\":\n reason = new _util.MissingPDFException(ex.message);\n break;\n case \"UnexpectedResponseException\":\n reason = new _util.UnexpectedResponseException(ex.message, ex.status);\n break;\n case \"UnknownErrorException\":\n reason = new _util.UnknownErrorException(ex.message, ex.details);\n break;\n default:\n (0, _util.unreachable)(\"DocException - expected a valid Error.\");\n }\n loadingTask._capability.reject(reason);\n });\n messageHandler.on(\"PasswordRequest\", exception => {\n this.#passwordCapability = new _util.PromiseCapability();\n if (loadingTask.onPassword) {\n const updatePassword = password => {\n if (password instanceof Error) {\n this.#passwordCapability.reject(password);\n } else {\n this.#passwordCapability.resolve({\n password\n });\n }\n };\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n this.#passwordCapability.reject(ex);\n }\n } else {\n this.#passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n return this.#passwordCapability.promise;\n });\n messageHandler.on(\"DataLoaded\", data => {\n loadingTask.onProgress?.({\n loaded: data.length,\n total: data.length\n });\n this.downloadInfoCapability.resolve(data);\n });\n messageHandler.on(\"StartRenderPage\", data => {\n if (this.destroyed) {\n return;\n }\n const page = this.#pageCache.get(data.pageIndex);\n page._startRenderPage(data.transparency, data.cacheKey);\n });\n messageHandler.on(\"commonobj\", ([id, type, exportedData]) => {\n if (this.destroyed) {\n return;\n }\n if (this.commonObjs.has(id)) {\n return;\n }\n switch (type) {\n case \"Font\":\n const params = this._params;\n if (\"error\" in exportedData) {\n const exportedError = exportedData.error;\n (0, _util.warn)(`Error during font loading: ${exportedError}`);\n this.commonObjs.resolve(id, exportedError);\n break;\n }\n const inspectFont = params.pdfBug && globalThis.FontInspector?.enabled ? (font, url) => globalThis.FontInspector.fontAdded(font, url) : null;\n const font = new _font_loader.FontFaceObject(exportedData, {\n isEvalSupported: params.isEvalSupported,\n disableFontFace: params.disableFontFace,\n ignoreErrors: params.ignoreErrors,\n inspectFont\n });\n this.fontLoader.bind(font).catch(reason => {\n return messageHandler.sendWithPromise(\"FontFallback\", {\n id\n });\n }).finally(() => {\n if (!params.fontExtraProperties && font.data) {\n font.data = null;\n }\n this.commonObjs.resolve(id, font);\n });\n break;\n case \"FontPath\":\n case \"Image\":\n case \"Pattern\":\n this.commonObjs.resolve(id, exportedData);\n break;\n default:\n throw new Error(`Got unknown common object type ${type}`);\n }\n });\n messageHandler.on(\"obj\", ([id, pageIndex, type, imageData]) => {\n if (this.destroyed) {\n return;\n }\n const pageProxy = this.#pageCache.get(pageIndex);\n if (pageProxy.objs.has(id)) {\n return;\n }\n switch (type) {\n case \"Image\":\n pageProxy.objs.resolve(id, imageData);\n if (imageData) {\n let length;\n if (imageData.bitmap) {\n const {\n width,\n height\n } = imageData;\n length = width * height * 4;\n } else {\n length = imageData.data?.length || 0;\n }\n if (length > _util.MAX_IMAGE_SIZE_TO_CACHE) {\n pageProxy._maybeCleanupAfterRender = true;\n }\n }\n break;\n case \"Pattern\":\n pageProxy.objs.resolve(id, imageData);\n break;\n default:\n throw new Error(`Got unknown object type ${type}`);\n }\n });\n messageHandler.on(\"DocProgress\", data => {\n if (this.destroyed) {\n return;\n }\n loadingTask.onProgress?.({\n loaded: data.loaded,\n total: data.total\n });\n });\n messageHandler.on(\"FetchBuiltInCMap\", data => {\n if (this.destroyed) {\n return Promise.reject(new Error(\"Worker was destroyed.\"));\n }\n if (!this.cMapReaderFactory) {\n return Promise.reject(new Error(\"CMapReaderFactory not initialized, see the `useWorkerFetch` parameter.\"));\n }\n return this.cMapReaderFactory.fetch(data);\n });\n messageHandler.on(\"FetchStandardFontData\", data => {\n if (this.destroyed) {\n return Promise.reject(new Error(\"Worker was destroyed.\"));\n }\n if (!this.standardFontDataFactory) {\n return Promise.reject(new Error(\"StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter.\"));\n }\n return this.standardFontDataFactory.fetch(data);\n });\n }\n getData() {\n return this.messageHandler.sendWithPromise(\"GetData\", null);\n }\n saveDocument() {\n if (this.annotationStorage.size <= 0) {\n (0, _util.warn)(\"saveDocument called while `annotationStorage` is empty, \" + \"please use the getData-method instead.\");\n }\n const {\n map,\n transfers\n } = this.annotationStorage.serializable;\n return this.messageHandler.sendWithPromise(\"SaveDocument\", {\n isPureXfa: !!this._htmlForXfa,\n numPages: this._numPages,\n annotationStorage: map,\n filename: this._fullReader?.filename ?? null\n }, transfers).finally(() => {\n this.annotationStorage.resetModified();\n });\n }\n getPage(pageNumber) {\n if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {\n return Promise.reject(new Error(\"Invalid page request.\"));\n }\n const pageIndex = pageNumber - 1,\n cachedPromise = this.#pagePromises.get(pageIndex);\n if (cachedPromise) {\n return cachedPromise;\n }\n const promise = this.messageHandler.sendWithPromise(\"GetPage\", {\n pageIndex\n }).then(pageInfo => {\n if (this.destroyed) {\n throw new Error(\"Transport destroyed\");\n }\n const page = new PDFPageProxy(pageIndex, pageInfo, this, this._params.pdfBug);\n this.#pageCache.set(pageIndex, page);\n return page;\n });\n this.#pagePromises.set(pageIndex, promise);\n return promise;\n }\n getPageIndex(ref) {\n if (typeof ref !== \"object\" || ref === null || !Number.isInteger(ref.num) || ref.num < 0 || !Number.isInteger(ref.gen) || ref.gen < 0) {\n return Promise.reject(new Error(\"Invalid pageIndex request.\"));\n }\n return this.messageHandler.sendWithPromise(\"GetPageIndex\", {\n num: ref.num,\n gen: ref.gen\n });\n }\n getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise(\"GetAnnotations\", {\n pageIndex,\n intent\n });\n }\n getFieldObjects() {\n return this.#cacheSimpleMethod(\"GetFieldObjects\");\n }\n hasJSActions() {\n return this.#cacheSimpleMethod(\"HasJSActions\");\n }\n getCalculationOrderIds() {\n return this.messageHandler.sendWithPromise(\"GetCalculationOrderIds\", null);\n }\n getDestinations() {\n return this.messageHandler.sendWithPromise(\"GetDestinations\", null);\n }\n getDestination(id) {\n if (typeof id !== \"string\") {\n return Promise.reject(new Error(\"Invalid destination request.\"));\n }\n return this.messageHandler.sendWithPromise(\"GetDestination\", {\n id\n });\n }\n getPageLabels() {\n return this.messageHandler.sendWithPromise(\"GetPageLabels\", null);\n }\n getPageLayout() {\n return this.messageHandler.sendWithPromise(\"GetPageLayout\", null);\n }\n getPageMode() {\n return this.messageHandler.sendWithPromise(\"GetPageMode\", null);\n }\n getViewerPreferences() {\n return this.messageHandler.sendWithPromise(\"GetViewerPreferences\", null);\n }\n getOpenAction() {\n return this.messageHandler.sendWithPromise(\"GetOpenAction\", null);\n }\n getAttachments() {\n return this.messageHandler.sendWithPromise(\"GetAttachments\", null);\n }\n getDocJSActions() {\n return this.#cacheSimpleMethod(\"GetDocJSActions\");\n }\n getPageJSActions(pageIndex) {\n return this.messageHandler.sendWithPromise(\"GetPageJSActions\", {\n pageIndex\n });\n }\n getStructTree(pageIndex) {\n return this.messageHandler.sendWithPromise(\"GetStructTree\", {\n pageIndex\n });\n }\n getOutline() {\n return this.messageHandler.sendWithPromise(\"GetOutline\", null);\n }\n getOptionalContentConfig() {\n return this.messageHandler.sendWithPromise(\"GetOptionalContentConfig\", null).then(results => {\n return new _optional_content_config.OptionalContentConfig(results);\n });\n }\n getPermissions() {\n return this.messageHandler.sendWithPromise(\"GetPermissions\", null);\n }\n getMetadata() {\n const name = \"GetMetadata\",\n cachedPromise = this.#methodPromises.get(name);\n if (cachedPromise) {\n return cachedPromise;\n }\n const promise = this.messageHandler.sendWithPromise(name, null).then(results => {\n return {\n info: results[0],\n metadata: results[1] ? new _metadata.Metadata(results[1]) : null,\n contentDispositionFilename: this._fullReader?.filename ?? null,\n contentLength: this._fullReader?.contentLength ?? null\n };\n });\n this.#methodPromises.set(name, promise);\n return promise;\n }\n getMarkInfo() {\n return this.messageHandler.sendWithPromise(\"GetMarkInfo\", null);\n }\n async startCleanup(keepLoadedFonts = false) {\n if (this.destroyed) {\n return;\n }\n await this.messageHandler.sendWithPromise(\"Cleanup\", null);\n for (const page of this.#pageCache.values()) {\n const cleanupSuccessful = page.cleanup();\n if (!cleanupSuccessful) {\n throw new Error(`startCleanup: Page ${page.pageNumber} is currently rendering.`);\n }\n }\n this.commonObjs.clear();\n if (!keepLoadedFonts) {\n this.fontLoader.clear();\n }\n this.#methodPromises.clear();\n this.filterFactory.destroy(true);\n }\n get loadingParams() {\n const {\n disableAutoFetch,\n enableXfa\n } = this._params;\n return (0, _util.shadow)(this, \"loadingParams\", {\n disableAutoFetch,\n enableXfa\n });\n }\n}\nclass PDFObjects {\n #objs = Object.create(null);\n #ensureObj(objId) {\n return this.#objs[objId] ||= {\n capability: new _util.PromiseCapability(),\n data: null\n };\n }\n get(objId, callback = null) {\n if (callback) {\n const obj = this.#ensureObj(objId);\n obj.capability.promise.then(() => callback(obj.data));\n return null;\n }\n const obj = this.#objs[objId];\n if (!obj?.capability.settled) {\n throw new Error(`Requesting object that isn't resolved yet ${objId}.`);\n }\n return obj.data;\n }\n has(objId) {\n const obj = this.#objs[objId];\n return obj?.capability.settled || false;\n }\n resolve(objId, data = null) {\n const obj = this.#ensureObj(objId);\n obj.data = data;\n obj.capability.resolve();\n }\n clear() {\n for (const objId in this.#objs) {\n const {\n data\n } = this.#objs[objId];\n data?.bitmap?.close();\n }\n this.#objs = Object.create(null);\n }\n}\nclass RenderTask {\n #internalRenderTask = null;\n constructor(internalRenderTask) {\n this.#internalRenderTask = internalRenderTask;\n this.onContinue = null;\n }\n get promise() {\n return this.#internalRenderTask.capability.promise;\n }\n cancel(extraDelay = 0) {\n this.#internalRenderTask.cancel(null, extraDelay);\n }\n get separateAnnots() {\n const {\n separateAnnots\n } = this.#internalRenderTask.operatorList;\n if (!separateAnnots) {\n return false;\n }\n const {\n annotationCanvasMap\n } = this.#internalRenderTask;\n return separateAnnots.form || separateAnnots.canvas && annotationCanvasMap?.size > 0;\n }\n}\nexports.RenderTask = RenderTask;\nclass InternalRenderTask {\n static #canvasInUse = new WeakSet();\n constructor({\n callback,\n params,\n objs,\n commonObjs,\n annotationCanvasMap,\n operatorList,\n pageIndex,\n canvasFactory,\n filterFactory,\n useRequestAnimationFrame = false,\n pdfBug = false,\n pageColors = null\n }) {\n this.callback = callback;\n this.params = params;\n this.objs = objs;\n this.commonObjs = commonObjs;\n this.annotationCanvasMap = annotationCanvasMap;\n this.operatorListIdx = null;\n this.operatorList = operatorList;\n this._pageIndex = pageIndex;\n this.canvasFactory = canvasFactory;\n this.filterFactory = filterFactory;\n this._pdfBug = pdfBug;\n this.pageColors = pageColors;\n this.running = false;\n this.graphicsReadyCallback = null;\n this.graphicsReady = false;\n this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== \"undefined\";\n this.cancelled = false;\n this.capability = new _util.PromiseCapability();\n this.task = new RenderTask(this);\n this._cancelBound = this.cancel.bind(this);\n this._continueBound = this._continue.bind(this);\n this._scheduleNextBound = this._scheduleNext.bind(this);\n this._nextBound = this._next.bind(this);\n this._canvas = params.canvasContext.canvas;\n }\n get completed() {\n return this.capability.promise.catch(function () {});\n }\n initializeGraphics({\n transparency = false,\n optionalContentConfig\n }) {\n if (this.cancelled) {\n return;\n }\n if (this._canvas) {\n if (InternalRenderTask.#canvasInUse.has(this._canvas)) {\n throw new Error(\"Cannot use the same canvas during multiple render() operations. \" + \"Use different canvas or ensure previous operations were \" + \"cancelled or completed.\");\n }\n InternalRenderTask.#canvasInUse.add(this._canvas);\n }\n if (this._pdfBug && globalThis.StepperManager?.enabled) {\n this.stepper = globalThis.StepperManager.create(this._pageIndex);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n const {\n canvasContext,\n viewport,\n transform,\n background\n } = this.params;\n this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.filterFactory, {\n optionalContentConfig\n }, this.annotationCanvasMap, this.pageColors);\n this.gfx.beginDrawing({\n transform,\n viewport,\n transparency,\n background\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n this.graphicsReadyCallback?.();\n }\n cancel(error = null, extraDelay = 0) {\n this.running = false;\n this.cancelled = true;\n this.gfx?.endDrawing();\n InternalRenderTask.#canvasInUse.delete(this._canvas);\n this.callback(error || new _display_utils.RenderingCancelledException(`Rendering cancelled, page ${this._pageIndex + 1}`, extraDelay));\n }\n operatorListChanged() {\n if (!this.graphicsReady) {\n this.graphicsReadyCallback ||= this._continueBound;\n return;\n }\n this.stepper?.updateOperatorList(this.operatorList);\n if (this.running) {\n return;\n }\n this._continue();\n }\n _continue() {\n this.running = true;\n if (this.cancelled) {\n return;\n }\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n }\n _scheduleNext() {\n if (this._useRequestAnimationFrame) {\n window.requestAnimationFrame(() => {\n this._nextBound().catch(this._cancelBound);\n });\n } else {\n Promise.resolve().then(this._nextBound).catch(this._cancelBound);\n }\n }\n async _next() {\n if (this.cancelled) {\n return;\n }\n this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);\n if (this.operatorListIdx === this.operatorList.argsArray.length) {\n this.running = false;\n if (this.operatorList.lastChunk) {\n this.gfx.endDrawing();\n InternalRenderTask.#canvasInUse.delete(this._canvas);\n this.callback();\n }\n }\n }\n}\nconst version = '3.11.174';\nexports.version = version;\nconst build = 'ce8716743';\nexports.build = build;\n\n/***/ }),\n/* 3 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.SerializableEmpty = exports.PrintAnnotationStorage = exports.AnnotationStorage = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _editor = __w_pdfjs_require__(4);\nvar _murmurhash = __w_pdfjs_require__(8);\nconst SerializableEmpty = Object.freeze({\n map: null,\n hash: \"\",\n transfers: undefined\n});\nexports.SerializableEmpty = SerializableEmpty;\nclass AnnotationStorage {\n #modified = false;\n #storage = new Map();\n constructor() {\n this.onSetModified = null;\n this.onResetModified = null;\n this.onAnnotationEditor = null;\n }\n getValue(key, defaultValue) {\n const value = this.#storage.get(key);\n if (value === undefined) {\n return defaultValue;\n }\n return Object.assign(defaultValue, value);\n }\n getRawValue(key) {\n return this.#storage.get(key);\n }\n remove(key) {\n this.#storage.delete(key);\n if (this.#storage.size === 0) {\n this.resetModified();\n }\n if (typeof this.onAnnotationEditor === \"function\") {\n for (const value of this.#storage.values()) {\n if (value instanceof _editor.AnnotationEditor) {\n return;\n }\n }\n this.onAnnotationEditor(null);\n }\n }\n setValue(key, value) {\n const obj = this.#storage.get(key);\n let modified = false;\n if (obj !== undefined) {\n for (const [entry, val] of Object.entries(value)) {\n if (obj[entry] !== val) {\n modified = true;\n obj[entry] = val;\n }\n }\n } else {\n modified = true;\n this.#storage.set(key, value);\n }\n if (modified) {\n this.#setModified();\n }\n if (value instanceof _editor.AnnotationEditor && typeof this.onAnnotationEditor === \"function\") {\n this.onAnnotationEditor(value.constructor._type);\n }\n }\n has(key) {\n return this.#storage.has(key);\n }\n getAll() {\n return this.#storage.size > 0 ? (0, _util.objectFromMap)(this.#storage) : null;\n }\n setAll(obj) {\n for (const [key, val] of Object.entries(obj)) {\n this.setValue(key, val);\n }\n }\n get size() {\n return this.#storage.size;\n }\n #setModified() {\n if (!this.#modified) {\n this.#modified = true;\n if (typeof this.onSetModified === \"function\") {\n this.onSetModified();\n }\n }\n }\n resetModified() {\n if (this.#modified) {\n this.#modified = false;\n if (typeof this.onResetModified === \"function\") {\n this.onResetModified();\n }\n }\n }\n get print() {\n return new PrintAnnotationStorage(this);\n }\n get serializable() {\n if (this.#storage.size === 0) {\n return SerializableEmpty;\n }\n const map = new Map(),\n hash = new _murmurhash.MurmurHash3_64(),\n transfers = [];\n const context = Object.create(null);\n let hasBitmap = false;\n for (const [key, val] of this.#storage) {\n const serialized = val instanceof _editor.AnnotationEditor ? val.serialize(false, context) : val;\n if (serialized) {\n map.set(key, serialized);\n hash.update(`${key}:${JSON.stringify(serialized)}`);\n hasBitmap ||= !!serialized.bitmap;\n }\n }\n if (hasBitmap) {\n for (const value of map.values()) {\n if (value.bitmap) {\n transfers.push(value.bitmap);\n }\n }\n }\n return map.size > 0 ? {\n map,\n hash: hash.hexdigest(),\n transfers\n } : SerializableEmpty;\n }\n}\nexports.AnnotationStorage = AnnotationStorage;\nclass PrintAnnotationStorage extends AnnotationStorage {\n #serializable;\n constructor(parent) {\n super();\n const {\n map,\n hash,\n transfers\n } = parent.serializable;\n const clone = structuredClone(map, transfers ? {\n transfer: transfers\n } : null);\n this.#serializable = {\n map: clone,\n hash,\n transfers\n };\n }\n get print() {\n (0, _util.unreachable)(\"Should not call PrintAnnotationStorage.print\");\n }\n get serializable() {\n return this.#serializable;\n }\n}\nexports.PrintAnnotationStorage = PrintAnnotationStorage;\n\n/***/ }),\n/* 4 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AnnotationEditor = void 0;\nvar _tools = __w_pdfjs_require__(5);\nvar _util = __w_pdfjs_require__(1);\nvar _display_utils = __w_pdfjs_require__(6);\nclass AnnotationEditor {\n #altText = \"\";\n #altTextDecorative = false;\n #altTextButton = null;\n #altTextTooltip = null;\n #altTextTooltipTimeout = null;\n #keepAspectRatio = false;\n #resizersDiv = null;\n #boundFocusin = this.focusin.bind(this);\n #boundFocusout = this.focusout.bind(this);\n #hasBeenClicked = false;\n #isEditing = false;\n #isInEditMode = false;\n _initialOptions = Object.create(null);\n _uiManager = null;\n _focusEventsAllowed = true;\n _l10nPromise = null;\n #isDraggable = false;\n #zIndex = AnnotationEditor._zIndex++;\n static _borderLineWidth = -1;\n static _colorManager = new _tools.ColorManager();\n static _zIndex = 1;\n static SMALL_EDITOR_SIZE = 0;\n constructor(parameters) {\n if (this.constructor === AnnotationEditor) {\n (0, _util.unreachable)(\"Cannot initialize AnnotationEditor.\");\n }\n this.parent = parameters.parent;\n this.id = parameters.id;\n this.width = this.height = null;\n this.pageIndex = parameters.parent.pageIndex;\n this.name = parameters.name;\n this.div = null;\n this._uiManager = parameters.uiManager;\n this.annotationElementId = null;\n this._willKeepAspectRatio = false;\n this._initialOptions.isCentered = parameters.isCentered;\n this._structTreeParentId = null;\n const {\n rotation,\n rawDims: {\n pageWidth,\n pageHeight,\n pageX,\n pageY\n }\n } = this.parent.viewport;\n this.rotation = rotation;\n this.pageRotation = (360 + rotation - this._uiManager.viewParameters.rotation) % 360;\n this.pageDimensions = [pageWidth, pageHeight];\n this.pageTranslation = [pageX, pageY];\n const [width, height] = this.parentDimensions;\n this.x = parameters.x / width;\n this.y = parameters.y / height;\n this.isAttachedToDOM = false;\n this.deleted = false;\n }\n get editorType() {\n return Object.getPrototypeOf(this).constructor._type;\n }\n static get _defaultLineColor() {\n return (0, _util.shadow)(this, \"_defaultLineColor\", this._colorManager.getHexCode(\"CanvasText\"));\n }\n static deleteAnnotationElement(editor) {\n const fakeEditor = new FakeEditor({\n id: editor.parent.getNextId(),\n parent: editor.parent,\n uiManager: editor._uiManager\n });\n fakeEditor.annotationElementId = editor.annotationElementId;\n fakeEditor.deleted = true;\n fakeEditor._uiManager.addToAnnotationStorage(fakeEditor);\n }\n static initialize(l10n, options = null) {\n AnnotationEditor._l10nPromise ||= new Map([\"editor_alt_text_button_label\", \"editor_alt_text_edit_button_label\", \"editor_alt_text_decorative_tooltip\"].map(str => [str, l10n.get(str)]));\n if (options?.strings) {\n for (const str of options.strings) {\n AnnotationEditor._l10nPromise.set(str, l10n.get(str));\n }\n }\n if (AnnotationEditor._borderLineWidth !== -1) {\n return;\n }\n const style = getComputedStyle(document.documentElement);\n AnnotationEditor._borderLineWidth = parseFloat(style.getPropertyValue(\"--outline-width\")) || 0;\n }\n static updateDefaultParams(_type, _value) {}\n static get defaultPropertiesToUpdate() {\n return [];\n }\n static isHandlingMimeForPasting(mime) {\n return false;\n }\n static paste(item, parent) {\n (0, _util.unreachable)(\"Not implemented\");\n }\n get propertiesToUpdate() {\n return [];\n }\n get _isDraggable() {\n return this.#isDraggable;\n }\n set _isDraggable(value) {\n this.#isDraggable = value;\n this.div?.classList.toggle(\"draggable\", value);\n }\n center() {\n const [pageWidth, pageHeight] = this.pageDimensions;\n switch (this.parentRotation) {\n case 90:\n this.x -= this.height * pageHeight / (pageWidth * 2);\n this.y += this.width * pageWidth / (pageHeight * 2);\n break;\n case 180:\n this.x += this.width / 2;\n this.y += this.height / 2;\n break;\n case 270:\n this.x += this.height * pageHeight / (pageWidth * 2);\n this.y -= this.width * pageWidth / (pageHeight * 2);\n break;\n default:\n this.x -= this.width / 2;\n this.y -= this.height / 2;\n break;\n }\n this.fixAndSetPosition();\n }\n addCommands(params) {\n this._uiManager.addCommands(params);\n }\n get currentLayer() {\n return this._uiManager.currentLayer;\n }\n setInBackground() {\n this.div.style.zIndex = 0;\n }\n setInForeground() {\n this.div.style.zIndex = this.#zIndex;\n }\n setParent(parent) {\n if (parent !== null) {\n this.pageIndex = parent.pageIndex;\n this.pageDimensions = parent.pageDimensions;\n }\n this.parent = parent;\n }\n focusin(event) {\n if (!this._focusEventsAllowed) {\n return;\n }\n if (!this.#hasBeenClicked) {\n this.parent.setSelected(this);\n } else {\n this.#hasBeenClicked = false;\n }\n }\n focusout(event) {\n if (!this._focusEventsAllowed) {\n return;\n }\n if (!this.isAttachedToDOM) {\n return;\n }\n const target = event.relatedTarget;\n if (target?.closest(`#${this.id}`)) {\n return;\n }\n event.preventDefault();\n if (!this.parent?.isMultipleSelection) {\n this.commitOrRemove();\n }\n }\n commitOrRemove() {\n if (this.isEmpty()) {\n this.remove();\n } else {\n this.commit();\n }\n }\n commit() {\n this.addToAnnotationStorage();\n }\n addToAnnotationStorage() {\n this._uiManager.addToAnnotationStorage(this);\n }\n setAt(x, y, tx, ty) {\n const [width, height] = this.parentDimensions;\n [tx, ty] = this.screenToPageTranslation(tx, ty);\n this.x = (x + tx) / width;\n this.y = (y + ty) / height;\n this.fixAndSetPosition();\n }\n #translate([width, height], x, y) {\n [x, y] = this.screenToPageTranslation(x, y);\n this.x += x / width;\n this.y += y / height;\n this.fixAndSetPosition();\n }\n translate(x, y) {\n this.#translate(this.parentDimensions, x, y);\n }\n translateInPage(x, y) {\n this.#translate(this.pageDimensions, x, y);\n this.div.scrollIntoView({\n block: \"nearest\"\n });\n }\n drag(tx, ty) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.x += tx / parentWidth;\n this.y += ty / parentHeight;\n if (this.parent && (this.x < 0 || this.x > 1 || this.y < 0 || this.y > 1)) {\n const {\n x,\n y\n } = this.div.getBoundingClientRect();\n if (this.parent.findNewParent(this, x, y)) {\n this.x -= Math.floor(this.x);\n this.y -= Math.floor(this.y);\n }\n }\n let {\n x,\n y\n } = this;\n const [bx, by] = this.#getBaseTranslation();\n x += bx;\n y += by;\n this.div.style.left = `${(100 * x).toFixed(2)}%`;\n this.div.style.top = `${(100 * y).toFixed(2)}%`;\n this.div.scrollIntoView({\n block: \"nearest\"\n });\n }\n #getBaseTranslation() {\n const [parentWidth, parentHeight] = this.parentDimensions;\n const {\n _borderLineWidth\n } = AnnotationEditor;\n const x = _borderLineWidth / parentWidth;\n const y = _borderLineWidth / parentHeight;\n switch (this.rotation) {\n case 90:\n return [-x, y];\n case 180:\n return [x, y];\n case 270:\n return [x, -y];\n default:\n return [-x, -y];\n }\n }\n fixAndSetPosition() {\n const [pageWidth, pageHeight] = this.pageDimensions;\n let {\n x,\n y,\n width,\n height\n } = this;\n width *= pageWidth;\n height *= pageHeight;\n x *= pageWidth;\n y *= pageHeight;\n switch (this.rotation) {\n case 0:\n x = Math.max(0, Math.min(pageWidth - width, x));\n y = Math.max(0, Math.min(pageHeight - height, y));\n break;\n case 90:\n x = Math.max(0, Math.min(pageWidth - height, x));\n y = Math.min(pageHeight, Math.max(width, y));\n break;\n case 180:\n x = Math.min(pageWidth, Math.max(width, x));\n y = Math.min(pageHeight, Math.max(height, y));\n break;\n case 270:\n x = Math.min(pageWidth, Math.max(height, x));\n y = Math.max(0, Math.min(pageHeight - width, y));\n break;\n }\n this.x = x /= pageWidth;\n this.y = y /= pageHeight;\n const [bx, by] = this.#getBaseTranslation();\n x += bx;\n y += by;\n const {\n style\n } = this.div;\n style.left = `${(100 * x).toFixed(2)}%`;\n style.top = `${(100 * y).toFixed(2)}%`;\n this.moveInDOM();\n }\n static #rotatePoint(x, y, angle) {\n switch (angle) {\n case 90:\n return [y, -x];\n case 180:\n return [-x, -y];\n case 270:\n return [-y, x];\n default:\n return [x, y];\n }\n }\n screenToPageTranslation(x, y) {\n return AnnotationEditor.#rotatePoint(x, y, this.parentRotation);\n }\n pageTranslationToScreen(x, y) {\n return AnnotationEditor.#rotatePoint(x, y, 360 - this.parentRotation);\n }\n #getRotationMatrix(rotation) {\n switch (rotation) {\n case 90:\n {\n const [pageWidth, pageHeight] = this.pageDimensions;\n return [0, -pageWidth / pageHeight, pageHeight / pageWidth, 0];\n }\n case 180:\n return [-1, 0, 0, -1];\n case 270:\n {\n const [pageWidth, pageHeight] = this.pageDimensions;\n return [0, pageWidth / pageHeight, -pageHeight / pageWidth, 0];\n }\n default:\n return [1, 0, 0, 1];\n }\n }\n get parentScale() {\n return this._uiManager.viewParameters.realScale;\n }\n get parentRotation() {\n return (this._uiManager.viewParameters.rotation + this.pageRotation) % 360;\n }\n get parentDimensions() {\n const {\n parentScale,\n pageDimensions: [pageWidth, pageHeight]\n } = this;\n const scaledWidth = pageWidth * parentScale;\n const scaledHeight = pageHeight * parentScale;\n return _util.FeatureTest.isCSSRoundSupported ? [Math.round(scaledWidth), Math.round(scaledHeight)] : [scaledWidth, scaledHeight];\n }\n setDims(width, height) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.div.style.width = `${(100 * width / parentWidth).toFixed(2)}%`;\n if (!this.#keepAspectRatio) {\n this.div.style.height = `${(100 * height / parentHeight).toFixed(2)}%`;\n }\n this.#altTextButton?.classList.toggle(\"small\", width < AnnotationEditor.SMALL_EDITOR_SIZE || height < AnnotationEditor.SMALL_EDITOR_SIZE);\n }\n fixDims() {\n const {\n style\n } = this.div;\n const {\n height,\n width\n } = style;\n const widthPercent = width.endsWith(\"%\");\n const heightPercent = !this.#keepAspectRatio && height.endsWith(\"%\");\n if (widthPercent && heightPercent) {\n return;\n }\n const [parentWidth, parentHeight] = this.parentDimensions;\n if (!widthPercent) {\n style.width = `${(100 * parseFloat(width) / parentWidth).toFixed(2)}%`;\n }\n if (!this.#keepAspectRatio && !heightPercent) {\n style.height = `${(100 * parseFloat(height) / parentHeight).toFixed(2)}%`;\n }\n }\n getInitialTranslation() {\n return [0, 0];\n }\n #createResizers() {\n if (this.#resizersDiv) {\n return;\n }\n this.#resizersDiv = document.createElement(\"div\");\n this.#resizersDiv.classList.add(\"resizers\");\n const classes = [\"topLeft\", \"topRight\", \"bottomRight\", \"bottomLeft\"];\n if (!this._willKeepAspectRatio) {\n classes.push(\"topMiddle\", \"middleRight\", \"bottomMiddle\", \"middleLeft\");\n }\n for (const name of classes) {\n const div = document.createElement(\"div\");\n this.#resizersDiv.append(div);\n div.classList.add(\"resizer\", name);\n div.addEventListener(\"pointerdown\", this.#resizerPointerdown.bind(this, name));\n div.addEventListener(\"contextmenu\", _display_utils.noContextMenu);\n }\n this.div.prepend(this.#resizersDiv);\n }\n #resizerPointerdown(name, event) {\n event.preventDefault();\n const {\n isMac\n } = _util.FeatureTest.platform;\n if (event.button !== 0 || event.ctrlKey && isMac) {\n return;\n }\n const boundResizerPointermove = this.#resizerPointermove.bind(this, name);\n const savedDraggable = this._isDraggable;\n this._isDraggable = false;\n const pointerMoveOptions = {\n passive: true,\n capture: true\n };\n window.addEventListener(\"pointermove\", boundResizerPointermove, pointerMoveOptions);\n const savedX = this.x;\n const savedY = this.y;\n const savedWidth = this.width;\n const savedHeight = this.height;\n const savedParentCursor = this.parent.div.style.cursor;\n const savedCursor = this.div.style.cursor;\n this.div.style.cursor = this.parent.div.style.cursor = window.getComputedStyle(event.target).cursor;\n const pointerUpCallback = () => {\n this._isDraggable = savedDraggable;\n window.removeEventListener(\"pointerup\", pointerUpCallback);\n window.removeEventListener(\"blur\", pointerUpCallback);\n window.removeEventListener(\"pointermove\", boundResizerPointermove, pointerMoveOptions);\n this.parent.div.style.cursor = savedParentCursor;\n this.div.style.cursor = savedCursor;\n const newX = this.x;\n const newY = this.y;\n const newWidth = this.width;\n const newHeight = this.height;\n if (newX === savedX && newY === savedY && newWidth === savedWidth && newHeight === savedHeight) {\n return;\n }\n this.addCommands({\n cmd: () => {\n this.width = newWidth;\n this.height = newHeight;\n this.x = newX;\n this.y = newY;\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.setDims(parentWidth * newWidth, parentHeight * newHeight);\n this.fixAndSetPosition();\n },\n undo: () => {\n this.width = savedWidth;\n this.height = savedHeight;\n this.x = savedX;\n this.y = savedY;\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.setDims(parentWidth * savedWidth, parentHeight * savedHeight);\n this.fixAndSetPosition();\n },\n mustExec: true\n });\n };\n window.addEventListener(\"pointerup\", pointerUpCallback);\n window.addEventListener(\"blur\", pointerUpCallback);\n }\n #resizerPointermove(name, event) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n const savedX = this.x;\n const savedY = this.y;\n const savedWidth = this.width;\n const savedHeight = this.height;\n const minWidth = AnnotationEditor.MIN_SIZE / parentWidth;\n const minHeight = AnnotationEditor.MIN_SIZE / parentHeight;\n const round = x => Math.round(x * 10000) / 10000;\n const rotationMatrix = this.#getRotationMatrix(this.rotation);\n const transf = (x, y) => [rotationMatrix[0] * x + rotationMatrix[2] * y, rotationMatrix[1] * x + rotationMatrix[3] * y];\n const invRotationMatrix = this.#getRotationMatrix(360 - this.rotation);\n const invTransf = (x, y) => [invRotationMatrix[0] * x + invRotationMatrix[2] * y, invRotationMatrix[1] * x + invRotationMatrix[3] * y];\n let getPoint;\n let getOpposite;\n let isDiagonal = false;\n let isHorizontal = false;\n switch (name) {\n case \"topLeft\":\n isDiagonal = true;\n getPoint = (w, h) => [0, 0];\n getOpposite = (w, h) => [w, h];\n break;\n case \"topMiddle\":\n getPoint = (w, h) => [w / 2, 0];\n getOpposite = (w, h) => [w / 2, h];\n break;\n case \"topRight\":\n isDiagonal = true;\n getPoint = (w, h) => [w, 0];\n getOpposite = (w, h) => [0, h];\n break;\n case \"middleRight\":\n isHorizontal = true;\n getPoint = (w, h) => [w, h / 2];\n getOpposite = (w, h) => [0, h / 2];\n break;\n case \"bottomRight\":\n isDiagonal = true;\n getPoint = (w, h) => [w, h];\n getOpposite = (w, h) => [0, 0];\n break;\n case \"bottomMiddle\":\n getPoint = (w, h) => [w / 2, h];\n getOpposite = (w, h) => [w / 2, 0];\n break;\n case \"bottomLeft\":\n isDiagonal = true;\n getPoint = (w, h) => [0, h];\n getOpposite = (w, h) => [w, 0];\n break;\n case \"middleLeft\":\n isHorizontal = true;\n getPoint = (w, h) => [0, h / 2];\n getOpposite = (w, h) => [w, h / 2];\n break;\n }\n const point = getPoint(savedWidth, savedHeight);\n const oppositePoint = getOpposite(savedWidth, savedHeight);\n let transfOppositePoint = transf(...oppositePoint);\n const oppositeX = round(savedX + transfOppositePoint[0]);\n const oppositeY = round(savedY + transfOppositePoint[1]);\n let ratioX = 1;\n let ratioY = 1;\n let [deltaX, deltaY] = this.screenToPageTranslation(event.movementX, event.movementY);\n [deltaX, deltaY] = invTransf(deltaX / parentWidth, deltaY / parentHeight);\n if (isDiagonal) {\n const oldDiag = Math.hypot(savedWidth, savedHeight);\n ratioX = ratioY = Math.max(Math.min(Math.hypot(oppositePoint[0] - point[0] - deltaX, oppositePoint[1] - point[1] - deltaY) / oldDiag, 1 / savedWidth, 1 / savedHeight), minWidth / savedWidth, minHeight / savedHeight);\n } else if (isHorizontal) {\n ratioX = Math.max(minWidth, Math.min(1, Math.abs(oppositePoint[0] - point[0] - deltaX))) / savedWidth;\n } else {\n ratioY = Math.max(minHeight, Math.min(1, Math.abs(oppositePoint[1] - point[1] - deltaY))) / savedHeight;\n }\n const newWidth = round(savedWidth * ratioX);\n const newHeight = round(savedHeight * ratioY);\n transfOppositePoint = transf(...getOpposite(newWidth, newHeight));\n const newX = oppositeX - transfOppositePoint[0];\n const newY = oppositeY - transfOppositePoint[1];\n this.width = newWidth;\n this.height = newHeight;\n this.x = newX;\n this.y = newY;\n this.setDims(parentWidth * newWidth, parentHeight * newHeight);\n this.fixAndSetPosition();\n }\n async addAltTextButton() {\n if (this.#altTextButton) {\n return;\n }\n const altText = this.#altTextButton = document.createElement(\"button\");\n altText.className = \"altText\";\n const msg = await AnnotationEditor._l10nPromise.get(\"editor_alt_text_button_label\");\n altText.textContent = msg;\n altText.setAttribute(\"aria-label\", msg);\n altText.tabIndex = \"0\";\n altText.addEventListener(\"contextmenu\", _display_utils.noContextMenu);\n altText.addEventListener(\"pointerdown\", event => event.stopPropagation());\n altText.addEventListener(\"click\", event => {\n event.preventDefault();\n this._uiManager.editAltText(this);\n }, {\n capture: true\n });\n altText.addEventListener(\"keydown\", event => {\n if (event.target === altText && event.key === \"Enter\") {\n event.preventDefault();\n this._uiManager.editAltText(this);\n }\n });\n this.#setAltTextButtonState();\n this.div.append(altText);\n if (!AnnotationEditor.SMALL_EDITOR_SIZE) {\n const PERCENT = 40;\n AnnotationEditor.SMALL_EDITOR_SIZE = Math.min(128, Math.round(altText.getBoundingClientRect().width * (1 + PERCENT / 100)));\n }\n }\n async #setAltTextButtonState() {\n const button = this.#altTextButton;\n if (!button) {\n return;\n }\n if (!this.#altText && !this.#altTextDecorative) {\n button.classList.remove(\"done\");\n this.#altTextTooltip?.remove();\n return;\n }\n AnnotationEditor._l10nPromise.get(\"editor_alt_text_edit_button_label\").then(msg => {\n button.setAttribute(\"aria-label\", msg);\n });\n let tooltip = this.#altTextTooltip;\n if (!tooltip) {\n this.#altTextTooltip = tooltip = document.createElement(\"span\");\n tooltip.className = \"tooltip\";\n tooltip.setAttribute(\"role\", \"tooltip\");\n const id = tooltip.id = `alt-text-tooltip-${this.id}`;\n button.setAttribute(\"aria-describedby\", id);\n const DELAY_TO_SHOW_TOOLTIP = 100;\n button.addEventListener(\"mouseenter\", () => {\n this.#altTextTooltipTimeout = setTimeout(() => {\n this.#altTextTooltipTimeout = null;\n this.#altTextTooltip.classList.add(\"show\");\n this._uiManager._eventBus.dispatch(\"reporttelemetry\", {\n source: this,\n details: {\n type: \"editing\",\n subtype: this.editorType,\n data: {\n action: \"alt_text_tooltip\"\n }\n }\n });\n }, DELAY_TO_SHOW_TOOLTIP);\n });\n button.addEventListener(\"mouseleave\", () => {\n clearTimeout(this.#altTextTooltipTimeout);\n this.#altTextTooltipTimeout = null;\n this.#altTextTooltip?.classList.remove(\"show\");\n });\n }\n button.classList.add(\"done\");\n tooltip.innerText = this.#altTextDecorative ? await AnnotationEditor._l10nPromise.get(\"editor_alt_text_decorative_tooltip\") : this.#altText;\n if (!tooltip.parentNode) {\n button.append(tooltip);\n }\n }\n getClientDimensions() {\n return this.div.getBoundingClientRect();\n }\n get altTextData() {\n return {\n altText: this.#altText,\n decorative: this.#altTextDecorative\n };\n }\n set altTextData({\n altText,\n decorative\n }) {\n if (this.#altText === altText && this.#altTextDecorative === decorative) {\n return;\n }\n this.#altText = altText;\n this.#altTextDecorative = decorative;\n this.#setAltTextButtonState();\n }\n render() {\n this.div = document.createElement(\"div\");\n this.div.setAttribute(\"data-editor-rotation\", (360 - this.rotation) % 360);\n this.div.className = this.name;\n this.div.setAttribute(\"id\", this.id);\n this.div.setAttribute(\"tabIndex\", 0);\n this.setInForeground();\n this.div.addEventListener(\"focusin\", this.#boundFocusin);\n this.div.addEventListener(\"focusout\", this.#boundFocusout);\n const [parentWidth, parentHeight] = this.parentDimensions;\n if (this.parentRotation % 180 !== 0) {\n this.div.style.maxWidth = `${(100 * parentHeight / parentWidth).toFixed(2)}%`;\n this.div.style.maxHeight = `${(100 * parentWidth / parentHeight).toFixed(2)}%`;\n }\n const [tx, ty] = this.getInitialTranslation();\n this.translate(tx, ty);\n (0, _tools.bindEvents)(this, this.div, [\"pointerdown\"]);\n return this.div;\n }\n pointerdown(event) {\n const {\n isMac\n } = _util.FeatureTest.platform;\n if (event.button !== 0 || event.ctrlKey && isMac) {\n event.preventDefault();\n return;\n }\n this.#hasBeenClicked = true;\n this.#setUpDragSession(event);\n }\n #setUpDragSession(event) {\n if (!this._isDraggable) {\n return;\n }\n const isSelected = this._uiManager.isSelected(this);\n this._uiManager.setUpDragSession();\n let pointerMoveOptions, pointerMoveCallback;\n if (isSelected) {\n pointerMoveOptions = {\n passive: true,\n capture: true\n };\n pointerMoveCallback = e => {\n const [tx, ty] = this.screenToPageTranslation(e.movementX, e.movementY);\n this._uiManager.dragSelectedEditors(tx, ty);\n };\n window.addEventListener(\"pointermove\", pointerMoveCallback, pointerMoveOptions);\n }\n const pointerUpCallback = () => {\n window.removeEventListener(\"pointerup\", pointerUpCallback);\n window.removeEventListener(\"blur\", pointerUpCallback);\n if (isSelected) {\n window.removeEventListener(\"pointermove\", pointerMoveCallback, pointerMoveOptions);\n }\n this.#hasBeenClicked = false;\n if (!this._uiManager.endDragSession()) {\n const {\n isMac\n } = _util.FeatureTest.platform;\n if (event.ctrlKey && !isMac || event.shiftKey || event.metaKey && isMac) {\n this.parent.toggleSelected(this);\n } else {\n this.parent.setSelected(this);\n }\n }\n };\n window.addEventListener(\"pointerup\", pointerUpCallback);\n window.addEventListener(\"blur\", pointerUpCallback);\n }\n moveInDOM() {\n this.parent?.moveEditorInDOM(this);\n }\n _setParentAndPosition(parent, x, y) {\n parent.changeParent(this);\n this.x = x;\n this.y = y;\n this.fixAndSetPosition();\n }\n getRect(tx, ty) {\n const scale = this.parentScale;\n const [pageWidth, pageHeight] = this.pageDimensions;\n const [pageX, pageY] = this.pageTranslation;\n const shiftX = tx / scale;\n const shiftY = ty / scale;\n const x = this.x * pageWidth;\n const y = this.y * pageHeight;\n const width = this.width * pageWidth;\n const height = this.height * pageHeight;\n switch (this.rotation) {\n case 0:\n return [x + shiftX + pageX, pageHeight - y - shiftY - height + pageY, x + shiftX + width + pageX, pageHeight - y - shiftY + pageY];\n case 90:\n return [x + shiftY + pageX, pageHeight - y + shiftX + pageY, x + shiftY + height + pageX, pageHeight - y + shiftX + width + pageY];\n case 180:\n return [x - shiftX - width + pageX, pageHeight - y + shiftY + pageY, x - shiftX + pageX, pageHeight - y + shiftY + height + pageY];\n case 270:\n return [x - shiftY - height + pageX, pageHeight - y - shiftX - width + pageY, x - shiftY + pageX, pageHeight - y - shiftX + pageY];\n default:\n throw new Error(\"Invalid rotation\");\n }\n }\n getRectInCurrentCoords(rect, pageHeight) {\n const [x1, y1, x2, y2] = rect;\n const width = x2 - x1;\n const height = y2 - y1;\n switch (this.rotation) {\n case 0:\n return [x1, pageHeight - y2, width, height];\n case 90:\n return [x1, pageHeight - y1, height, width];\n case 180:\n return [x2, pageHeight - y1, width, height];\n case 270:\n return [x2, pageHeight - y2, height, width];\n default:\n throw new Error(\"Invalid rotation\");\n }\n }\n onceAdded() {}\n isEmpty() {\n return false;\n }\n enableEditMode() {\n this.#isInEditMode = true;\n }\n disableEditMode() {\n this.#isInEditMode = false;\n }\n isInEditMode() {\n return this.#isInEditMode;\n }\n shouldGetKeyboardEvents() {\n return false;\n }\n needsToBeRebuilt() {\n return this.div && !this.isAttachedToDOM;\n }\n rebuild() {\n this.div?.addEventListener(\"focusin\", this.#boundFocusin);\n this.div?.addEventListener(\"focusout\", this.#boundFocusout);\n }\n serialize(isForCopying = false, context = null) {\n (0, _util.unreachable)(\"An editor must be serializable\");\n }\n static deserialize(data, parent, uiManager) {\n const editor = new this.prototype.constructor({\n parent,\n id: parent.getNextId(),\n uiManager\n });\n editor.rotation = data.rotation;\n const [pageWidth, pageHeight] = editor.pageDimensions;\n const [x, y, width, height] = editor.getRectInCurrentCoords(data.rect, pageHeight);\n editor.x = x / pageWidth;\n editor.y = y / pageHeight;\n editor.width = width / pageWidth;\n editor.height = height / pageHeight;\n return editor;\n }\n remove() {\n this.div.removeEventListener(\"focusin\", this.#boundFocusin);\n this.div.removeEventListener(\"focusout\", this.#boundFocusout);\n if (!this.isEmpty()) {\n this.commit();\n }\n if (this.parent) {\n this.parent.remove(this);\n } else {\n this._uiManager.removeEditor(this);\n }\n this.#altTextButton?.remove();\n this.#altTextButton = null;\n this.#altTextTooltip = null;\n }\n get isResizable() {\n return false;\n }\n makeResizable() {\n if (this.isResizable) {\n this.#createResizers();\n this.#resizersDiv.classList.remove(\"hidden\");\n }\n }\n select() {\n this.makeResizable();\n this.div?.classList.add(\"selectedEditor\");\n }\n unselect() {\n this.#resizersDiv?.classList.add(\"hidden\");\n this.div?.classList.remove(\"selectedEditor\");\n if (this.div?.contains(document.activeElement)) {\n this._uiManager.currentLayer.div.focus();\n }\n }\n updateParams(type, value) {}\n disableEditing() {\n if (this.#altTextButton) {\n this.#altTextButton.hidden = true;\n }\n }\n enableEditing() {\n if (this.#altTextButton) {\n this.#altTextButton.hidden = false;\n }\n }\n enterInEditMode() {}\n get contentDiv() {\n return this.div;\n }\n get isEditing() {\n return this.#isEditing;\n }\n set isEditing(value) {\n this.#isEditing = value;\n if (!this.parent) {\n return;\n }\n if (value) {\n this.parent.setSelected(this);\n this.parent.setActiveEditor(this);\n } else {\n this.parent.setActiveEditor(null);\n }\n }\n setAspectRatio(width, height) {\n this.#keepAspectRatio = true;\n const aspectRatio = width / height;\n const {\n style\n } = this.div;\n style.aspectRatio = aspectRatio;\n style.height = \"auto\";\n }\n static get MIN_SIZE() {\n return 16;\n }\n}\nexports.AnnotationEditor = AnnotationEditor;\nclass FakeEditor extends AnnotationEditor {\n constructor(params) {\n super(params);\n this.annotationElementId = params.annotationElementId;\n this.deleted = true;\n }\n serialize() {\n return {\n id: this.annotationElementId,\n deleted: true,\n pageIndex: this.pageIndex\n };\n }\n}\n\n/***/ }),\n/* 5 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.KeyboardManager = exports.CommandManager = exports.ColorManager = exports.AnnotationEditorUIManager = void 0;\nexports.bindEvents = bindEvents;\nexports.opacityToHex = opacityToHex;\nvar _util = __w_pdfjs_require__(1);\nvar _display_utils = __w_pdfjs_require__(6);\nfunction bindEvents(obj, element, names) {\n for (const name of names) {\n element.addEventListener(name, obj[name].bind(obj));\n }\n}\nfunction opacityToHex(opacity) {\n return Math.round(Math.min(255, Math.max(1, 255 * opacity))).toString(16).padStart(2, \"0\");\n}\nclass IdManager {\n #id = 0;\n getId() {\n return `${_util.AnnotationEditorPrefix}${this.#id++}`;\n }\n}\nclass ImageManager {\n #baseId = (0, _util.getUuid)();\n #id = 0;\n #cache = null;\n static get _isSVGFittingCanvas() {\n const svg = `data:image/svg+xml;charset=UTF-8,`;\n const canvas = new OffscreenCanvas(1, 3);\n const ctx = canvas.getContext(\"2d\");\n const image = new Image();\n image.src = svg;\n const promise = image.decode().then(() => {\n ctx.drawImage(image, 0, 0, 1, 1, 0, 0, 1, 3);\n return new Uint32Array(ctx.getImageData(0, 0, 1, 1).data.buffer)[0] === 0;\n });\n return (0, _util.shadow)(this, \"_isSVGFittingCanvas\", promise);\n }\n async #get(key, rawData) {\n this.#cache ||= new Map();\n let data = this.#cache.get(key);\n if (data === null) {\n return null;\n }\n if (data?.bitmap) {\n data.refCounter += 1;\n return data;\n }\n try {\n data ||= {\n bitmap: null,\n id: `image_${this.#baseId}_${this.#id++}`,\n refCounter: 0,\n isSvg: false\n };\n let image;\n if (typeof rawData === \"string\") {\n data.url = rawData;\n const response = await fetch(rawData);\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n image = await response.blob();\n } else {\n image = data.file = rawData;\n }\n if (image.type === \"image/svg+xml\") {\n const mustRemoveAspectRatioPromise = ImageManager._isSVGFittingCanvas;\n const fileReader = new FileReader();\n const imageElement = new Image();\n const imagePromise = new Promise((resolve, reject) => {\n imageElement.onload = () => {\n data.bitmap = imageElement;\n data.isSvg = true;\n resolve();\n };\n fileReader.onload = async () => {\n const url = data.svgUrl = fileReader.result;\n imageElement.src = (await mustRemoveAspectRatioPromise) ? `${url}#svgView(preserveAspectRatio(none))` : url;\n };\n imageElement.onerror = fileReader.onerror = reject;\n });\n fileReader.readAsDataURL(image);\n await imagePromise;\n } else {\n data.bitmap = await createImageBitmap(image);\n }\n data.refCounter = 1;\n } catch (e) {\n console.error(e);\n data = null;\n }\n this.#cache.set(key, data);\n if (data) {\n this.#cache.set(data.id, data);\n }\n return data;\n }\n async getFromFile(file) {\n const {\n lastModified,\n name,\n size,\n type\n } = file;\n return this.#get(`${lastModified}_${name}_${size}_${type}`, file);\n }\n async getFromUrl(url) {\n return this.#get(url, url);\n }\n async getFromId(id) {\n this.#cache ||= new Map();\n const data = this.#cache.get(id);\n if (!data) {\n return null;\n }\n if (data.bitmap) {\n data.refCounter += 1;\n return data;\n }\n if (data.file) {\n return this.getFromFile(data.file);\n }\n return this.getFromUrl(data.url);\n }\n getSvgUrl(id) {\n const data = this.#cache.get(id);\n if (!data?.isSvg) {\n return null;\n }\n return data.svgUrl;\n }\n deleteId(id) {\n this.#cache ||= new Map();\n const data = this.#cache.get(id);\n if (!data) {\n return;\n }\n data.refCounter -= 1;\n if (data.refCounter !== 0) {\n return;\n }\n data.bitmap = null;\n }\n isValidId(id) {\n return id.startsWith(`image_${this.#baseId}_`);\n }\n}\nclass CommandManager {\n #commands = [];\n #locked = false;\n #maxSize;\n #position = -1;\n constructor(maxSize = 128) {\n this.#maxSize = maxSize;\n }\n add({\n cmd,\n undo,\n mustExec,\n type = NaN,\n overwriteIfSameType = false,\n keepUndo = false\n }) {\n if (mustExec) {\n cmd();\n }\n if (this.#locked) {\n return;\n }\n const save = {\n cmd,\n undo,\n type\n };\n if (this.#position === -1) {\n if (this.#commands.length > 0) {\n this.#commands.length = 0;\n }\n this.#position = 0;\n this.#commands.push(save);\n return;\n }\n if (overwriteIfSameType && this.#commands[this.#position].type === type) {\n if (keepUndo) {\n save.undo = this.#commands[this.#position].undo;\n }\n this.#commands[this.#position] = save;\n return;\n }\n const next = this.#position + 1;\n if (next === this.#maxSize) {\n this.#commands.splice(0, 1);\n } else {\n this.#position = next;\n if (next < this.#commands.length) {\n this.#commands.splice(next);\n }\n }\n this.#commands.push(save);\n }\n undo() {\n if (this.#position === -1) {\n return;\n }\n this.#locked = true;\n this.#commands[this.#position].undo();\n this.#locked = false;\n this.#position -= 1;\n }\n redo() {\n if (this.#position < this.#commands.length - 1) {\n this.#position += 1;\n this.#locked = true;\n this.#commands[this.#position].cmd();\n this.#locked = false;\n }\n }\n hasSomethingToUndo() {\n return this.#position !== -1;\n }\n hasSomethingToRedo() {\n return this.#position < this.#commands.length - 1;\n }\n destroy() {\n this.#commands = null;\n }\n}\nexports.CommandManager = CommandManager;\nclass KeyboardManager {\n constructor(callbacks) {\n this.buffer = [];\n this.callbacks = new Map();\n this.allKeys = new Set();\n const {\n isMac\n } = _util.FeatureTest.platform;\n for (const [keys, callback, options = {}] of callbacks) {\n for (const key of keys) {\n const isMacKey = key.startsWith(\"mac+\");\n if (isMac && isMacKey) {\n this.callbacks.set(key.slice(4), {\n callback,\n options\n });\n this.allKeys.add(key.split(\"+\").at(-1));\n } else if (!isMac && !isMacKey) {\n this.callbacks.set(key, {\n callback,\n options\n });\n this.allKeys.add(key.split(\"+\").at(-1));\n }\n }\n }\n }\n #serialize(event) {\n if (event.altKey) {\n this.buffer.push(\"alt\");\n }\n if (event.ctrlKey) {\n this.buffer.push(\"ctrl\");\n }\n if (event.metaKey) {\n this.buffer.push(\"meta\");\n }\n if (event.shiftKey) {\n this.buffer.push(\"shift\");\n }\n this.buffer.push(event.key);\n const str = this.buffer.join(\"+\");\n this.buffer.length = 0;\n return str;\n }\n exec(self, event) {\n if (!this.allKeys.has(event.key)) {\n return;\n }\n const info = this.callbacks.get(this.#serialize(event));\n if (!info) {\n return;\n }\n const {\n callback,\n options: {\n bubbles = false,\n args = [],\n checker = null\n }\n } = info;\n if (checker && !checker(self, event)) {\n return;\n }\n callback.bind(self, ...args)();\n if (!bubbles) {\n event.stopPropagation();\n event.preventDefault();\n }\n }\n}\nexports.KeyboardManager = KeyboardManager;\nclass ColorManager {\n static _colorsMapping = new Map([[\"CanvasText\", [0, 0, 0]], [\"Canvas\", [255, 255, 255]]]);\n get _colors() {\n const colors = new Map([[\"CanvasText\", null], [\"Canvas\", null]]);\n (0, _display_utils.getColorValues)(colors);\n return (0, _util.shadow)(this, \"_colors\", colors);\n }\n convert(color) {\n const rgb = (0, _display_utils.getRGB)(color);\n if (!window.matchMedia(\"(forced-colors: active)\").matches) {\n return rgb;\n }\n for (const [name, RGB] of this._colors) {\n if (RGB.every((x, i) => x === rgb[i])) {\n return ColorManager._colorsMapping.get(name);\n }\n }\n return rgb;\n }\n getHexCode(name) {\n const rgb = this._colors.get(name);\n if (!rgb) {\n return name;\n }\n return _util.Util.makeHexColor(...rgb);\n }\n}\nexports.ColorManager = ColorManager;\nclass AnnotationEditorUIManager {\n #activeEditor = null;\n #allEditors = new Map();\n #allLayers = new Map();\n #altTextManager = null;\n #annotationStorage = null;\n #commandManager = new CommandManager();\n #currentPageIndex = 0;\n #deletedAnnotationsElementIds = new Set();\n #draggingEditors = null;\n #editorTypes = null;\n #editorsToRescale = new Set();\n #filterFactory = null;\n #idManager = new IdManager();\n #isEnabled = false;\n #isWaiting = false;\n #lastActiveElement = null;\n #mode = _util.AnnotationEditorType.NONE;\n #selectedEditors = new Set();\n #pageColors = null;\n #boundBlur = this.blur.bind(this);\n #boundFocus = this.focus.bind(this);\n #boundCopy = this.copy.bind(this);\n #boundCut = this.cut.bind(this);\n #boundPaste = this.paste.bind(this);\n #boundKeydown = this.keydown.bind(this);\n #boundOnEditingAction = this.onEditingAction.bind(this);\n #boundOnPageChanging = this.onPageChanging.bind(this);\n #boundOnScaleChanging = this.onScaleChanging.bind(this);\n #boundOnRotationChanging = this.onRotationChanging.bind(this);\n #previousStates = {\n isEditing: false,\n isEmpty: true,\n hasSomethingToUndo: false,\n hasSomethingToRedo: false,\n hasSelectedEditor: false\n };\n #translation = [0, 0];\n #translationTimeoutId = null;\n #container = null;\n #viewer = null;\n static TRANSLATE_SMALL = 1;\n static TRANSLATE_BIG = 10;\n static get _keyboardManager() {\n const proto = AnnotationEditorUIManager.prototype;\n const arrowChecker = self => {\n const {\n activeElement\n } = document;\n return activeElement && self.#container.contains(activeElement) && self.hasSomethingToControl();\n };\n const small = this.TRANSLATE_SMALL;\n const big = this.TRANSLATE_BIG;\n return (0, _util.shadow)(this, \"_keyboardManager\", new KeyboardManager([[[\"ctrl+a\", \"mac+meta+a\"], proto.selectAll], [[\"ctrl+z\", \"mac+meta+z\"], proto.undo], [[\"ctrl+y\", \"ctrl+shift+z\", \"mac+meta+shift+z\", \"ctrl+shift+Z\", \"mac+meta+shift+Z\"], proto.redo], [[\"Backspace\", \"alt+Backspace\", \"ctrl+Backspace\", \"shift+Backspace\", \"mac+Backspace\", \"mac+alt+Backspace\", \"mac+ctrl+Backspace\", \"Delete\", \"ctrl+Delete\", \"shift+Delete\", \"mac+Delete\"], proto.delete], [[\"Escape\", \"mac+Escape\"], proto.unselectAll], [[\"ArrowLeft\", \"mac+ArrowLeft\"], proto.translateSelectedEditors, {\n args: [-small, 0],\n checker: arrowChecker\n }], [[\"ctrl+ArrowLeft\", \"mac+shift+ArrowLeft\"], proto.translateSelectedEditors, {\n args: [-big, 0],\n checker: arrowChecker\n }], [[\"ArrowRight\", \"mac+ArrowRight\"], proto.translateSelectedEditors, {\n args: [small, 0],\n checker: arrowChecker\n }], [[\"ctrl+ArrowRight\", \"mac+shift+ArrowRight\"], proto.translateSelectedEditors, {\n args: [big, 0],\n checker: arrowChecker\n }], [[\"ArrowUp\", \"mac+ArrowUp\"], proto.translateSelectedEditors, {\n args: [0, -small],\n checker: arrowChecker\n }], [[\"ctrl+ArrowUp\", \"mac+shift+ArrowUp\"], proto.translateSelectedEditors, {\n args: [0, -big],\n checker: arrowChecker\n }], [[\"ArrowDown\", \"mac+ArrowDown\"], proto.translateSelectedEditors, {\n args: [0, small],\n checker: arrowChecker\n }], [[\"ctrl+ArrowDown\", \"mac+shift+ArrowDown\"], proto.translateSelectedEditors, {\n args: [0, big],\n checker: arrowChecker\n }]]));\n }\n constructor(container, viewer, altTextManager, eventBus, pdfDocument, pageColors) {\n this.#container = container;\n this.#viewer = viewer;\n this.#altTextManager = altTextManager;\n this._eventBus = eventBus;\n this._eventBus._on(\"editingaction\", this.#boundOnEditingAction);\n this._eventBus._on(\"pagechanging\", this.#boundOnPageChanging);\n this._eventBus._on(\"scalechanging\", this.#boundOnScaleChanging);\n this._eventBus._on(\"rotationchanging\", this.#boundOnRotationChanging);\n this.#annotationStorage = pdfDocument.annotationStorage;\n this.#filterFactory = pdfDocument.filterFactory;\n this.#pageColors = pageColors;\n this.viewParameters = {\n realScale: _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS,\n rotation: 0\n };\n }\n destroy() {\n this.#removeKeyboardManager();\n this.#removeFocusManager();\n this._eventBus._off(\"editingaction\", this.#boundOnEditingAction);\n this._eventBus._off(\"pagechanging\", this.#boundOnPageChanging);\n this._eventBus._off(\"scalechanging\", this.#boundOnScaleChanging);\n this._eventBus._off(\"rotationchanging\", this.#boundOnRotationChanging);\n for (const layer of this.#allLayers.values()) {\n layer.destroy();\n }\n this.#allLayers.clear();\n this.#allEditors.clear();\n this.#editorsToRescale.clear();\n this.#activeEditor = null;\n this.#selectedEditors.clear();\n this.#commandManager.destroy();\n this.#altTextManager.destroy();\n }\n get hcmFilter() {\n return (0, _util.shadow)(this, \"hcmFilter\", this.#pageColors ? this.#filterFactory.addHCMFilter(this.#pageColors.foreground, this.#pageColors.background) : \"none\");\n }\n get direction() {\n return (0, _util.shadow)(this, \"direction\", getComputedStyle(this.#container).direction);\n }\n editAltText(editor) {\n this.#altTextManager?.editAltText(this, editor);\n }\n onPageChanging({\n pageNumber\n }) {\n this.#currentPageIndex = pageNumber - 1;\n }\n focusMainContainer() {\n this.#container.focus();\n }\n findParent(x, y) {\n for (const layer of this.#allLayers.values()) {\n const {\n x: layerX,\n y: layerY,\n width,\n height\n } = layer.div.getBoundingClientRect();\n if (x >= layerX && x <= layerX + width && y >= layerY && y <= layerY + height) {\n return layer;\n }\n }\n return null;\n }\n disableUserSelect(value = false) {\n this.#viewer.classList.toggle(\"noUserSelect\", value);\n }\n addShouldRescale(editor) {\n this.#editorsToRescale.add(editor);\n }\n removeShouldRescale(editor) {\n this.#editorsToRescale.delete(editor);\n }\n onScaleChanging({\n scale\n }) {\n this.commitOrRemove();\n this.viewParameters.realScale = scale * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS;\n for (const editor of this.#editorsToRescale) {\n editor.onScaleChanging();\n }\n }\n onRotationChanging({\n pagesRotation\n }) {\n this.commitOrRemove();\n this.viewParameters.rotation = pagesRotation;\n }\n addToAnnotationStorage(editor) {\n if (!editor.isEmpty() && this.#annotationStorage && !this.#annotationStorage.has(editor.id)) {\n this.#annotationStorage.setValue(editor.id, editor);\n }\n }\n #addFocusManager() {\n window.addEventListener(\"focus\", this.#boundFocus);\n window.addEventListener(\"blur\", this.#boundBlur);\n }\n #removeFocusManager() {\n window.removeEventListener(\"focus\", this.#boundFocus);\n window.removeEventListener(\"blur\", this.#boundBlur);\n }\n blur() {\n if (!this.hasSelection) {\n return;\n }\n const {\n activeElement\n } = document;\n for (const editor of this.#selectedEditors) {\n if (editor.div.contains(activeElement)) {\n this.#lastActiveElement = [editor, activeElement];\n editor._focusEventsAllowed = false;\n break;\n }\n }\n }\n focus() {\n if (!this.#lastActiveElement) {\n return;\n }\n const [lastEditor, lastActiveElement] = this.#lastActiveElement;\n this.#lastActiveElement = null;\n lastActiveElement.addEventListener(\"focusin\", () => {\n lastEditor._focusEventsAllowed = true;\n }, {\n once: true\n });\n lastActiveElement.focus();\n }\n #addKeyboardManager() {\n window.addEventListener(\"keydown\", this.#boundKeydown, {\n capture: true\n });\n }\n #removeKeyboardManager() {\n window.removeEventListener(\"keydown\", this.#boundKeydown, {\n capture: true\n });\n }\n #addCopyPasteListeners() {\n document.addEventListener(\"copy\", this.#boundCopy);\n document.addEventListener(\"cut\", this.#boundCut);\n document.addEventListener(\"paste\", this.#boundPaste);\n }\n #removeCopyPasteListeners() {\n document.removeEventListener(\"copy\", this.#boundCopy);\n document.removeEventListener(\"cut\", this.#boundCut);\n document.removeEventListener(\"paste\", this.#boundPaste);\n }\n addEditListeners() {\n this.#addKeyboardManager();\n this.#addCopyPasteListeners();\n }\n removeEditListeners() {\n this.#removeKeyboardManager();\n this.#removeCopyPasteListeners();\n }\n copy(event) {\n event.preventDefault();\n this.#activeEditor?.commitOrRemove();\n if (!this.hasSelection) {\n return;\n }\n const editors = [];\n for (const editor of this.#selectedEditors) {\n const serialized = editor.serialize(true);\n if (serialized) {\n editors.push(serialized);\n }\n }\n if (editors.length === 0) {\n return;\n }\n event.clipboardData.setData(\"application/pdfjs\", JSON.stringify(editors));\n }\n cut(event) {\n this.copy(event);\n this.delete();\n }\n paste(event) {\n event.preventDefault();\n const {\n clipboardData\n } = event;\n for (const item of clipboardData.items) {\n for (const editorType of this.#editorTypes) {\n if (editorType.isHandlingMimeForPasting(item.type)) {\n editorType.paste(item, this.currentLayer);\n return;\n }\n }\n }\n let data = clipboardData.getData(\"application/pdfjs\");\n if (!data) {\n return;\n }\n try {\n data = JSON.parse(data);\n } catch (ex) {\n (0, _util.warn)(`paste: \"${ex.message}\".`);\n return;\n }\n if (!Array.isArray(data)) {\n return;\n }\n this.unselectAll();\n const layer = this.currentLayer;\n try {\n const newEditors = [];\n for (const editor of data) {\n const deserializedEditor = layer.deserialize(editor);\n if (!deserializedEditor) {\n return;\n }\n newEditors.push(deserializedEditor);\n }\n const cmd = () => {\n for (const editor of newEditors) {\n this.#addEditorToLayer(editor);\n }\n this.#selectEditors(newEditors);\n };\n const undo = () => {\n for (const editor of newEditors) {\n editor.remove();\n }\n };\n this.addCommands({\n cmd,\n undo,\n mustExec: true\n });\n } catch (ex) {\n (0, _util.warn)(`paste: \"${ex.message}\".`);\n }\n }\n keydown(event) {\n if (!this.getActive()?.shouldGetKeyboardEvents()) {\n AnnotationEditorUIManager._keyboardManager.exec(this, event);\n }\n }\n onEditingAction(details) {\n if ([\"undo\", \"redo\", \"delete\", \"selectAll\"].includes(details.name)) {\n this[details.name]();\n }\n }\n #dispatchUpdateStates(details) {\n const hasChanged = Object.entries(details).some(([key, value]) => this.#previousStates[key] !== value);\n if (hasChanged) {\n this._eventBus.dispatch(\"annotationeditorstateschanged\", {\n source: this,\n details: Object.assign(this.#previousStates, details)\n });\n }\n }\n #dispatchUpdateUI(details) {\n this._eventBus.dispatch(\"annotationeditorparamschanged\", {\n source: this,\n details\n });\n }\n setEditingState(isEditing) {\n if (isEditing) {\n this.#addFocusManager();\n this.#addKeyboardManager();\n this.#addCopyPasteListeners();\n this.#dispatchUpdateStates({\n isEditing: this.#mode !== _util.AnnotationEditorType.NONE,\n isEmpty: this.#isEmpty(),\n hasSomethingToUndo: this.#commandManager.hasSomethingToUndo(),\n hasSomethingToRedo: this.#commandManager.hasSomethingToRedo(),\n hasSelectedEditor: false\n });\n } else {\n this.#removeFocusManager();\n this.#removeKeyboardManager();\n this.#removeCopyPasteListeners();\n this.#dispatchUpdateStates({\n isEditing: false\n });\n this.disableUserSelect(false);\n }\n }\n registerEditorTypes(types) {\n if (this.#editorTypes) {\n return;\n }\n this.#editorTypes = types;\n for (const editorType of this.#editorTypes) {\n this.#dispatchUpdateUI(editorType.defaultPropertiesToUpdate);\n }\n }\n getId() {\n return this.#idManager.getId();\n }\n get currentLayer() {\n return this.#allLayers.get(this.#currentPageIndex);\n }\n getLayer(pageIndex) {\n return this.#allLayers.get(pageIndex);\n }\n get currentPageIndex() {\n return this.#currentPageIndex;\n }\n addLayer(layer) {\n this.#allLayers.set(layer.pageIndex, layer);\n if (this.#isEnabled) {\n layer.enable();\n } else {\n layer.disable();\n }\n }\n removeLayer(layer) {\n this.#allLayers.delete(layer.pageIndex);\n }\n updateMode(mode, editId = null) {\n if (this.#mode === mode) {\n return;\n }\n this.#mode = mode;\n if (mode === _util.AnnotationEditorType.NONE) {\n this.setEditingState(false);\n this.#disableAll();\n return;\n }\n this.setEditingState(true);\n this.#enableAll();\n this.unselectAll();\n for (const layer of this.#allLayers.values()) {\n layer.updateMode(mode);\n }\n if (!editId) {\n return;\n }\n for (const editor of this.#allEditors.values()) {\n if (editor.annotationElementId === editId) {\n this.setSelected(editor);\n editor.enterInEditMode();\n break;\n }\n }\n }\n updateToolbar(mode) {\n if (mode === this.#mode) {\n return;\n }\n this._eventBus.dispatch(\"switchannotationeditormode\", {\n source: this,\n mode\n });\n }\n updateParams(type, value) {\n if (!this.#editorTypes) {\n return;\n }\n if (type === _util.AnnotationEditorParamsType.CREATE) {\n this.currentLayer.addNewEditor(type);\n return;\n }\n for (const editor of this.#selectedEditors) {\n editor.updateParams(type, value);\n }\n for (const editorType of this.#editorTypes) {\n editorType.updateDefaultParams(type, value);\n }\n }\n enableWaiting(mustWait = false) {\n if (this.#isWaiting === mustWait) {\n return;\n }\n this.#isWaiting = mustWait;\n for (const layer of this.#allLayers.values()) {\n if (mustWait) {\n layer.disableClick();\n } else {\n layer.enableClick();\n }\n layer.div.classList.toggle(\"waiting\", mustWait);\n }\n }\n #enableAll() {\n if (!this.#isEnabled) {\n this.#isEnabled = true;\n for (const layer of this.#allLayers.values()) {\n layer.enable();\n }\n }\n }\n #disableAll() {\n this.unselectAll();\n if (this.#isEnabled) {\n this.#isEnabled = false;\n for (const layer of this.#allLayers.values()) {\n layer.disable();\n }\n }\n }\n getEditors(pageIndex) {\n const editors = [];\n for (const editor of this.#allEditors.values()) {\n if (editor.pageIndex === pageIndex) {\n editors.push(editor);\n }\n }\n return editors;\n }\n getEditor(id) {\n return this.#allEditors.get(id);\n }\n addEditor(editor) {\n this.#allEditors.set(editor.id, editor);\n }\n removeEditor(editor) {\n this.#allEditors.delete(editor.id);\n this.unselect(editor);\n if (!editor.annotationElementId || !this.#deletedAnnotationsElementIds.has(editor.annotationElementId)) {\n this.#annotationStorage?.remove(editor.id);\n }\n }\n addDeletedAnnotationElement(editor) {\n this.#deletedAnnotationsElementIds.add(editor.annotationElementId);\n editor.deleted = true;\n }\n isDeletedAnnotationElement(annotationElementId) {\n return this.#deletedAnnotationsElementIds.has(annotationElementId);\n }\n removeDeletedAnnotationElement(editor) {\n this.#deletedAnnotationsElementIds.delete(editor.annotationElementId);\n editor.deleted = false;\n }\n #addEditorToLayer(editor) {\n const layer = this.#allLayers.get(editor.pageIndex);\n if (layer) {\n layer.addOrRebuild(editor);\n } else {\n this.addEditor(editor);\n }\n }\n setActiveEditor(editor) {\n if (this.#activeEditor === editor) {\n return;\n }\n this.#activeEditor = editor;\n if (editor) {\n this.#dispatchUpdateUI(editor.propertiesToUpdate);\n }\n }\n toggleSelected(editor) {\n if (this.#selectedEditors.has(editor)) {\n this.#selectedEditors.delete(editor);\n editor.unselect();\n this.#dispatchUpdateStates({\n hasSelectedEditor: this.hasSelection\n });\n return;\n }\n this.#selectedEditors.add(editor);\n editor.select();\n this.#dispatchUpdateUI(editor.propertiesToUpdate);\n this.#dispatchUpdateStates({\n hasSelectedEditor: true\n });\n }\n setSelected(editor) {\n for (const ed of this.#selectedEditors) {\n if (ed !== editor) {\n ed.unselect();\n }\n }\n this.#selectedEditors.clear();\n this.#selectedEditors.add(editor);\n editor.select();\n this.#dispatchUpdateUI(editor.propertiesToUpdate);\n this.#dispatchUpdateStates({\n hasSelectedEditor: true\n });\n }\n isSelected(editor) {\n return this.#selectedEditors.has(editor);\n }\n unselect(editor) {\n editor.unselect();\n this.#selectedEditors.delete(editor);\n this.#dispatchUpdateStates({\n hasSelectedEditor: this.hasSelection\n });\n }\n get hasSelection() {\n return this.#selectedEditors.size !== 0;\n }\n undo() {\n this.#commandManager.undo();\n this.#dispatchUpdateStates({\n hasSomethingToUndo: this.#commandManager.hasSomethingToUndo(),\n hasSomethingToRedo: true,\n isEmpty: this.#isEmpty()\n });\n }\n redo() {\n this.#commandManager.redo();\n this.#dispatchUpdateStates({\n hasSomethingToUndo: true,\n hasSomethingToRedo: this.#commandManager.hasSomethingToRedo(),\n isEmpty: this.#isEmpty()\n });\n }\n addCommands(params) {\n this.#commandManager.add(params);\n this.#dispatchUpdateStates({\n hasSomethingToUndo: true,\n hasSomethingToRedo: false,\n isEmpty: this.#isEmpty()\n });\n }\n #isEmpty() {\n if (this.#allEditors.size === 0) {\n return true;\n }\n if (this.#allEditors.size === 1) {\n for (const editor of this.#allEditors.values()) {\n return editor.isEmpty();\n }\n }\n return false;\n }\n delete() {\n this.commitOrRemove();\n if (!this.hasSelection) {\n return;\n }\n const editors = [...this.#selectedEditors];\n const cmd = () => {\n for (const editor of editors) {\n editor.remove();\n }\n };\n const undo = () => {\n for (const editor of editors) {\n this.#addEditorToLayer(editor);\n }\n };\n this.addCommands({\n cmd,\n undo,\n mustExec: true\n });\n }\n commitOrRemove() {\n this.#activeEditor?.commitOrRemove();\n }\n hasSomethingToControl() {\n return this.#activeEditor || this.hasSelection;\n }\n #selectEditors(editors) {\n this.#selectedEditors.clear();\n for (const editor of editors) {\n if (editor.isEmpty()) {\n continue;\n }\n this.#selectedEditors.add(editor);\n editor.select();\n }\n this.#dispatchUpdateStates({\n hasSelectedEditor: true\n });\n }\n selectAll() {\n for (const editor of this.#selectedEditors) {\n editor.commit();\n }\n this.#selectEditors(this.#allEditors.values());\n }\n unselectAll() {\n if (this.#activeEditor) {\n this.#activeEditor.commitOrRemove();\n return;\n }\n if (!this.hasSelection) {\n return;\n }\n for (const editor of this.#selectedEditors) {\n editor.unselect();\n }\n this.#selectedEditors.clear();\n this.#dispatchUpdateStates({\n hasSelectedEditor: false\n });\n }\n translateSelectedEditors(x, y, noCommit = false) {\n if (!noCommit) {\n this.commitOrRemove();\n }\n if (!this.hasSelection) {\n return;\n }\n this.#translation[0] += x;\n this.#translation[1] += y;\n const [totalX, totalY] = this.#translation;\n const editors = [...this.#selectedEditors];\n const TIME_TO_WAIT = 1000;\n if (this.#translationTimeoutId) {\n clearTimeout(this.#translationTimeoutId);\n }\n this.#translationTimeoutId = setTimeout(() => {\n this.#translationTimeoutId = null;\n this.#translation[0] = this.#translation[1] = 0;\n this.addCommands({\n cmd: () => {\n for (const editor of editors) {\n if (this.#allEditors.has(editor.id)) {\n editor.translateInPage(totalX, totalY);\n }\n }\n },\n undo: () => {\n for (const editor of editors) {\n if (this.#allEditors.has(editor.id)) {\n editor.translateInPage(-totalX, -totalY);\n }\n }\n },\n mustExec: false\n });\n }, TIME_TO_WAIT);\n for (const editor of editors) {\n editor.translateInPage(x, y);\n }\n }\n setUpDragSession() {\n if (!this.hasSelection) {\n return;\n }\n this.disableUserSelect(true);\n this.#draggingEditors = new Map();\n for (const editor of this.#selectedEditors) {\n this.#draggingEditors.set(editor, {\n savedX: editor.x,\n savedY: editor.y,\n savedPageIndex: editor.pageIndex,\n newX: 0,\n newY: 0,\n newPageIndex: -1\n });\n }\n }\n endDragSession() {\n if (!this.#draggingEditors) {\n return false;\n }\n this.disableUserSelect(false);\n const map = this.#draggingEditors;\n this.#draggingEditors = null;\n let mustBeAddedInUndoStack = false;\n for (const [{\n x,\n y,\n pageIndex\n }, value] of map) {\n value.newX = x;\n value.newY = y;\n value.newPageIndex = pageIndex;\n mustBeAddedInUndoStack ||= x !== value.savedX || y !== value.savedY || pageIndex !== value.savedPageIndex;\n }\n if (!mustBeAddedInUndoStack) {\n return false;\n }\n const move = (editor, x, y, pageIndex) => {\n if (this.#allEditors.has(editor.id)) {\n const parent = this.#allLayers.get(pageIndex);\n if (parent) {\n editor._setParentAndPosition(parent, x, y);\n } else {\n editor.pageIndex = pageIndex;\n editor.x = x;\n editor.y = y;\n }\n }\n };\n this.addCommands({\n cmd: () => {\n for (const [editor, {\n newX,\n newY,\n newPageIndex\n }] of map) {\n move(editor, newX, newY, newPageIndex);\n }\n },\n undo: () => {\n for (const [editor, {\n savedX,\n savedY,\n savedPageIndex\n }] of map) {\n move(editor, savedX, savedY, savedPageIndex);\n }\n },\n mustExec: true\n });\n return true;\n }\n dragSelectedEditors(tx, ty) {\n if (!this.#draggingEditors) {\n return;\n }\n for (const editor of this.#draggingEditors.keys()) {\n editor.drag(tx, ty);\n }\n }\n rebuild(editor) {\n if (editor.parent === null) {\n const parent = this.getLayer(editor.pageIndex);\n if (parent) {\n parent.changeParent(editor);\n parent.addOrRebuild(editor);\n } else {\n this.addEditor(editor);\n this.addToAnnotationStorage(editor);\n editor.rebuild();\n }\n } else {\n editor.parent.addOrRebuild(editor);\n }\n }\n isActive(editor) {\n return this.#activeEditor === editor;\n }\n getActive() {\n return this.#activeEditor;\n }\n getMode() {\n return this.#mode;\n }\n get imageManager() {\n return (0, _util.shadow)(this, \"imageManager\", new ImageManager());\n }\n}\nexports.AnnotationEditorUIManager = AnnotationEditorUIManager;\n\n/***/ }),\n/* 6 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.StatTimer = exports.RenderingCancelledException = exports.PixelsPerInch = exports.PageViewport = exports.PDFDateString = exports.DOMStandardFontDataFactory = exports.DOMSVGFactory = exports.DOMFilterFactory = exports.DOMCanvasFactory = exports.DOMCMapReaderFactory = void 0;\nexports.deprecated = deprecated;\nexports.getColorValues = getColorValues;\nexports.getCurrentTransform = getCurrentTransform;\nexports.getCurrentTransformInverse = getCurrentTransformInverse;\nexports.getFilenameFromUrl = getFilenameFromUrl;\nexports.getPdfFilenameFromUrl = getPdfFilenameFromUrl;\nexports.getRGB = getRGB;\nexports.getXfaPageViewport = getXfaPageViewport;\nexports.isDataScheme = isDataScheme;\nexports.isPdfFile = isPdfFile;\nexports.isValidFetchUrl = isValidFetchUrl;\nexports.loadScript = loadScript;\nexports.noContextMenu = noContextMenu;\nexports.setLayerDimensions = setLayerDimensions;\nvar _base_factory = __w_pdfjs_require__(7);\nvar _util = __w_pdfjs_require__(1);\nconst SVG_NS = \"http://www.w3.org/2000/svg\";\nclass PixelsPerInch {\n static CSS = 96.0;\n static PDF = 72.0;\n static PDF_TO_CSS_UNITS = this.CSS / this.PDF;\n}\nexports.PixelsPerInch = PixelsPerInch;\nclass DOMFilterFactory extends _base_factory.BaseFilterFactory {\n #_cache;\n #_defs;\n #docId;\n #document;\n #hcmFilter;\n #hcmKey;\n #hcmUrl;\n #hcmHighlightFilter;\n #hcmHighlightKey;\n #hcmHighlightUrl;\n #id = 0;\n constructor({\n docId,\n ownerDocument = globalThis.document\n } = {}) {\n super();\n this.#docId = docId;\n this.#document = ownerDocument;\n }\n get #cache() {\n return this.#_cache ||= new Map();\n }\n get #defs() {\n if (!this.#_defs) {\n const div = this.#document.createElement(\"div\");\n const {\n style\n } = div;\n style.visibility = \"hidden\";\n style.contain = \"strict\";\n style.width = style.height = 0;\n style.position = \"absolute\";\n style.top = style.left = 0;\n style.zIndex = -1;\n const svg = this.#document.createElementNS(SVG_NS, \"svg\");\n svg.setAttribute(\"width\", 0);\n svg.setAttribute(\"height\", 0);\n this.#_defs = this.#document.createElementNS(SVG_NS, \"defs\");\n div.append(svg);\n svg.append(this.#_defs);\n this.#document.body.append(div);\n }\n return this.#_defs;\n }\n addFilter(maps) {\n if (!maps) {\n return \"none\";\n }\n let value = this.#cache.get(maps);\n if (value) {\n return value;\n }\n let tableR, tableG, tableB, key;\n if (maps.length === 1) {\n const mapR = maps[0];\n const buffer = new Array(256);\n for (let i = 0; i < 256; i++) {\n buffer[i] = mapR[i] / 255;\n }\n key = tableR = tableG = tableB = buffer.join(\",\");\n } else {\n const [mapR, mapG, mapB] = maps;\n const bufferR = new Array(256);\n const bufferG = new Array(256);\n const bufferB = new Array(256);\n for (let i = 0; i < 256; i++) {\n bufferR[i] = mapR[i] / 255;\n bufferG[i] = mapG[i] / 255;\n bufferB[i] = mapB[i] / 255;\n }\n tableR = bufferR.join(\",\");\n tableG = bufferG.join(\",\");\n tableB = bufferB.join(\",\");\n key = `${tableR}${tableG}${tableB}`;\n }\n value = this.#cache.get(key);\n if (value) {\n this.#cache.set(maps, value);\n return value;\n }\n const id = `g_${this.#docId}_transfer_map_${this.#id++}`;\n const url = `url(#${id})`;\n this.#cache.set(maps, url);\n this.#cache.set(key, url);\n const filter = this.#createFilter(id);\n this.#addTransferMapConversion(tableR, tableG, tableB, filter);\n return url;\n }\n addHCMFilter(fgColor, bgColor) {\n const key = `${fgColor}-${bgColor}`;\n if (this.#hcmKey === key) {\n return this.#hcmUrl;\n }\n this.#hcmKey = key;\n this.#hcmUrl = \"none\";\n this.#hcmFilter?.remove();\n if (!fgColor || !bgColor) {\n return this.#hcmUrl;\n }\n const fgRGB = this.#getRGB(fgColor);\n fgColor = _util.Util.makeHexColor(...fgRGB);\n const bgRGB = this.#getRGB(bgColor);\n bgColor = _util.Util.makeHexColor(...bgRGB);\n this.#defs.style.color = \"\";\n if (fgColor === \"#000000\" && bgColor === \"#ffffff\" || fgColor === bgColor) {\n return this.#hcmUrl;\n }\n const map = new Array(256);\n for (let i = 0; i <= 255; i++) {\n const x = i / 255;\n map[i] = x <= 0.03928 ? x / 12.92 : ((x + 0.055) / 1.055) ** 2.4;\n }\n const table = map.join(\",\");\n const id = `g_${this.#docId}_hcm_filter`;\n const filter = this.#hcmHighlightFilter = this.#createFilter(id);\n this.#addTransferMapConversion(table, table, table, filter);\n this.#addGrayConversion(filter);\n const getSteps = (c, n) => {\n const start = fgRGB[c] / 255;\n const end = bgRGB[c] / 255;\n const arr = new Array(n + 1);\n for (let i = 0; i <= n; i++) {\n arr[i] = start + i / n * (end - start);\n }\n return arr.join(\",\");\n };\n this.#addTransferMapConversion(getSteps(0, 5), getSteps(1, 5), getSteps(2, 5), filter);\n this.#hcmUrl = `url(#${id})`;\n return this.#hcmUrl;\n }\n addHighlightHCMFilter(fgColor, bgColor, newFgColor, newBgColor) {\n const key = `${fgColor}-${bgColor}-${newFgColor}-${newBgColor}`;\n if (this.#hcmHighlightKey === key) {\n return this.#hcmHighlightUrl;\n }\n this.#hcmHighlightKey = key;\n this.#hcmHighlightUrl = \"none\";\n this.#hcmHighlightFilter?.remove();\n if (!fgColor || !bgColor) {\n return this.#hcmHighlightUrl;\n }\n const [fgRGB, bgRGB] = [fgColor, bgColor].map(this.#getRGB.bind(this));\n let fgGray = Math.round(0.2126 * fgRGB[0] + 0.7152 * fgRGB[1] + 0.0722 * fgRGB[2]);\n let bgGray = Math.round(0.2126 * bgRGB[0] + 0.7152 * bgRGB[1] + 0.0722 * bgRGB[2]);\n let [newFgRGB, newBgRGB] = [newFgColor, newBgColor].map(this.#getRGB.bind(this));\n if (bgGray < fgGray) {\n [fgGray, bgGray, newFgRGB, newBgRGB] = [bgGray, fgGray, newBgRGB, newFgRGB];\n }\n this.#defs.style.color = \"\";\n const getSteps = (fg, bg, n) => {\n const arr = new Array(256);\n const step = (bgGray - fgGray) / n;\n const newStart = fg / 255;\n const newStep = (bg - fg) / (255 * n);\n let prev = 0;\n for (let i = 0; i <= n; i++) {\n const k = Math.round(fgGray + i * step);\n const value = newStart + i * newStep;\n for (let j = prev; j <= k; j++) {\n arr[j] = value;\n }\n prev = k + 1;\n }\n for (let i = prev; i < 256; i++) {\n arr[i] = arr[prev - 1];\n }\n return arr.join(\",\");\n };\n const id = `g_${this.#docId}_hcm_highlight_filter`;\n const filter = this.#hcmHighlightFilter = this.#createFilter(id);\n this.#addGrayConversion(filter);\n this.#addTransferMapConversion(getSteps(newFgRGB[0], newBgRGB[0], 5), getSteps(newFgRGB[1], newBgRGB[1], 5), getSteps(newFgRGB[2], newBgRGB[2], 5), filter);\n this.#hcmHighlightUrl = `url(#${id})`;\n return this.#hcmHighlightUrl;\n }\n destroy(keepHCM = false) {\n if (keepHCM && (this.#hcmUrl || this.#hcmHighlightUrl)) {\n return;\n }\n if (this.#_defs) {\n this.#_defs.parentNode.parentNode.remove();\n this.#_defs = null;\n }\n if (this.#_cache) {\n this.#_cache.clear();\n this.#_cache = null;\n }\n this.#id = 0;\n }\n #addGrayConversion(filter) {\n const feColorMatrix = this.#document.createElementNS(SVG_NS, \"feColorMatrix\");\n feColorMatrix.setAttribute(\"type\", \"matrix\");\n feColorMatrix.setAttribute(\"values\", \"0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0\");\n filter.append(feColorMatrix);\n }\n #createFilter(id) {\n const filter = this.#document.createElementNS(SVG_NS, \"filter\");\n filter.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n filter.setAttribute(\"id\", id);\n this.#defs.append(filter);\n return filter;\n }\n #appendFeFunc(feComponentTransfer, func, table) {\n const feFunc = this.#document.createElementNS(SVG_NS, func);\n feFunc.setAttribute(\"type\", \"discrete\");\n feFunc.setAttribute(\"tableValues\", table);\n feComponentTransfer.append(feFunc);\n }\n #addTransferMapConversion(rTable, gTable, bTable, filter) {\n const feComponentTransfer = this.#document.createElementNS(SVG_NS, \"feComponentTransfer\");\n filter.append(feComponentTransfer);\n this.#appendFeFunc(feComponentTransfer, \"feFuncR\", rTable);\n this.#appendFeFunc(feComponentTransfer, \"feFuncG\", gTable);\n this.#appendFeFunc(feComponentTransfer, \"feFuncB\", bTable);\n }\n #getRGB(color) {\n this.#defs.style.color = color;\n return getRGB(getComputedStyle(this.#defs).getPropertyValue(\"color\"));\n }\n}\nexports.DOMFilterFactory = DOMFilterFactory;\nclass DOMCanvasFactory extends _base_factory.BaseCanvasFactory {\n constructor({\n ownerDocument = globalThis.document\n } = {}) {\n super();\n this._document = ownerDocument;\n }\n _createCanvas(width, height) {\n const canvas = this._document.createElement(\"canvas\");\n canvas.width = width;\n canvas.height = height;\n return canvas;\n }\n}\nexports.DOMCanvasFactory = DOMCanvasFactory;\nasync function fetchData(url, asTypedArray = false) {\n if (isValidFetchUrl(url, document.baseURI)) {\n const response = await fetch(url);\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n return asTypedArray ? new Uint8Array(await response.arrayBuffer()) : (0, _util.stringToBytes)(await response.text());\n }\n return new Promise((resolve, reject) => {\n const request = new XMLHttpRequest();\n request.open(\"GET\", url, true);\n if (asTypedArray) {\n request.responseType = \"arraybuffer\";\n }\n request.onreadystatechange = () => {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n if (request.status === 200 || request.status === 0) {\n let data;\n if (asTypedArray && request.response) {\n data = new Uint8Array(request.response);\n } else if (!asTypedArray && request.responseText) {\n data = (0, _util.stringToBytes)(request.responseText);\n }\n if (data) {\n resolve(data);\n return;\n }\n }\n reject(new Error(request.statusText));\n };\n request.send(null);\n });\n}\nclass DOMCMapReaderFactory extends _base_factory.BaseCMapReaderFactory {\n _fetchData(url, compressionType) {\n return fetchData(url, this.isCompressed).then(data => {\n return {\n cMapData: data,\n compressionType\n };\n });\n }\n}\nexports.DOMCMapReaderFactory = DOMCMapReaderFactory;\nclass DOMStandardFontDataFactory extends _base_factory.BaseStandardFontDataFactory {\n _fetchData(url) {\n return fetchData(url, true);\n }\n}\nexports.DOMStandardFontDataFactory = DOMStandardFontDataFactory;\nclass DOMSVGFactory extends _base_factory.BaseSVGFactory {\n _createSVG(type) {\n return document.createElementNS(SVG_NS, type);\n }\n}\nexports.DOMSVGFactory = DOMSVGFactory;\nclass PageViewport {\n constructor({\n viewBox,\n scale,\n rotation,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false\n }) {\n this.viewBox = viewBox;\n this.scale = scale;\n this.rotation = rotation;\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n const centerX = (viewBox[2] + viewBox[0]) / 2;\n const centerY = (viewBox[3] + viewBox[1]) / 2;\n let rotateA, rotateB, rotateC, rotateD;\n rotation %= 360;\n if (rotation < 0) {\n rotation += 360;\n }\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n case 0:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n default:\n throw new Error(\"PageViewport: Invalid rotation, must be a multiple of 90 degrees.\");\n }\n if (dontFlip) {\n rotateC = -rotateC;\n rotateD = -rotateD;\n }\n let offsetCanvasX, offsetCanvasY;\n let width, height;\n if (rotateA === 0) {\n offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;\n width = (viewBox[3] - viewBox[1]) * scale;\n height = (viewBox[2] - viewBox[0]) * scale;\n } else {\n offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;\n width = (viewBox[2] - viewBox[0]) * scale;\n height = (viewBox[3] - viewBox[1]) * scale;\n }\n this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];\n this.width = width;\n this.height = height;\n }\n get rawDims() {\n const {\n viewBox\n } = this;\n return (0, _util.shadow)(this, \"rawDims\", {\n pageWidth: viewBox[2] - viewBox[0],\n pageHeight: viewBox[3] - viewBox[1],\n pageX: viewBox[0],\n pageY: viewBox[1]\n });\n }\n clone({\n scale = this.scale,\n rotation = this.rotation,\n offsetX = this.offsetX,\n offsetY = this.offsetY,\n dontFlip = false\n } = {}) {\n return new PageViewport({\n viewBox: this.viewBox.slice(),\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip\n });\n }\n convertToViewportPoint(x, y) {\n return _util.Util.applyTransform([x, y], this.transform);\n }\n convertToViewportRectangle(rect) {\n const topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);\n const bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);\n return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];\n }\n convertToPdfPoint(x, y) {\n return _util.Util.applyInverseTransform([x, y], this.transform);\n }\n}\nexports.PageViewport = PageViewport;\nclass RenderingCancelledException extends _util.BaseException {\n constructor(msg, extraDelay = 0) {\n super(msg, \"RenderingCancelledException\");\n this.extraDelay = extraDelay;\n }\n}\nexports.RenderingCancelledException = RenderingCancelledException;\nfunction isDataScheme(url) {\n const ii = url.length;\n let i = 0;\n while (i < ii && url[i].trim() === \"\") {\n i++;\n }\n return url.substring(i, i + 5).toLowerCase() === \"data:\";\n}\nfunction isPdfFile(filename) {\n return typeof filename === \"string\" && /\\.pdf$/i.test(filename);\n}\nfunction getFilenameFromUrl(url, onlyStripPath = false) {\n if (!onlyStripPath) {\n [url] = url.split(/[#?]/, 1);\n }\n return url.substring(url.lastIndexOf(\"/\") + 1);\n}\nfunction getPdfFilenameFromUrl(url, defaultFilename = \"document.pdf\") {\n if (typeof url !== \"string\") {\n return defaultFilename;\n }\n if (isDataScheme(url)) {\n (0, _util.warn)('getPdfFilenameFromUrl: ignore \"data:\"-URL for performance reasons.');\n return defaultFilename;\n }\n const reURI = /^(?:(?:[^:]+:)?\\/\\/[^/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/;\n const reFilename = /[^/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i;\n const splitURI = reURI.exec(url);\n let suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);\n if (suggestedFilename) {\n suggestedFilename = suggestedFilename[0];\n if (suggestedFilename.includes(\"%\")) {\n try {\n suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];\n } catch {}\n }\n }\n return suggestedFilename || defaultFilename;\n}\nclass StatTimer {\n started = Object.create(null);\n times = [];\n time(name) {\n if (name in this.started) {\n (0, _util.warn)(`Timer is already running for ${name}`);\n }\n this.started[name] = Date.now();\n }\n timeEnd(name) {\n if (!(name in this.started)) {\n (0, _util.warn)(`Timer has not been started for ${name}`);\n }\n this.times.push({\n name,\n start: this.started[name],\n end: Date.now()\n });\n delete this.started[name];\n }\n toString() {\n const outBuf = [];\n let longest = 0;\n for (const {\n name\n } of this.times) {\n longest = Math.max(name.length, longest);\n }\n for (const {\n name,\n start,\n end\n } of this.times) {\n outBuf.push(`${name.padEnd(longest)} ${end - start}ms\\n`);\n }\n return outBuf.join(\"\");\n }\n}\nexports.StatTimer = StatTimer;\nfunction isValidFetchUrl(url, baseUrl) {\n try {\n const {\n protocol\n } = baseUrl ? new URL(url, baseUrl) : new URL(url);\n return protocol === \"http:\" || protocol === \"https:\";\n } catch {\n return false;\n }\n}\nfunction noContextMenu(e) {\n e.preventDefault();\n}\nfunction loadScript(src, removeScriptElement = false) {\n return new Promise((resolve, reject) => {\n const script = document.createElement(\"script\");\n script.src = src;\n script.onload = function (evt) {\n if (removeScriptElement) {\n script.remove();\n }\n resolve(evt);\n };\n script.onerror = function () {\n reject(new Error(`Cannot load script at: ${script.src}`));\n };\n (document.head || document.documentElement).append(script);\n });\n}\nfunction deprecated(details) {\n console.log(\"Deprecated API usage: \" + details);\n}\nlet pdfDateStringRegex;\nclass PDFDateString {\n static toDateObject(input) {\n if (!input || typeof input !== \"string\") {\n return null;\n }\n pdfDateStringRegex ||= new RegExp(\"^D:\" + \"(\\\\d{4})\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"([Z|+|-])?\" + \"(\\\\d{2})?\" + \"'?\" + \"(\\\\d{2})?\" + \"'?\");\n const matches = pdfDateStringRegex.exec(input);\n if (!matches) {\n return null;\n }\n const year = parseInt(matches[1], 10);\n let month = parseInt(matches[2], 10);\n month = month >= 1 && month <= 12 ? month - 1 : 0;\n let day = parseInt(matches[3], 10);\n day = day >= 1 && day <= 31 ? day : 1;\n let hour = parseInt(matches[4], 10);\n hour = hour >= 0 && hour <= 23 ? hour : 0;\n let minute = parseInt(matches[5], 10);\n minute = minute >= 0 && minute <= 59 ? minute : 0;\n let second = parseInt(matches[6], 10);\n second = second >= 0 && second <= 59 ? second : 0;\n const universalTimeRelation = matches[7] || \"Z\";\n let offsetHour = parseInt(matches[8], 10);\n offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;\n let offsetMinute = parseInt(matches[9], 10) || 0;\n offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;\n if (universalTimeRelation === \"-\") {\n hour += offsetHour;\n minute += offsetMinute;\n } else if (universalTimeRelation === \"+\") {\n hour -= offsetHour;\n minute -= offsetMinute;\n }\n return new Date(Date.UTC(year, month, day, hour, minute, second));\n }\n}\nexports.PDFDateString = PDFDateString;\nfunction getXfaPageViewport(xfaPage, {\n scale = 1,\n rotation = 0\n}) {\n const {\n width,\n height\n } = xfaPage.attributes.style;\n const viewBox = [0, 0, parseInt(width), parseInt(height)];\n return new PageViewport({\n viewBox,\n scale,\n rotation\n });\n}\nfunction getRGB(color) {\n if (color.startsWith(\"#\")) {\n const colorRGB = parseInt(color.slice(1), 16);\n return [(colorRGB & 0xff0000) >> 16, (colorRGB & 0x00ff00) >> 8, colorRGB & 0x0000ff];\n }\n if (color.startsWith(\"rgb(\")) {\n return color.slice(4, -1).split(\",\").map(x => parseInt(x));\n }\n if (color.startsWith(\"rgba(\")) {\n return color.slice(5, -1).split(\",\").map(x => parseInt(x)).slice(0, 3);\n }\n (0, _util.warn)(`Not a valid color format: \"${color}\"`);\n return [0, 0, 0];\n}\nfunction getColorValues(colors) {\n const span = document.createElement(\"span\");\n span.style.visibility = \"hidden\";\n document.body.append(span);\n for (const name of colors.keys()) {\n span.style.color = name;\n const computedColor = window.getComputedStyle(span).color;\n colors.set(name, getRGB(computedColor));\n }\n span.remove();\n}\nfunction getCurrentTransform(ctx) {\n const {\n a,\n b,\n c,\n d,\n e,\n f\n } = ctx.getTransform();\n return [a, b, c, d, e, f];\n}\nfunction getCurrentTransformInverse(ctx) {\n const {\n a,\n b,\n c,\n d,\n e,\n f\n } = ctx.getTransform().invertSelf();\n return [a, b, c, d, e, f];\n}\nfunction setLayerDimensions(div, viewport, mustFlip = false, mustRotate = true) {\n if (viewport instanceof PageViewport) {\n const {\n pageWidth,\n pageHeight\n } = viewport.rawDims;\n const {\n style\n } = div;\n const useRound = _util.FeatureTest.isCSSRoundSupported;\n const w = `var(--scale-factor) * ${pageWidth}px`,\n h = `var(--scale-factor) * ${pageHeight}px`;\n const widthStr = useRound ? `round(${w}, 1px)` : `calc(${w})`,\n heightStr = useRound ? `round(${h}, 1px)` : `calc(${h})`;\n if (!mustFlip || viewport.rotation % 180 === 0) {\n style.width = widthStr;\n style.height = heightStr;\n } else {\n style.width = heightStr;\n style.height = widthStr;\n }\n }\n if (mustRotate) {\n div.setAttribute(\"data-main-rotation\", viewport.rotation);\n }\n}\n\n/***/ }),\n/* 7 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.BaseStandardFontDataFactory = exports.BaseSVGFactory = exports.BaseFilterFactory = exports.BaseCanvasFactory = exports.BaseCMapReaderFactory = void 0;\nvar _util = __w_pdfjs_require__(1);\nclass BaseFilterFactory {\n constructor() {\n if (this.constructor === BaseFilterFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseFilterFactory.\");\n }\n }\n addFilter(maps) {\n return \"none\";\n }\n addHCMFilter(fgColor, bgColor) {\n return \"none\";\n }\n addHighlightHCMFilter(fgColor, bgColor, newFgColor, newBgColor) {\n return \"none\";\n }\n destroy(keepHCM = false) {}\n}\nexports.BaseFilterFactory = BaseFilterFactory;\nclass BaseCanvasFactory {\n constructor() {\n if (this.constructor === BaseCanvasFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseCanvasFactory.\");\n }\n }\n create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n const canvas = this._createCanvas(width, height);\n return {\n canvas,\n context: canvas.getContext(\"2d\")\n };\n }\n reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n canvasAndContext.canvas.width = width;\n canvasAndContext.canvas.height = height;\n }\n destroy(canvasAndContext) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n _createCanvas(width, height) {\n (0, _util.unreachable)(\"Abstract method `_createCanvas` called.\");\n }\n}\nexports.BaseCanvasFactory = BaseCanvasFactory;\nclass BaseCMapReaderFactory {\n constructor({\n baseUrl = null,\n isCompressed = true\n }) {\n if (this.constructor === BaseCMapReaderFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseCMapReaderFactory.\");\n }\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n async fetch({\n name\n }) {\n if (!this.baseUrl) {\n throw new Error('The CMap \"baseUrl\" parameter must be specified, ensure that ' + 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.');\n }\n if (!name) {\n throw new Error(\"CMap name must be specified.\");\n }\n const url = this.baseUrl + name + (this.isCompressed ? \".bcmap\" : \"\");\n const compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;\n return this._fetchData(url, compressionType).catch(reason => {\n throw new Error(`Unable to load ${this.isCompressed ? \"binary \" : \"\"}CMap at: ${url}`);\n });\n }\n _fetchData(url, compressionType) {\n (0, _util.unreachable)(\"Abstract method `_fetchData` called.\");\n }\n}\nexports.BaseCMapReaderFactory = BaseCMapReaderFactory;\nclass BaseStandardFontDataFactory {\n constructor({\n baseUrl = null\n }) {\n if (this.constructor === BaseStandardFontDataFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseStandardFontDataFactory.\");\n }\n this.baseUrl = baseUrl;\n }\n async fetch({\n filename\n }) {\n if (!this.baseUrl) {\n throw new Error('The standard font \"baseUrl\" parameter must be specified, ensure that ' + 'the \"standardFontDataUrl\" API parameter is provided.');\n }\n if (!filename) {\n throw new Error(\"Font filename must be specified.\");\n }\n const url = `${this.baseUrl}${filename}`;\n return this._fetchData(url).catch(reason => {\n throw new Error(`Unable to load font data at: ${url}`);\n });\n }\n _fetchData(url) {\n (0, _util.unreachable)(\"Abstract method `_fetchData` called.\");\n }\n}\nexports.BaseStandardFontDataFactory = BaseStandardFontDataFactory;\nclass BaseSVGFactory {\n constructor() {\n if (this.constructor === BaseSVGFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseSVGFactory.\");\n }\n }\n create(width, height, skipDimensions = false) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid SVG dimensions\");\n }\n const svg = this._createSVG(\"svg:svg\");\n svg.setAttribute(\"version\", \"1.1\");\n if (!skipDimensions) {\n svg.setAttribute(\"width\", `${width}px`);\n svg.setAttribute(\"height\", `${height}px`);\n }\n svg.setAttribute(\"preserveAspectRatio\", \"none\");\n svg.setAttribute(\"viewBox\", `0 0 ${width} ${height}`);\n return svg;\n }\n createElement(type) {\n if (typeof type !== \"string\") {\n throw new Error(\"Invalid SVG element type\");\n }\n return this._createSVG(type);\n }\n _createSVG(type) {\n (0, _util.unreachable)(\"Abstract method `_createSVG` called.\");\n }\n}\nexports.BaseSVGFactory = BaseSVGFactory;\n\n/***/ }),\n/* 8 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.MurmurHash3_64 = void 0;\nvar _util = __w_pdfjs_require__(1);\nconst SEED = 0xc3d2e1f0;\nconst MASK_HIGH = 0xffff0000;\nconst MASK_LOW = 0xffff;\nclass MurmurHash3_64 {\n constructor(seed) {\n this.h1 = seed ? seed & 0xffffffff : SEED;\n this.h2 = seed ? seed & 0xffffffff : SEED;\n }\n update(input) {\n let data, length;\n if (typeof input === \"string\") {\n data = new Uint8Array(input.length * 2);\n length = 0;\n for (let i = 0, ii = input.length; i < ii; i++) {\n const code = input.charCodeAt(i);\n if (code <= 0xff) {\n data[length++] = code;\n } else {\n data[length++] = code >>> 8;\n data[length++] = code & 0xff;\n }\n }\n } else if ((0, _util.isArrayBuffer)(input)) {\n data = input.slice();\n length = data.byteLength;\n } else {\n throw new Error(\"Wrong data format in MurmurHash3_64_update. \" + \"Input must be a string or array.\");\n }\n const blockCounts = length >> 2;\n const tailLength = length - blockCounts * 4;\n const dataUint32 = new Uint32Array(data.buffer, 0, blockCounts);\n let k1 = 0,\n k2 = 0;\n let h1 = this.h1,\n h2 = this.h2;\n const C1 = 0xcc9e2d51,\n C2 = 0x1b873593;\n const C1_LOW = C1 & MASK_LOW,\n C2_LOW = C2 & MASK_LOW;\n for (let i = 0; i < blockCounts; i++) {\n if (i & 1) {\n k1 = dataUint32[i];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n h1 ^= k1;\n h1 = h1 << 13 | h1 >>> 19;\n h1 = h1 * 5 + 0xe6546b64;\n } else {\n k2 = dataUint32[i];\n k2 = k2 * C1 & MASK_HIGH | k2 * C1_LOW & MASK_LOW;\n k2 = k2 << 15 | k2 >>> 17;\n k2 = k2 * C2 & MASK_HIGH | k2 * C2_LOW & MASK_LOW;\n h2 ^= k2;\n h2 = h2 << 13 | h2 >>> 19;\n h2 = h2 * 5 + 0xe6546b64;\n }\n }\n k1 = 0;\n switch (tailLength) {\n case 3:\n k1 ^= data[blockCounts * 4 + 2] << 16;\n case 2:\n k1 ^= data[blockCounts * 4 + 1] << 8;\n case 1:\n k1 ^= data[blockCounts * 4];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n if (blockCounts & 1) {\n h1 ^= k1;\n } else {\n h2 ^= k1;\n }\n }\n this.h1 = h1;\n this.h2 = h2;\n }\n hexdigest() {\n let h1 = this.h1,\n h2 = this.h2;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0xed558ccd & MASK_HIGH | h1 * 0x8ccd & MASK_LOW;\n h2 = h2 * 0xff51afd7 & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xafd7ed55 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0x1a85ec53 & MASK_HIGH | h1 * 0xec53 & MASK_LOW;\n h2 = h2 * 0xc4ceb9fe & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xb9fe1a85 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n return (h1 >>> 0).toString(16).padStart(8, \"0\") + (h2 >>> 0).toString(16).padStart(8, \"0\");\n }\n}\nexports.MurmurHash3_64 = MurmurHash3_64;\n\n/***/ }),\n/* 9 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.FontLoader = exports.FontFaceObject = void 0;\nvar _util = __w_pdfjs_require__(1);\nclass FontLoader {\n #systemFonts = new Set();\n constructor({\n ownerDocument = globalThis.document,\n styleElement = null\n }) {\n this._document = ownerDocument;\n this.nativeFontFaces = new Set();\n this.styleElement = null;\n this.loadingRequests = [];\n this.loadTestFontId = 0;\n }\n addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.add(nativeFontFace);\n this._document.fonts.add(nativeFontFace);\n }\n removeNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.delete(nativeFontFace);\n this._document.fonts.delete(nativeFontFace);\n }\n insertRule(rule) {\n if (!this.styleElement) {\n this.styleElement = this._document.createElement(\"style\");\n this._document.documentElement.getElementsByTagName(\"head\")[0].append(this.styleElement);\n }\n const styleSheet = this.styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n }\n clear() {\n for (const nativeFontFace of this.nativeFontFaces) {\n this._document.fonts.delete(nativeFontFace);\n }\n this.nativeFontFaces.clear();\n this.#systemFonts.clear();\n if (this.styleElement) {\n this.styleElement.remove();\n this.styleElement = null;\n }\n }\n async loadSystemFont(info) {\n if (!info || this.#systemFonts.has(info.loadedName)) {\n return;\n }\n (0, _util.assert)(!this.disableFontFace, \"loadSystemFont shouldn't be called when `disableFontFace` is set.\");\n if (this.isFontLoadingAPISupported) {\n const {\n loadedName,\n src,\n style\n } = info;\n const fontFace = new FontFace(loadedName, src, style);\n this.addNativeFontFace(fontFace);\n try {\n await fontFace.load();\n this.#systemFonts.add(loadedName);\n } catch {\n (0, _util.warn)(`Cannot load system font: ${info.baseFontName}, installing it could help to improve PDF rendering.`);\n this.removeNativeFontFace(fontFace);\n }\n return;\n }\n (0, _util.unreachable)(\"Not implemented: loadSystemFont without the Font Loading API.\");\n }\n async bind(font) {\n if (font.attached || font.missingFile && !font.systemFontInfo) {\n return;\n }\n font.attached = true;\n if (font.systemFontInfo) {\n await this.loadSystemFont(font.systemFontInfo);\n return;\n }\n if (this.isFontLoadingAPISupported) {\n const nativeFontFace = font.createNativeFontFace();\n if (nativeFontFace) {\n this.addNativeFontFace(nativeFontFace);\n try {\n await nativeFontFace.loaded;\n } catch (ex) {\n (0, _util.warn)(`Failed to load font '${nativeFontFace.family}': '${ex}'.`);\n font.disableFontFace = true;\n throw ex;\n }\n }\n return;\n }\n const rule = font.createFontFaceRule();\n if (rule) {\n this.insertRule(rule);\n if (this.isSyncFontLoadingSupported) {\n return;\n }\n await new Promise(resolve => {\n const request = this._queueLoadingCallback(resolve);\n this._prepareFontLoadEvent(font, request);\n });\n }\n }\n get isFontLoadingAPISupported() {\n const hasFonts = !!this._document?.fonts;\n return (0, _util.shadow)(this, \"isFontLoadingAPISupported\", hasFonts);\n }\n get isSyncFontLoadingSupported() {\n let supported = false;\n if (_util.isNodeJS) {\n supported = true;\n } else if (typeof navigator !== \"undefined\" && /Mozilla\\/5.0.*?rv:\\d+.*? Gecko/.test(navigator.userAgent)) {\n supported = true;\n }\n return (0, _util.shadow)(this, \"isSyncFontLoadingSupported\", supported);\n }\n _queueLoadingCallback(callback) {\n function completeRequest() {\n (0, _util.assert)(!request.done, \"completeRequest() cannot be called twice.\");\n request.done = true;\n while (loadingRequests.length > 0 && loadingRequests[0].done) {\n const otherRequest = loadingRequests.shift();\n setTimeout(otherRequest.callback, 0);\n }\n }\n const {\n loadingRequests\n } = this;\n const request = {\n done: false,\n complete: completeRequest,\n callback\n };\n loadingRequests.push(request);\n return request;\n }\n get _loadTestFont() {\n const testFont = atob(\"T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA\" + \"FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA\" + \"ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA\" + \"AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1\" + \"AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD\" + \"6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM\" + \"AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D\" + \"IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA\" + \"AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA\" + \"AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB\" + \"AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY\" + \"AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA\" + \"AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA\" + \"AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC\" + \"AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3\" + \"Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj\" + \"FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==\");\n return (0, _util.shadow)(this, \"_loadTestFont\", testFont);\n }\n _prepareFontLoadEvent(font, request) {\n function int32(data, offset) {\n return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;\n }\n function spliceString(s, offset, remove, insert) {\n const chunk1 = s.substring(0, offset);\n const chunk2 = s.substring(offset + remove);\n return chunk1 + insert + chunk2;\n }\n let i, ii;\n const canvas = this._document.createElement(\"canvas\");\n canvas.width = 1;\n canvas.height = 1;\n const ctx = canvas.getContext(\"2d\");\n let called = 0;\n function isFontReady(name, callback) {\n if (++called > 30) {\n (0, _util.warn)(\"Load test font never loaded.\");\n callback();\n return;\n }\n ctx.font = \"30px \" + name;\n ctx.fillText(\".\", 0, 20);\n const imageData = ctx.getImageData(0, 0, 1, 1);\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n setTimeout(isFontReady.bind(null, name, callback));\n }\n const loadTestFontId = `lt${Date.now()}${this.loadTestFontId++}`;\n let data = this._loadTestFont;\n const COMMENT_OFFSET = 976;\n data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);\n const CFF_CHECKSUM_OFFSET = 16;\n const XXXX_VALUE = 0x58585858;\n let checksum = int32(data, CFF_CHECKSUM_OFFSET);\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n }\n if (i < loadTestFontId.length) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId + \"XXX\", i) | 0;\n }\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));\n const url = `url(data:font/opentype;base64,${btoa(data)});`;\n const rule = `@font-face {font-family:\"${loadTestFontId}\";src:${url}}`;\n this.insertRule(rule);\n const div = this._document.createElement(\"div\");\n div.style.visibility = \"hidden\";\n div.style.width = div.style.height = \"10px\";\n div.style.position = \"absolute\";\n div.style.top = div.style.left = \"0px\";\n for (const name of [font.loadedName, loadTestFontId]) {\n const span = this._document.createElement(\"span\");\n span.textContent = \"Hi\";\n span.style.fontFamily = name;\n div.append(span);\n }\n this._document.body.append(div);\n isFontReady(loadTestFontId, () => {\n div.remove();\n request.complete();\n });\n }\n}\nexports.FontLoader = FontLoader;\nclass FontFaceObject {\n constructor(translatedData, {\n isEvalSupported = true,\n disableFontFace = false,\n ignoreErrors = false,\n inspectFont = null\n }) {\n this.compiledGlyphs = Object.create(null);\n for (const i in translatedData) {\n this[i] = translatedData[i];\n }\n this.isEvalSupported = isEvalSupported !== false;\n this.disableFontFace = disableFontFace === true;\n this.ignoreErrors = ignoreErrors === true;\n this._inspectFont = inspectFont;\n }\n createNativeFontFace() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n let nativeFontFace;\n if (!this.cssFontInfo) {\n nativeFontFace = new FontFace(this.loadedName, this.data, {});\n } else {\n const css = {\n weight: this.cssFontInfo.fontWeight\n };\n if (this.cssFontInfo.italicAngle) {\n css.style = `oblique ${this.cssFontInfo.italicAngle}deg`;\n }\n nativeFontFace = new FontFace(this.cssFontInfo.fontFamily, this.data, css);\n }\n this._inspectFont?.(this);\n return nativeFontFace;\n }\n createFontFaceRule() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n const data = (0, _util.bytesToString)(this.data);\n const url = `url(data:${this.mimetype};base64,${btoa(data)});`;\n let rule;\n if (!this.cssFontInfo) {\n rule = `@font-face {font-family:\"${this.loadedName}\";src:${url}}`;\n } else {\n let css = `font-weight: ${this.cssFontInfo.fontWeight};`;\n if (this.cssFontInfo.italicAngle) {\n css += `font-style: oblique ${this.cssFontInfo.italicAngle}deg;`;\n }\n rule = `@font-face {font-family:\"${this.cssFontInfo.fontFamily}\";${css}src:${url}}`;\n }\n this._inspectFont?.(this, url);\n return rule;\n }\n getPathGenerator(objs, character) {\n if (this.compiledGlyphs[character] !== undefined) {\n return this.compiledGlyphs[character];\n }\n let cmds;\n try {\n cmds = objs.get(this.loadedName + \"_path_\" + character);\n } catch (ex) {\n if (!this.ignoreErrors) {\n throw ex;\n }\n (0, _util.warn)(`getPathGenerator - ignoring character: \"${ex}\".`);\n return this.compiledGlyphs[character] = function (c, size) {};\n }\n if (this.isEvalSupported && _util.FeatureTest.isEvalSupported) {\n const jsBuf = [];\n for (const current of cmds) {\n const args = current.args !== undefined ? current.args.join(\",\") : \"\";\n jsBuf.push(\"c.\", current.cmd, \"(\", args, \");\\n\");\n }\n return this.compiledGlyphs[character] = new Function(\"c\", \"size\", jsBuf.join(\"\"));\n }\n return this.compiledGlyphs[character] = function (c, size) {\n for (const current of cmds) {\n if (current.cmd === \"scale\") {\n current.args = [size, -size];\n }\n c[current.cmd].apply(c, current.args);\n }\n };\n }\n}\nexports.FontFaceObject = FontFaceObject;\n\n/***/ }),\n/* 10 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.NodeStandardFontDataFactory = exports.NodeFilterFactory = exports.NodeCanvasFactory = exports.NodeCMapReaderFactory = void 0;\nvar _base_factory = __w_pdfjs_require__(7);\nvar _util = __w_pdfjs_require__(1);\n;\n;\nconst fetchData = function (url) {\n return new Promise((resolve, reject) => {\n const fs = require(\"fs\");\n fs.readFile(url, (error, data) => {\n if (error || !data) {\n reject(new Error(error));\n return;\n }\n resolve(new Uint8Array(data));\n });\n });\n};\nclass NodeFilterFactory extends _base_factory.BaseFilterFactory {}\nexports.NodeFilterFactory = NodeFilterFactory;\nclass NodeCanvasFactory extends _base_factory.BaseCanvasFactory {\n _createCanvas(width, height) {\n const Canvas = require(\"canvas\");\n return Canvas.createCanvas(width, height);\n }\n}\nexports.NodeCanvasFactory = NodeCanvasFactory;\nclass NodeCMapReaderFactory extends _base_factory.BaseCMapReaderFactory {\n _fetchData(url, compressionType) {\n return fetchData(url).then(data => {\n return {\n cMapData: data,\n compressionType\n };\n });\n }\n}\nexports.NodeCMapReaderFactory = NodeCMapReaderFactory;\nclass NodeStandardFontDataFactory extends _base_factory.BaseStandardFontDataFactory {\n _fetchData(url) {\n return fetchData(url);\n }\n}\nexports.NodeStandardFontDataFactory = NodeStandardFontDataFactory;\n\n/***/ }),\n/* 11 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.CanvasGraphics = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _display_utils = __w_pdfjs_require__(6);\nvar _pattern_helper = __w_pdfjs_require__(12);\nvar _image_utils = __w_pdfjs_require__(13);\nconst MIN_FONT_SIZE = 16;\nconst MAX_FONT_SIZE = 100;\nconst MAX_GROUP_SIZE = 4096;\nconst EXECUTION_TIME = 15;\nconst EXECUTION_STEPS = 10;\nconst MAX_SIZE_TO_COMPILE = 1000;\nconst FULL_CHUNK_HEIGHT = 16;\nfunction mirrorContextOperations(ctx, destCtx) {\n if (ctx._removeMirroring) {\n throw new Error(\"Context is already forwarding operations.\");\n }\n ctx.__originalSave = ctx.save;\n ctx.__originalRestore = ctx.restore;\n ctx.__originalRotate = ctx.rotate;\n ctx.__originalScale = ctx.scale;\n ctx.__originalTranslate = ctx.translate;\n ctx.__originalTransform = ctx.transform;\n ctx.__originalSetTransform = ctx.setTransform;\n ctx.__originalResetTransform = ctx.resetTransform;\n ctx.__originalClip = ctx.clip;\n ctx.__originalMoveTo = ctx.moveTo;\n ctx.__originalLineTo = ctx.lineTo;\n ctx.__originalBezierCurveTo = ctx.bezierCurveTo;\n ctx.__originalRect = ctx.rect;\n ctx.__originalClosePath = ctx.closePath;\n ctx.__originalBeginPath = ctx.beginPath;\n ctx._removeMirroring = () => {\n ctx.save = ctx.__originalSave;\n ctx.restore = ctx.__originalRestore;\n ctx.rotate = ctx.__originalRotate;\n ctx.scale = ctx.__originalScale;\n ctx.translate = ctx.__originalTranslate;\n ctx.transform = ctx.__originalTransform;\n ctx.setTransform = ctx.__originalSetTransform;\n ctx.resetTransform = ctx.__originalResetTransform;\n ctx.clip = ctx.__originalClip;\n ctx.moveTo = ctx.__originalMoveTo;\n ctx.lineTo = ctx.__originalLineTo;\n ctx.bezierCurveTo = ctx.__originalBezierCurveTo;\n ctx.rect = ctx.__originalRect;\n ctx.closePath = ctx.__originalClosePath;\n ctx.beginPath = ctx.__originalBeginPath;\n delete ctx._removeMirroring;\n };\n ctx.save = function ctxSave() {\n destCtx.save();\n this.__originalSave();\n };\n ctx.restore = function ctxRestore() {\n destCtx.restore();\n this.__originalRestore();\n };\n ctx.translate = function ctxTranslate(x, y) {\n destCtx.translate(x, y);\n this.__originalTranslate(x, y);\n };\n ctx.scale = function ctxScale(x, y) {\n destCtx.scale(x, y);\n this.__originalScale(x, y);\n };\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n destCtx.transform(a, b, c, d, e, f);\n this.__originalTransform(a, b, c, d, e, f);\n };\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n destCtx.setTransform(a, b, c, d, e, f);\n this.__originalSetTransform(a, b, c, d, e, f);\n };\n ctx.resetTransform = function ctxResetTransform() {\n destCtx.resetTransform();\n this.__originalResetTransform();\n };\n ctx.rotate = function ctxRotate(angle) {\n destCtx.rotate(angle);\n this.__originalRotate(angle);\n };\n ctx.clip = function ctxRotate(rule) {\n destCtx.clip(rule);\n this.__originalClip(rule);\n };\n ctx.moveTo = function (x, y) {\n destCtx.moveTo(x, y);\n this.__originalMoveTo(x, y);\n };\n ctx.lineTo = function (x, y) {\n destCtx.lineTo(x, y);\n this.__originalLineTo(x, y);\n };\n ctx.bezierCurveTo = function (cp1x, cp1y, cp2x, cp2y, x, y) {\n destCtx.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);\n this.__originalBezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);\n };\n ctx.rect = function (x, y, width, height) {\n destCtx.rect(x, y, width, height);\n this.__originalRect(x, y, width, height);\n };\n ctx.closePath = function () {\n destCtx.closePath();\n this.__originalClosePath();\n };\n ctx.beginPath = function () {\n destCtx.beginPath();\n this.__originalBeginPath();\n };\n}\nclass CachedCanvases {\n constructor(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n getCanvas(id, width, height) {\n let canvasEntry;\n if (this.cache[id] !== undefined) {\n canvasEntry = this.cache[id];\n this.canvasFactory.reset(canvasEntry, width, height);\n } else {\n canvasEntry = this.canvasFactory.create(width, height);\n this.cache[id] = canvasEntry;\n }\n return canvasEntry;\n }\n delete(id) {\n delete this.cache[id];\n }\n clear() {\n for (const id in this.cache) {\n const canvasEntry = this.cache[id];\n this.canvasFactory.destroy(canvasEntry);\n delete this.cache[id];\n }\n }\n}\nfunction drawImageAtIntegerCoords(ctx, srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH) {\n const [a, b, c, d, tx, ty] = (0, _display_utils.getCurrentTransform)(ctx);\n if (b === 0 && c === 0) {\n const tlX = destX * a + tx;\n const rTlX = Math.round(tlX);\n const tlY = destY * d + ty;\n const rTlY = Math.round(tlY);\n const brX = (destX + destW) * a + tx;\n const rWidth = Math.abs(Math.round(brX) - rTlX) || 1;\n const brY = (destY + destH) * d + ty;\n const rHeight = Math.abs(Math.round(brY) - rTlY) || 1;\n ctx.setTransform(Math.sign(a), 0, 0, Math.sign(d), rTlX, rTlY);\n ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, rWidth, rHeight);\n ctx.setTransform(a, b, c, d, tx, ty);\n return [rWidth, rHeight];\n }\n if (a === 0 && d === 0) {\n const tlX = destY * c + tx;\n const rTlX = Math.round(tlX);\n const tlY = destX * b + ty;\n const rTlY = Math.round(tlY);\n const brX = (destY + destH) * c + tx;\n const rWidth = Math.abs(Math.round(brX) - rTlX) || 1;\n const brY = (destX + destW) * b + ty;\n const rHeight = Math.abs(Math.round(brY) - rTlY) || 1;\n ctx.setTransform(0, Math.sign(b), Math.sign(c), 0, rTlX, rTlY);\n ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, rHeight, rWidth);\n ctx.setTransform(a, b, c, d, tx, ty);\n return [rHeight, rWidth];\n }\n ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH);\n const scaleX = Math.hypot(a, b);\n const scaleY = Math.hypot(c, d);\n return [scaleX * destW, scaleY * destH];\n}\nfunction compileType3Glyph(imgData) {\n const {\n width,\n height\n } = imgData;\n if (width > MAX_SIZE_TO_COMPILE || height > MAX_SIZE_TO_COMPILE) {\n return null;\n }\n const POINT_TO_PROCESS_LIMIT = 1000;\n const POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n const width1 = width + 1;\n let points = new Uint8Array(width1 * (height + 1));\n let i, j, j0;\n const lineSize = width + 7 & ~7;\n let data = new Uint8Array(lineSize * height),\n pos = 0;\n for (const elem of imgData.data) {\n let mask = 128;\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n let count = 0;\n pos = 0;\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j] = data[pos] ? 2 : 1;\n ++count;\n }\n pos++;\n }\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n let sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n pos++;\n }\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n pos = lineSize * (height - 1);\n j0 = i * width1;\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j0 + j] = data[pos] ? 4 : 8;\n ++count;\n }\n pos++;\n }\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n const steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n const path = new Path2D();\n for (i = 0; count && i <= height; i++) {\n let p = i * width1;\n const end = p + width;\n while (p < end && !points[p]) {\n p++;\n }\n if (p === end) {\n continue;\n }\n path.moveTo(p % width1, i);\n const p0 = p;\n let type = points[p];\n do {\n const step = steps[type];\n do {\n p += step;\n } while (!points[p]);\n const pp = points[p];\n if (pp !== 5 && pp !== 10) {\n type = pp;\n points[p] = 0;\n } else {\n type = pp & 0x33 * type >> 4;\n points[p] &= type >> 2 | type << 2;\n }\n path.lineTo(p % width1, p / width1 | 0);\n if (!points[p]) {\n --count;\n }\n } while (p0 !== p);\n --i;\n }\n data = null;\n points = null;\n const drawOutline = function (c) {\n c.save();\n c.scale(1 / width, -1 / height);\n c.translate(0, -height);\n c.fill(path);\n c.beginPath();\n c.restore();\n };\n return drawOutline;\n}\nclass CanvasExtraState {\n constructor(width, height) {\n this.alphaIsShape = false;\n this.fontSize = 0;\n this.fontSizeScale = 1;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.textMatrixScale = 1;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textRise = 0;\n this.fillColor = \"#000000\";\n this.strokeColor = \"#000000\";\n this.patternFill = false;\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.activeSMask = null;\n this.transferMaps = \"none\";\n this.startNewPathAndClipBox([0, 0, width, height]);\n }\n clone() {\n const clone = Object.create(this);\n clone.clipBox = this.clipBox.slice();\n return clone;\n }\n setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n updatePathMinMax(transform, x, y) {\n [x, y] = _util.Util.applyTransform([x, y], transform);\n this.minX = Math.min(this.minX, x);\n this.minY = Math.min(this.minY, y);\n this.maxX = Math.max(this.maxX, x);\n this.maxY = Math.max(this.maxY, y);\n }\n updateRectMinMax(transform, rect) {\n const p1 = _util.Util.applyTransform(rect, transform);\n const p2 = _util.Util.applyTransform(rect.slice(2), transform);\n this.minX = Math.min(this.minX, p1[0], p2[0]);\n this.minY = Math.min(this.minY, p1[1], p2[1]);\n this.maxX = Math.max(this.maxX, p1[0], p2[0]);\n this.maxY = Math.max(this.maxY, p1[1], p2[1]);\n }\n updateScalingPathMinMax(transform, minMax) {\n _util.Util.scaleMinMax(transform, minMax);\n this.minX = Math.min(this.minX, minMax[0]);\n this.maxX = Math.max(this.maxX, minMax[1]);\n this.minY = Math.min(this.minY, minMax[2]);\n this.maxY = Math.max(this.maxY, minMax[3]);\n }\n updateCurvePathMinMax(transform, x0, y0, x1, y1, x2, y2, x3, y3, minMax) {\n const box = _util.Util.bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3);\n if (minMax) {\n minMax[0] = Math.min(minMax[0], box[0], box[2]);\n minMax[1] = Math.max(minMax[1], box[0], box[2]);\n minMax[2] = Math.min(minMax[2], box[1], box[3]);\n minMax[3] = Math.max(minMax[3], box[1], box[3]);\n return;\n }\n this.updateRectMinMax(transform, box);\n }\n getPathBoundingBox(pathType = _pattern_helper.PathType.FILL, transform = null) {\n const box = [this.minX, this.minY, this.maxX, this.maxY];\n if (pathType === _pattern_helper.PathType.STROKE) {\n if (!transform) {\n (0, _util.unreachable)(\"Stroke bounding box must include transform.\");\n }\n const scale = _util.Util.singularValueDecompose2dScale(transform);\n const xStrokePad = scale[0] * this.lineWidth / 2;\n const yStrokePad = scale[1] * this.lineWidth / 2;\n box[0] -= xStrokePad;\n box[1] -= yStrokePad;\n box[2] += xStrokePad;\n box[3] += yStrokePad;\n }\n return box;\n }\n updateClipFromPath() {\n const intersect = _util.Util.intersect(this.clipBox, this.getPathBoundingBox());\n this.startNewPathAndClipBox(intersect || [0, 0, 0, 0]);\n }\n isEmptyClip() {\n return this.minX === Infinity;\n }\n startNewPathAndClipBox(box) {\n this.clipBox = box;\n this.minX = Infinity;\n this.minY = Infinity;\n this.maxX = 0;\n this.maxY = 0;\n }\n getClippedPathBoundingBox(pathType = _pattern_helper.PathType.FILL, transform = null) {\n return _util.Util.intersect(this.clipBox, this.getPathBoundingBox(pathType, transform));\n }\n}\nfunction putBinaryImageData(ctx, imgData) {\n if (typeof ImageData !== \"undefined\" && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\n }\n const height = imgData.height,\n width = imgData.width;\n const partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n let srcPos = 0,\n destPos;\n const src = imgData.data;\n const dest = chunkImgData.data;\n let i, j, thisChunkHeight, elemsInThisChunk;\n if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {\n const srcLength = src.byteLength;\n const dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n const dest32DataLength = dest32.length;\n const fullSrcDiff = width + 7 >> 3;\n const white = 0xffffffff;\n const black = _util.FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff;\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\n for (j = 0; j < thisChunkHeight; j++) {\n const srcDiff = srcLength - srcPos;\n let k = 0;\n const kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n const kEndUnrolled = kEnd & ~7;\n let mask = 0;\n let srcByte = 0;\n for (; k < kEndUnrolled; k += 8) {\n srcByte = src[srcPos++];\n dest32[destPos++] = srcByte & 128 ? white : black;\n dest32[destPos++] = srcByte & 64 ? white : black;\n dest32[destPos++] = srcByte & 32 ? white : black;\n dest32[destPos++] = srcByte & 16 ? white : black;\n dest32[destPos++] = srcByte & 8 ? white : black;\n dest32[destPos++] = srcByte & 4 ? white : black;\n dest32[destPos++] = srcByte & 2 ? white : black;\n dest32[destPos++] = srcByte & 1 ? white : black;\n }\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {\n j = 0;\n elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n for (i = 0; i < fullChunks; i++) {\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n srcPos += elemsInThisChunk;\n ctx.putImageData(chunkImgData, 0, j);\n j += FULL_CHUNK_HEIGHT;\n }\n if (i < totalChunks) {\n elemsInThisChunk = width * partialChunkHeight * 4;\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {\n thisChunkHeight = FULL_CHUNK_HEIGHT;\n elemsInThisChunk = width * thisChunkHeight;\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n destPos = 0;\n for (j = elemsInThisChunk; j--;) {\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = 255;\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error(`bad image kind: ${imgData.kind}`);\n }\n}\nfunction putBinaryImageMask(ctx, imgData) {\n if (imgData.bitmap) {\n ctx.drawImage(imgData.bitmap, 0, 0);\n return;\n }\n const height = imgData.height,\n width = imgData.width;\n const partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n let srcPos = 0;\n const src = imgData.data;\n const dest = chunkImgData.data;\n for (let i = 0; i < totalChunks; i++) {\n const thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n ({\n srcPos\n } = (0, _image_utils.convertBlackAndWhiteToRGBA)({\n src,\n srcPos,\n dest,\n width,\n height: thisChunkHeight,\n nonBlackColor: 0\n }));\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n}\nfunction copyCtxState(sourceCtx, destCtx) {\n const properties = [\"strokeStyle\", \"fillStyle\", \"fillRule\", \"globalAlpha\", \"lineWidth\", \"lineCap\", \"lineJoin\", \"miterLimit\", \"globalCompositeOperation\", \"font\", \"filter\"];\n for (const property of properties) {\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\n}\nfunction resetCtxToDefault(ctx) {\n ctx.strokeStyle = ctx.fillStyle = \"#000000\";\n ctx.fillRule = \"nonzero\";\n ctx.globalAlpha = 1;\n ctx.lineWidth = 1;\n ctx.lineCap = \"butt\";\n ctx.lineJoin = \"miter\";\n ctx.miterLimit = 10;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.font = \"10px sans-serif\";\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n if (!_util.isNodeJS) {\n const {\n filter\n } = ctx;\n if (filter !== \"none\" && filter !== \"\") {\n ctx.filter = \"none\";\n }\n }\n}\nfunction composeSMaskBackdrop(bytes, r0, g0, b0) {\n const length = bytes.length;\n for (let i = 3; i < length; i += 4) {\n const alpha = bytes[i];\n if (alpha === 0) {\n bytes[i - 3] = r0;\n bytes[i - 2] = g0;\n bytes[i - 1] = b0;\n } else if (alpha < 255) {\n const alpha_ = 255 - alpha;\n bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;\n bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;\n bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;\n }\n }\n}\nfunction composeSMaskAlpha(maskData, layerData, transferMap) {\n const length = maskData.length;\n const scale = 1 / 255;\n for (let i = 3; i < length; i += 4) {\n const alpha = transferMap ? transferMap[maskData[i]] : maskData[i];\n layerData[i] = layerData[i] * alpha * scale | 0;\n }\n}\nfunction composeSMaskLuminosity(maskData, layerData, transferMap) {\n const length = maskData.length;\n for (let i = 3; i < length; i += 4) {\n const y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;\n layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;\n }\n}\nfunction genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap, layerOffsetX, layerOffsetY, maskOffsetX, maskOffsetY) {\n const hasBackdrop = !!backdrop;\n const r0 = hasBackdrop ? backdrop[0] : 0;\n const g0 = hasBackdrop ? backdrop[1] : 0;\n const b0 = hasBackdrop ? backdrop[2] : 0;\n const composeFn = subtype === \"Luminosity\" ? composeSMaskLuminosity : composeSMaskAlpha;\n const PIXELS_TO_PROCESS = 1048576;\n const chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n for (let row = 0; row < height; row += chunkSize) {\n const chunkHeight = Math.min(chunkSize, height - row);\n const maskData = maskCtx.getImageData(layerOffsetX - maskOffsetX, row + (layerOffsetY - maskOffsetY), width, chunkHeight);\n const layerData = layerCtx.getImageData(layerOffsetX, row + layerOffsetY, width, chunkHeight);\n if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n composeFn(maskData.data, layerData.data, transferMap);\n layerCtx.putImageData(layerData, layerOffsetX, row + layerOffsetY);\n }\n}\nfunction composeSMask(ctx, smask, layerCtx, layerBox) {\n const layerOffsetX = layerBox[0];\n const layerOffsetY = layerBox[1];\n const layerWidth = layerBox[2] - layerOffsetX;\n const layerHeight = layerBox[3] - layerOffsetY;\n if (layerWidth === 0 || layerHeight === 0) {\n return;\n }\n genericComposeSMask(smask.context, layerCtx, layerWidth, layerHeight, smask.subtype, smask.backdrop, smask.transferMap, layerOffsetX, layerOffsetY, smask.offsetX, smask.offsetY);\n ctx.save();\n ctx.globalAlpha = 1;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(layerCtx.canvas, 0, 0);\n ctx.restore();\n}\nfunction getImageSmoothingEnabled(transform, interpolate) {\n const scale = _util.Util.singularValueDecompose2dScale(transform);\n scale[0] = Math.fround(scale[0]);\n scale[1] = Math.fround(scale[1]);\n const actualScale = Math.fround((globalThis.devicePixelRatio || 1) * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS);\n if (interpolate !== undefined) {\n return interpolate;\n } else if (scale[0] <= actualScale || scale[1] <= actualScale) {\n return true;\n }\n return false;\n}\nconst LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\nconst LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\nconst NORMAL_CLIP = {};\nconst EO_CLIP = {};\nclass CanvasGraphics {\n constructor(canvasCtx, commonObjs, objs, canvasFactory, filterFactory, {\n optionalContentConfig,\n markedContentStack = null\n }, annotationCanvasMap, pageColors) {\n this.ctx = canvasCtx;\n this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height);\n this.stateStack = [];\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.res = null;\n this.xobjs = null;\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.canvasFactory = canvasFactory;\n this.filterFactory = filterFactory;\n this.groupStack = [];\n this.processingType3 = null;\n this.baseTransform = null;\n this.baseTransformStack = [];\n this.groupLevel = 0;\n this.smaskStack = [];\n this.smaskCounter = 0;\n this.tempSMask = null;\n this.suspendedCtx = null;\n this.contentVisible = true;\n this.markedContentStack = markedContentStack || [];\n this.optionalContentConfig = optionalContentConfig;\n this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n this.cachedPatterns = new Map();\n this.annotationCanvasMap = annotationCanvasMap;\n this.viewportScale = 1;\n this.outputScaleX = 1;\n this.outputScaleY = 1;\n this.pageColors = pageColors;\n this._cachedScaleForStroking = [-1, 0];\n this._cachedGetSinglePixelWidth = null;\n this._cachedBitmapsMap = new Map();\n }\n getObject(data, fallback = null) {\n if (typeof data === \"string\") {\n return data.startsWith(\"g_\") ? this.commonObjs.get(data) : this.objs.get(data);\n }\n return fallback;\n }\n beginDrawing({\n transform,\n viewport,\n transparency = false,\n background = null\n }) {\n const width = this.ctx.canvas.width;\n const height = this.ctx.canvas.height;\n const savedFillStyle = this.ctx.fillStyle;\n this.ctx.fillStyle = background || \"#ffffff\";\n this.ctx.fillRect(0, 0, width, height);\n this.ctx.fillStyle = savedFillStyle;\n if (transparency) {\n const transparentCanvas = this.cachedCanvases.getCanvas(\"transparent\", width, height);\n this.compositeCtx = this.ctx;\n this.transparentCanvas = transparentCanvas.canvas;\n this.ctx = transparentCanvas.context;\n this.ctx.save();\n this.ctx.transform(...(0, _display_utils.getCurrentTransform)(this.compositeCtx));\n }\n this.ctx.save();\n resetCtxToDefault(this.ctx);\n if (transform) {\n this.ctx.transform(...transform);\n this.outputScaleX = transform[0];\n this.outputScaleY = transform[0];\n }\n this.ctx.transform(...viewport.transform);\n this.viewportScale = viewport.scale;\n this.baseTransform = (0, _display_utils.getCurrentTransform)(this.ctx);\n }\n executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {\n const argsArray = operatorList.argsArray;\n const fnArray = operatorList.fnArray;\n let i = executionStartIdx || 0;\n const argsArrayLen = argsArray.length;\n if (argsArrayLen === i) {\n return i;\n }\n const chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === \"function\";\n const endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n let steps = 0;\n const commonObjs = this.commonObjs;\n const objs = this.objs;\n let fnId;\n while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n fnId = fnArray[i];\n if (fnId !== _util.OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n for (const depObjId of argsArray[i]) {\n const objsPool = depObjId.startsWith(\"g_\") ? commonObjs : objs;\n if (!objsPool.has(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n }\n i++;\n if (i === argsArrayLen) {\n return i;\n }\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n steps = 0;\n }\n }\n }\n #restoreInitialState() {\n while (this.stateStack.length || this.inSMaskMode) {\n this.restore();\n }\n this.ctx.restore();\n if (this.transparentCanvas) {\n this.ctx = this.compositeCtx;\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.drawImage(this.transparentCanvas, 0, 0);\n this.ctx.restore();\n this.transparentCanvas = null;\n }\n }\n endDrawing() {\n this.#restoreInitialState();\n this.cachedCanvases.clear();\n this.cachedPatterns.clear();\n for (const cache of this._cachedBitmapsMap.values()) {\n for (const canvas of cache.values()) {\n if (typeof HTMLCanvasElement !== \"undefined\" && canvas instanceof HTMLCanvasElement) {\n canvas.width = canvas.height = 0;\n }\n }\n cache.clear();\n }\n this._cachedBitmapsMap.clear();\n this.#drawFilter();\n }\n #drawFilter() {\n if (this.pageColors) {\n const hcmFilterId = this.filterFactory.addHCMFilter(this.pageColors.foreground, this.pageColors.background);\n if (hcmFilterId !== \"none\") {\n const savedFilter = this.ctx.filter;\n this.ctx.filter = hcmFilterId;\n this.ctx.drawImage(this.ctx.canvas, 0, 0);\n this.ctx.filter = savedFilter;\n }\n }\n }\n _scaleImage(img, inverseTransform) {\n const width = img.width;\n const height = img.height;\n let widthScale = Math.max(Math.hypot(inverseTransform[0], inverseTransform[1]), 1);\n let heightScale = Math.max(Math.hypot(inverseTransform[2], inverseTransform[3]), 1);\n let paintWidth = width,\n paintHeight = height;\n let tmpCanvasId = \"prescale1\";\n let tmpCanvas, tmpCtx;\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n let newWidth = paintWidth,\n newHeight = paintHeight;\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = paintWidth >= 16384 ? Math.floor(paintWidth / 2) - 1 || 1 : Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = paintHeight >= 16384 ? Math.floor(paintHeight / 2) - 1 || 1 : Math.ceil(paintHeight) / 2;\n heightScale /= paintHeight / newHeight;\n }\n tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);\n tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, newWidth, newHeight);\n tmpCtx.drawImage(img, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);\n img = tmpCanvas.canvas;\n paintWidth = newWidth;\n paintHeight = newHeight;\n tmpCanvasId = tmpCanvasId === \"prescale1\" ? \"prescale2\" : \"prescale1\";\n }\n return {\n img,\n paintWidth,\n paintHeight\n };\n }\n _createMaskCanvas(img) {\n const ctx = this.ctx;\n const {\n width,\n height\n } = img;\n const fillColor = this.current.fillColor;\n const isPatternFill = this.current.patternFill;\n const currentTransform = (0, _display_utils.getCurrentTransform)(ctx);\n let cache, cacheKey, scaled, maskCanvas;\n if ((img.bitmap || img.data) && img.count > 1) {\n const mainKey = img.bitmap || img.data.buffer;\n cacheKey = JSON.stringify(isPatternFill ? currentTransform : [currentTransform.slice(0, 4), fillColor]);\n cache = this._cachedBitmapsMap.get(mainKey);\n if (!cache) {\n cache = new Map();\n this._cachedBitmapsMap.set(mainKey, cache);\n }\n const cachedImage = cache.get(cacheKey);\n if (cachedImage && !isPatternFill) {\n const offsetX = Math.round(Math.min(currentTransform[0], currentTransform[2]) + currentTransform[4]);\n const offsetY = Math.round(Math.min(currentTransform[1], currentTransform[3]) + currentTransform[5]);\n return {\n canvas: cachedImage,\n offsetX,\n offsetY\n };\n }\n scaled = cachedImage;\n }\n if (!scaled) {\n maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n putBinaryImageMask(maskCanvas.context, img);\n }\n let maskToCanvas = _util.Util.transform(currentTransform, [1 / width, 0, 0, -1 / height, 0, 0]);\n maskToCanvas = _util.Util.transform(maskToCanvas, [1, 0, 0, 1, 0, -height]);\n const cord1 = _util.Util.applyTransform([0, 0], maskToCanvas);\n const cord2 = _util.Util.applyTransform([width, height], maskToCanvas);\n const rect = _util.Util.normalizeRect([cord1[0], cord1[1], cord2[0], cord2[1]]);\n const drawnWidth = Math.round(rect[2] - rect[0]) || 1;\n const drawnHeight = Math.round(rect[3] - rect[1]) || 1;\n const fillCanvas = this.cachedCanvases.getCanvas(\"fillCanvas\", drawnWidth, drawnHeight);\n const fillCtx = fillCanvas.context;\n const offsetX = Math.min(cord1[0], cord2[0]);\n const offsetY = Math.min(cord1[1], cord2[1]);\n fillCtx.translate(-offsetX, -offsetY);\n fillCtx.transform(...maskToCanvas);\n if (!scaled) {\n scaled = this._scaleImage(maskCanvas.canvas, (0, _display_utils.getCurrentTransformInverse)(fillCtx));\n scaled = scaled.img;\n if (cache && isPatternFill) {\n cache.set(cacheKey, scaled);\n }\n }\n fillCtx.imageSmoothingEnabled = getImageSmoothingEnabled((0, _display_utils.getCurrentTransform)(fillCtx), img.interpolate);\n drawImageAtIntegerCoords(fillCtx, scaled, 0, 0, scaled.width, scaled.height, 0, 0, width, height);\n fillCtx.globalCompositeOperation = \"source-in\";\n const inverse = _util.Util.transform((0, _display_utils.getCurrentTransformInverse)(fillCtx), [1, 0, 0, 1, -offsetX, -offsetY]);\n fillCtx.fillStyle = isPatternFill ? fillColor.getPattern(ctx, this, inverse, _pattern_helper.PathType.FILL) : fillColor;\n fillCtx.fillRect(0, 0, width, height);\n if (cache && !isPatternFill) {\n this.cachedCanvases.delete(\"fillCanvas\");\n cache.set(cacheKey, fillCanvas.canvas);\n }\n return {\n canvas: fillCanvas.canvas,\n offsetX: Math.round(offsetX),\n offsetY: Math.round(offsetY)\n };\n }\n setLineWidth(width) {\n if (width !== this.current.lineWidth) {\n this._cachedScaleForStroking[0] = -1;\n }\n this.current.lineWidth = width;\n this.ctx.lineWidth = width;\n }\n setLineCap(style) {\n this.ctx.lineCap = LINE_CAP_STYLES[style];\n }\n setLineJoin(style) {\n this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n }\n setMiterLimit(limit) {\n this.ctx.miterLimit = limit;\n }\n setDash(dashArray, dashPhase) {\n const ctx = this.ctx;\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n }\n setRenderingIntent(intent) {}\n setFlatness(flatness) {}\n setGState(states) {\n for (const [key, value] of states) {\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n case \"LC\":\n this.setLineCap(value);\n break;\n case \"LJ\":\n this.setLineJoin(value);\n break;\n case \"ML\":\n this.setMiterLimit(value);\n break;\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n case \"FL\":\n this.setFlatness(value);\n break;\n case \"Font\":\n this.setFont(value[0], value[1]);\n break;\n case \"CA\":\n this.current.strokeAlpha = value;\n break;\n case \"ca\":\n this.current.fillAlpha = value;\n this.ctx.globalAlpha = value;\n break;\n case \"BM\":\n this.ctx.globalCompositeOperation = value;\n break;\n case \"SMask\":\n this.current.activeSMask = value ? this.tempSMask : null;\n this.tempSMask = null;\n this.checkSMaskState();\n break;\n case \"TR\":\n this.ctx.filter = this.current.transferMaps = this.filterFactory.addFilter(value);\n break;\n }\n }\n }\n get inSMaskMode() {\n return !!this.suspendedCtx;\n }\n checkSMaskState() {\n const inSMaskMode = this.inSMaskMode;\n if (this.current.activeSMask && !inSMaskMode) {\n this.beginSMaskMode();\n } else if (!this.current.activeSMask && inSMaskMode) {\n this.endSMaskMode();\n }\n }\n beginSMaskMode() {\n if (this.inSMaskMode) {\n throw new Error(\"beginSMaskMode called while already in smask mode\");\n }\n const drawnWidth = this.ctx.canvas.width;\n const drawnHeight = this.ctx.canvas.height;\n const cacheId = \"smaskGroupAt\" + this.groupLevel;\n const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight);\n this.suspendedCtx = this.ctx;\n this.ctx = scratchCanvas.context;\n const ctx = this.ctx;\n ctx.setTransform(...(0, _display_utils.getCurrentTransform)(this.suspendedCtx));\n copyCtxState(this.suspendedCtx, ctx);\n mirrorContextOperations(ctx, this.suspendedCtx);\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n }\n endSMaskMode() {\n if (!this.inSMaskMode) {\n throw new Error(\"endSMaskMode called while not in smask mode\");\n }\n this.ctx._removeMirroring();\n copyCtxState(this.ctx, this.suspendedCtx);\n this.ctx = this.suspendedCtx;\n this.suspendedCtx = null;\n }\n compose(dirtyBox) {\n if (!this.current.activeSMask) {\n return;\n }\n if (!dirtyBox) {\n dirtyBox = [0, 0, this.ctx.canvas.width, this.ctx.canvas.height];\n } else {\n dirtyBox[0] = Math.floor(dirtyBox[0]);\n dirtyBox[1] = Math.floor(dirtyBox[1]);\n dirtyBox[2] = Math.ceil(dirtyBox[2]);\n dirtyBox[3] = Math.ceil(dirtyBox[3]);\n }\n const smask = this.current.activeSMask;\n const suspendedCtx = this.suspendedCtx;\n composeSMask(suspendedCtx, smask, this.ctx, dirtyBox);\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.clearRect(0, 0, this.ctx.canvas.width, this.ctx.canvas.height);\n this.ctx.restore();\n }\n save() {\n if (this.inSMaskMode) {\n copyCtxState(this.ctx, this.suspendedCtx);\n this.suspendedCtx.save();\n } else {\n this.ctx.save();\n }\n const old = this.current;\n this.stateStack.push(old);\n this.current = old.clone();\n }\n restore() {\n if (this.stateStack.length === 0 && this.inSMaskMode) {\n this.endSMaskMode();\n }\n if (this.stateStack.length !== 0) {\n this.current = this.stateStack.pop();\n if (this.inSMaskMode) {\n this.suspendedCtx.restore();\n copyCtxState(this.suspendedCtx, this.ctx);\n } else {\n this.ctx.restore();\n }\n this.checkSMaskState();\n this.pendingClip = null;\n this._cachedScaleForStroking[0] = -1;\n this._cachedGetSinglePixelWidth = null;\n }\n }\n transform(a, b, c, d, e, f) {\n this.ctx.transform(a, b, c, d, e, f);\n this._cachedScaleForStroking[0] = -1;\n this._cachedGetSinglePixelWidth = null;\n }\n constructPath(ops, args, minMax) {\n const ctx = this.ctx;\n const current = this.current;\n let x = current.x,\n y = current.y;\n let startX, startY;\n const currentTransform = (0, _display_utils.getCurrentTransform)(ctx);\n const isScalingMatrix = currentTransform[0] === 0 && currentTransform[3] === 0 || currentTransform[1] === 0 && currentTransform[2] === 0;\n const minMaxForBezier = isScalingMatrix ? minMax.slice(0) : null;\n for (let i = 0, j = 0, ii = ops.length; i < ii; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n const width = args[j++];\n const height = args[j++];\n const xw = x + width;\n const yh = y + height;\n ctx.moveTo(x, y);\n if (width === 0 || height === 0) {\n ctx.lineTo(xw, yh);\n } else {\n ctx.lineTo(xw, y);\n ctx.lineTo(xw, yh);\n ctx.lineTo(x, yh);\n }\n if (!isScalingMatrix) {\n current.updateRectMinMax(currentTransform, [x, y, xw, yh]);\n }\n ctx.closePath();\n break;\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n if (!isScalingMatrix) {\n current.updatePathMinMax(currentTransform, x, y);\n }\n break;\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n if (!isScalingMatrix) {\n current.updatePathMinMax(currentTransform, x, y);\n }\n break;\n case _util.OPS.curveTo:\n startX = x;\n startY = y;\n x = args[j + 4];\n y = args[j + 5];\n ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);\n current.updateCurvePathMinMax(currentTransform, startX, startY, args[j], args[j + 1], args[j + 2], args[j + 3], x, y, minMaxForBezier);\n j += 6;\n break;\n case _util.OPS.curveTo2:\n startX = x;\n startY = y;\n ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);\n current.updateCurvePathMinMax(currentTransform, startX, startY, x, y, args[j], args[j + 1], args[j + 2], args[j + 3], minMaxForBezier);\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n case _util.OPS.curveTo3:\n startX = x;\n startY = y;\n x = args[j + 2];\n y = args[j + 3];\n ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n current.updateCurvePathMinMax(currentTransform, startX, startY, args[j], args[j + 1], x, y, x, y, minMaxForBezier);\n j += 4;\n break;\n case _util.OPS.closePath:\n ctx.closePath();\n break;\n }\n }\n if (isScalingMatrix) {\n current.updateScalingPathMinMax(currentTransform, minMaxForBezier);\n }\n current.setCurrentPoint(x, y);\n }\n closePath() {\n this.ctx.closePath();\n }\n stroke(consumePath = true) {\n const ctx = this.ctx;\n const strokeColor = this.current.strokeColor;\n ctx.globalAlpha = this.current.strokeAlpha;\n if (this.contentVisible) {\n if (typeof strokeColor === \"object\" && strokeColor?.getPattern) {\n ctx.save();\n ctx.strokeStyle = strokeColor.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.STROKE);\n this.rescaleAndStroke(false);\n ctx.restore();\n } else {\n this.rescaleAndStroke(true);\n }\n }\n if (consumePath) {\n this.consumePath(this.current.getClippedPathBoundingBox());\n }\n ctx.globalAlpha = this.current.fillAlpha;\n }\n closeStroke() {\n this.closePath();\n this.stroke();\n }\n fill(consumePath = true) {\n const ctx = this.ctx;\n const fillColor = this.current.fillColor;\n const isPatternFill = this.current.patternFill;\n let needRestore = false;\n if (isPatternFill) {\n ctx.save();\n ctx.fillStyle = fillColor.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.FILL);\n needRestore = true;\n }\n const intersect = this.current.getClippedPathBoundingBox();\n if (this.contentVisible && intersect !== null) {\n if (this.pendingEOFill) {\n ctx.fill(\"evenodd\");\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\n }\n if (needRestore) {\n ctx.restore();\n }\n if (consumePath) {\n this.consumePath(intersect);\n }\n }\n eoFill() {\n this.pendingEOFill = true;\n this.fill();\n }\n fillStroke() {\n this.fill(false);\n this.stroke(false);\n this.consumePath();\n }\n eoFillStroke() {\n this.pendingEOFill = true;\n this.fillStroke();\n }\n closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n closeEOFillStroke() {\n this.pendingEOFill = true;\n this.closePath();\n this.fillStroke();\n }\n endPath() {\n this.consumePath();\n }\n clip() {\n this.pendingClip = NORMAL_CLIP;\n }\n eoClip() {\n this.pendingClip = EO_CLIP;\n }\n beginText() {\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.textMatrixScale = 1;\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n }\n endText() {\n const paths = this.pendingTextPaths;\n const ctx = this.ctx;\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n ctx.save();\n ctx.beginPath();\n for (const path of paths) {\n ctx.setTransform(...path.transform);\n ctx.translate(path.x, path.y);\n path.addToPath(ctx, path.fontSize);\n }\n ctx.restore();\n ctx.clip();\n ctx.beginPath();\n delete this.pendingTextPaths;\n }\n setCharSpacing(spacing) {\n this.current.charSpacing = spacing;\n }\n setWordSpacing(spacing) {\n this.current.wordSpacing = spacing;\n }\n setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n setLeading(leading) {\n this.current.leading = -leading;\n }\n setFont(fontRefName, size) {\n const fontObj = this.commonObjs.get(fontRefName);\n const current = this.current;\n if (!fontObj) {\n throw new Error(`Can't find font for ${fontRefName}`);\n }\n current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n (0, _util.warn)(\"Invalid font matrix for font \" + fontRefName);\n }\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n this.current.font = fontObj;\n this.current.fontSize = size;\n if (fontObj.isType3Font) {\n return;\n }\n const name = fontObj.loadedName || \"sans-serif\";\n const typeface = fontObj.systemFontInfo?.css || `\"${name}\", ${fontObj.fallbackName}`;\n let bold = \"normal\";\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n const italic = fontObj.italic ? \"italic\" : \"normal\";\n let browserFontSize = size;\n if (size < MIN_FONT_SIZE) {\n browserFontSize = MIN_FONT_SIZE;\n } else if (size > MAX_FONT_SIZE) {\n browserFontSize = MAX_FONT_SIZE;\n }\n this.current.fontSizeScale = size / browserFontSize;\n this.ctx.font = `${italic} ${bold} ${browserFontSize}px ${typeface}`;\n }\n setTextRenderingMode(mode) {\n this.current.textRenderingMode = mode;\n }\n setTextRise(rise) {\n this.current.textRise = rise;\n }\n moveText(x, y) {\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n }\n setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n setTextMatrix(a, b, c, d, e, f) {\n this.current.textMatrix = [a, b, c, d, e, f];\n this.current.textMatrixScale = Math.hypot(a, b);\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n }\n nextLine() {\n this.moveText(0, this.current.leading);\n }\n paintChar(character, x, y, patternTransform) {\n const ctx = this.ctx;\n const current = this.current;\n const font = current.font;\n const textRenderingMode = current.textRenderingMode;\n const fontSize = current.fontSize / current.fontSizeScale;\n const fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n const isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n const patternFill = current.patternFill && !font.missingFile;\n let addToPath;\n if (font.disableFontFace || isAddToPathSet || patternFill) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n if (font.disableFontFace || patternFill) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n if (patternTransform) {\n ctx.setTransform(...patternTransform);\n }\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fill();\n }\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.stroke();\n }\n ctx.restore();\n } else {\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fillText(character, x, y);\n }\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.strokeText(character, x, y);\n }\n }\n if (isAddToPathSet) {\n const paths = this.pendingTextPaths ||= [];\n paths.push({\n transform: (0, _display_utils.getCurrentTransform)(ctx),\n x,\n y,\n fontSize,\n addToPath\n });\n }\n }\n get isFontSubpixelAAEnabled() {\n const {\n context: ctx\n } = this.cachedCanvases.getCanvas(\"isFontSubpixelAAEnabled\", 10, 10);\n ctx.scale(1.5, 1);\n ctx.fillText(\"I\", 0, 10);\n const data = ctx.getImageData(0, 0, 10, 10).data;\n let enabled = false;\n for (let i = 3; i < data.length; i += 4) {\n if (data[i] > 0 && data[i] < 255) {\n enabled = true;\n break;\n }\n }\n return (0, _util.shadow)(this, \"isFontSubpixelAAEnabled\", enabled);\n }\n showText(glyphs) {\n const current = this.current;\n const font = current.font;\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n const fontSize = current.fontSize;\n if (fontSize === 0) {\n return undefined;\n }\n const ctx = this.ctx;\n const fontSizeScale = current.fontSizeScale;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const fontDirection = current.fontDirection;\n const textHScale = current.textHScale * fontDirection;\n const glyphsLength = glyphs.length;\n const vertical = font.vertical;\n const spacingDir = vertical ? 1 : -1;\n const defaultVMetrics = font.defaultVMetrics;\n const widthAdvanceScale = fontSize * current.fontMatrix[0];\n const simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;\n ctx.save();\n ctx.transform(...current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n let patternTransform;\n if (current.patternFill) {\n ctx.save();\n const pattern = current.fillColor.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.FILL);\n patternTransform = (0, _display_utils.getCurrentTransform)(ctx);\n ctx.restore();\n ctx.fillStyle = pattern;\n }\n let lineWidth = current.lineWidth;\n const scale = current.textMatrixScale;\n if (scale === 0 || lineWidth === 0) {\n const fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n lineWidth = this.getSinglePixelWidth();\n }\n } else {\n lineWidth /= scale;\n }\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n ctx.lineWidth = lineWidth;\n if (font.isInvalidPDFjsFont) {\n const chars = [];\n let width = 0;\n for (const glyph of glyphs) {\n chars.push(glyph.unicode);\n width += glyph.width;\n }\n ctx.fillText(chars.join(\"\"), 0, 0);\n current.x += width * widthAdvanceScale * textHScale;\n ctx.restore();\n this.compose();\n return undefined;\n }\n let x = 0,\n i;\n for (i = 0; i < glyphsLength; ++i) {\n const glyph = glyphs[i];\n if (typeof glyph === \"number\") {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n let restoreNeeded = false;\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const character = glyph.fontChar;\n const accent = glyph.accent;\n let scaledX, scaledY;\n let width = glyph.width;\n if (vertical) {\n const vmetric = glyph.vmetric || defaultVMetrics;\n const vx = -(glyph.vmetric ? vmetric[1] : width * 0.5) * widthAdvanceScale;\n const vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n if (font.remeasure && width > 0) {\n const measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n const characterScaleX = width / measuredWidth;\n restoreNeeded = true;\n ctx.save();\n ctx.scale(characterScaleX, 1);\n scaledX /= characterScaleX;\n } else if (width !== measuredWidth) {\n scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;\n }\n }\n if (this.contentVisible && (glyph.isInFont || font.missingFile)) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform);\n if (accent) {\n const scaledAccentX = scaledX + fontSize * accent.offset.x / fontSizeScale;\n const scaledAccentY = scaledY - fontSize * accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);\n }\n }\n }\n const charWidth = vertical ? width * widthAdvanceScale - spacing * fontDirection : width * widthAdvanceScale + spacing * fontDirection;\n x += charWidth;\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n ctx.restore();\n this.compose();\n return undefined;\n }\n showType3Text(glyphs) {\n const ctx = this.ctx;\n const current = this.current;\n const font = current.font;\n const fontSize = current.fontSize;\n const fontDirection = current.fontDirection;\n const spacingDir = font.vertical ? 1 : -1;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const textHScale = current.textHScale * fontDirection;\n const fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n const glyphsLength = glyphs.length;\n const isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;\n let i, glyph, width, spacingLength;\n if (isTextInvisible || fontSize === 0) {\n return;\n }\n this._cachedScaleForStroking[0] = -1;\n this._cachedGetSinglePixelWidth = null;\n ctx.save();\n ctx.transform(...current.textMatrix);\n ctx.translate(current.x, current.y);\n ctx.scale(textHScale, fontDirection);\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n if (typeof glyph === \"number\") {\n spacingLength = spacingDir * glyph * fontSize / 1000;\n this.ctx.translate(spacingLength, 0);\n current.x += spacingLength * textHScale;\n continue;\n }\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const operatorList = font.charProcOperatorList[glyph.operatorListId];\n if (!operatorList) {\n (0, _util.warn)(`Type3 character \"${glyph.operatorListId}\" is not available.`);\n continue;\n }\n if (this.contentVisible) {\n this.processingType3 = glyph;\n this.save();\n ctx.scale(fontSize, fontSize);\n ctx.transform(...fontMatrix);\n this.executeOperatorList(operatorList);\n this.restore();\n }\n const transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);\n width = transformed[0] * fontSize + spacing;\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\n ctx.restore();\n this.processingType3 = null;\n }\n setCharWidth(xWidth, yWidth) {}\n setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {\n this.ctx.rect(llx, lly, urx - llx, ury - lly);\n this.ctx.clip();\n this.endPath();\n }\n getColorN_Pattern(IR) {\n let pattern;\n if (IR[0] === \"TilingPattern\") {\n const color = IR[1];\n const baseTransform = this.baseTransform || (0, _display_utils.getCurrentTransform)(this.ctx);\n const canvasGraphicsFactory = {\n createCanvasGraphics: ctx => {\n return new CanvasGraphics(ctx, this.commonObjs, this.objs, this.canvasFactory, this.filterFactory, {\n optionalContentConfig: this.optionalContentConfig,\n markedContentStack: this.markedContentStack\n });\n }\n };\n pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);\n } else {\n pattern = this._getPattern(IR[1], IR[2]);\n }\n return pattern;\n }\n setStrokeColorN() {\n this.current.strokeColor = this.getColorN_Pattern(arguments);\n }\n setFillColorN() {\n this.current.fillColor = this.getColorN_Pattern(arguments);\n this.current.patternFill = true;\n }\n setStrokeRGBColor(r, g, b) {\n const color = _util.Util.makeHexColor(r, g, b);\n this.ctx.strokeStyle = color;\n this.current.strokeColor = color;\n }\n setFillRGBColor(r, g, b) {\n const color = _util.Util.makeHexColor(r, g, b);\n this.ctx.fillStyle = color;\n this.current.fillColor = color;\n this.current.patternFill = false;\n }\n _getPattern(objId, matrix = null) {\n let pattern;\n if (this.cachedPatterns.has(objId)) {\n pattern = this.cachedPatterns.get(objId);\n } else {\n pattern = (0, _pattern_helper.getShadingPattern)(this.getObject(objId));\n this.cachedPatterns.set(objId, pattern);\n }\n if (matrix) {\n pattern.matrix = matrix;\n }\n return pattern;\n }\n shadingFill(objId) {\n if (!this.contentVisible) {\n return;\n }\n const ctx = this.ctx;\n this.save();\n const pattern = this._getPattern(objId);\n ctx.fillStyle = pattern.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.SHADING);\n const inv = (0, _display_utils.getCurrentTransformInverse)(ctx);\n if (inv) {\n const {\n width,\n height\n } = ctx.canvas;\n const [x0, y0, x1, y1] = _util.Util.getAxialAlignedBoundingBox([0, 0, width, height], inv);\n this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n } else {\n this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n }\n this.compose(this.current.getClippedPathBoundingBox());\n this.restore();\n }\n beginInlineImage() {\n (0, _util.unreachable)(\"Should not call beginInlineImage\");\n }\n beginImageData() {\n (0, _util.unreachable)(\"Should not call beginImageData\");\n }\n paintFormXObjectBegin(matrix, bbox) {\n if (!this.contentVisible) {\n return;\n }\n this.save();\n this.baseTransformStack.push(this.baseTransform);\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(...matrix);\n }\n this.baseTransform = (0, _display_utils.getCurrentTransform)(this.ctx);\n if (bbox) {\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n this.ctx.rect(bbox[0], bbox[1], width, height);\n this.current.updateRectMinMax((0, _display_utils.getCurrentTransform)(this.ctx), bbox);\n this.clip();\n this.endPath();\n }\n }\n paintFormXObjectEnd() {\n if (!this.contentVisible) {\n return;\n }\n this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n }\n beginGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n this.save();\n if (this.inSMaskMode) {\n this.endSMaskMode();\n this.current.activeSMask = null;\n }\n const currentCtx = this.ctx;\n if (!group.isolated) {\n (0, _util.info)(\"TODO: Support non-isolated groups.\");\n }\n if (group.knockout) {\n (0, _util.warn)(\"Knockout groups not supported.\");\n }\n const currentTransform = (0, _display_utils.getCurrentTransform)(currentCtx);\n if (group.matrix) {\n currentCtx.transform(...group.matrix);\n }\n if (!group.bbox) {\n throw new Error(\"Bounding box is required.\");\n }\n let bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, (0, _display_utils.getCurrentTransform)(currentCtx));\n const canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];\n bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n const offsetX = Math.floor(bounds[0]);\n const offsetY = Math.floor(bounds[1]);\n let drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n let drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n let scaleX = 1,\n scaleY = 1;\n if (drawnWidth > MAX_GROUP_SIZE) {\n scaleX = drawnWidth / MAX_GROUP_SIZE;\n drawnWidth = MAX_GROUP_SIZE;\n }\n if (drawnHeight > MAX_GROUP_SIZE) {\n scaleY = drawnHeight / MAX_GROUP_SIZE;\n drawnHeight = MAX_GROUP_SIZE;\n }\n this.current.startNewPathAndClipBox([0, 0, drawnWidth, drawnHeight]);\n let cacheId = \"groupAt\" + this.groupLevel;\n if (group.smask) {\n cacheId += \"_smask_\" + this.smaskCounter++ % 2;\n }\n const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight);\n const groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / scaleX, 1 / scaleY);\n groupCtx.translate(-offsetX, -offsetY);\n groupCtx.transform(...currentTransform);\n if (group.smask) {\n this.smaskStack.push({\n canvas: scratchCanvas.canvas,\n context: groupCtx,\n offsetX,\n offsetY,\n scaleX,\n scaleY,\n subtype: group.smask.subtype,\n backdrop: group.smask.backdrop,\n transferMap: group.smask.transferMap || null,\n startTransformInverse: null\n });\n } else {\n currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n currentCtx.translate(offsetX, offsetY);\n currentCtx.scale(scaleX, scaleY);\n currentCtx.save();\n }\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n }\n endGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n this.groupLevel--;\n const groupCtx = this.ctx;\n const ctx = this.groupStack.pop();\n this.ctx = ctx;\n this.ctx.imageSmoothingEnabled = false;\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n this.restore();\n } else {\n this.ctx.restore();\n const currentMtx = (0, _display_utils.getCurrentTransform)(this.ctx);\n this.restore();\n this.ctx.save();\n this.ctx.setTransform(...currentMtx);\n const dirtyBox = _util.Util.getAxialAlignedBoundingBox([0, 0, groupCtx.canvas.width, groupCtx.canvas.height], currentMtx);\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n this.ctx.restore();\n this.compose(dirtyBox);\n }\n }\n beginAnnotation(id, rect, transform, matrix, hasOwnCanvas) {\n this.#restoreInitialState();\n resetCtxToDefault(this.ctx);\n this.ctx.save();\n this.save();\n if (this.baseTransform) {\n this.ctx.setTransform(...this.baseTransform);\n }\n if (Array.isArray(rect) && rect.length === 4) {\n const width = rect[2] - rect[0];\n const height = rect[3] - rect[1];\n if (hasOwnCanvas && this.annotationCanvasMap) {\n transform = transform.slice();\n transform[4] -= rect[0];\n transform[5] -= rect[1];\n rect = rect.slice();\n rect[0] = rect[1] = 0;\n rect[2] = width;\n rect[3] = height;\n const [scaleX, scaleY] = _util.Util.singularValueDecompose2dScale((0, _display_utils.getCurrentTransform)(this.ctx));\n const {\n viewportScale\n } = this;\n const canvasWidth = Math.ceil(width * this.outputScaleX * viewportScale);\n const canvasHeight = Math.ceil(height * this.outputScaleY * viewportScale);\n this.annotationCanvas = this.canvasFactory.create(canvasWidth, canvasHeight);\n const {\n canvas,\n context\n } = this.annotationCanvas;\n this.annotationCanvasMap.set(id, canvas);\n this.annotationCanvas.savedCtx = this.ctx;\n this.ctx = context;\n this.ctx.save();\n this.ctx.setTransform(scaleX, 0, 0, -scaleY, 0, height * scaleY);\n resetCtxToDefault(this.ctx);\n } else {\n resetCtxToDefault(this.ctx);\n this.ctx.rect(rect[0], rect[1], width, height);\n this.ctx.clip();\n this.endPath();\n }\n }\n this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height);\n this.transform(...transform);\n this.transform(...matrix);\n }\n endAnnotation() {\n if (this.annotationCanvas) {\n this.ctx.restore();\n this.#drawFilter();\n this.ctx = this.annotationCanvas.savedCtx;\n delete this.annotationCanvas.savedCtx;\n delete this.annotationCanvas;\n }\n }\n paintImageMaskXObject(img) {\n if (!this.contentVisible) {\n return;\n }\n const count = img.count;\n img = this.getObject(img.data, img);\n img.count = count;\n const ctx = this.ctx;\n const glyph = this.processingType3;\n if (glyph) {\n if (glyph.compiled === undefined) {\n glyph.compiled = compileType3Glyph(img);\n }\n if (glyph.compiled) {\n glyph.compiled(ctx);\n return;\n }\n }\n const mask = this._createMaskCanvas(img);\n const maskCanvas = mask.canvas;\n ctx.save();\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(maskCanvas, mask.offsetX, mask.offsetY);\n ctx.restore();\n this.compose();\n }\n paintImageMaskXObjectRepeat(img, scaleX, skewX = 0, skewY = 0, scaleY, positions) {\n if (!this.contentVisible) {\n return;\n }\n img = this.getObject(img.data, img);\n const ctx = this.ctx;\n ctx.save();\n const currentTransform = (0, _display_utils.getCurrentTransform)(ctx);\n ctx.transform(scaleX, skewX, skewY, scaleY, 0, 0);\n const mask = this._createMaskCanvas(img);\n ctx.setTransform(1, 0, 0, 1, mask.offsetX - currentTransform[4], mask.offsetY - currentTransform[5]);\n for (let i = 0, ii = positions.length; i < ii; i += 2) {\n const trans = _util.Util.transform(currentTransform, [scaleX, skewX, skewY, scaleY, positions[i], positions[i + 1]]);\n const [x, y] = _util.Util.applyTransform([0, 0], trans);\n ctx.drawImage(mask.canvas, x, y);\n }\n ctx.restore();\n this.compose();\n }\n paintImageMaskXObjectGroup(images) {\n if (!this.contentVisible) {\n return;\n }\n const ctx = this.ctx;\n const fillColor = this.current.fillColor;\n const isPatternFill = this.current.patternFill;\n for (const image of images) {\n const {\n data,\n width,\n height,\n transform\n } = image;\n const maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n const maskCtx = maskCanvas.context;\n maskCtx.save();\n const img = this.getObject(data, image);\n putBinaryImageMask(maskCtx, img);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.FILL) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n ctx.save();\n ctx.transform(...transform);\n ctx.scale(1, -1);\n drawImageAtIntegerCoords(ctx, maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n this.compose();\n }\n paintImageXObject(objId) {\n if (!this.contentVisible) {\n return;\n }\n const imgData = this.getObject(objId);\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n this.paintInlineImageXObject(imgData);\n }\n paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n if (!this.contentVisible) {\n return;\n }\n const imgData = this.getObject(objId);\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n const width = imgData.width;\n const height = imgData.height;\n const map = [];\n for (let i = 0, ii = positions.length; i < ii; i += 2) {\n map.push({\n transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n x: 0,\n y: 0,\n w: width,\n h: height\n });\n }\n this.paintInlineImageXObjectGroup(imgData, map);\n }\n applyTransferMapsToCanvas(ctx) {\n if (this.current.transferMaps !== \"none\") {\n ctx.filter = this.current.transferMaps;\n ctx.drawImage(ctx.canvas, 0, 0);\n ctx.filter = \"none\";\n }\n return ctx.canvas;\n }\n applyTransferMapsToBitmap(imgData) {\n if (this.current.transferMaps === \"none\") {\n return imgData.bitmap;\n }\n const {\n bitmap,\n width,\n height\n } = imgData;\n const tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", width, height);\n const tmpCtx = tmpCanvas.context;\n tmpCtx.filter = this.current.transferMaps;\n tmpCtx.drawImage(bitmap, 0, 0);\n tmpCtx.filter = \"none\";\n return tmpCanvas.canvas;\n }\n paintInlineImageXObject(imgData) {\n if (!this.contentVisible) {\n return;\n }\n const width = imgData.width;\n const height = imgData.height;\n const ctx = this.ctx;\n this.save();\n if (!_util.isNodeJS) {\n const {\n filter\n } = ctx;\n if (filter !== \"none\" && filter !== \"\") {\n ctx.filter = \"none\";\n }\n }\n ctx.scale(1 / width, -1 / height);\n let imgToPaint;\n if (imgData.bitmap) {\n imgToPaint = this.applyTransferMapsToBitmap(imgData);\n } else if (typeof HTMLElement === \"function\" && imgData instanceof HTMLElement || !imgData.data) {\n imgToPaint = imgData;\n } else {\n const tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", width, height);\n const tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n imgToPaint = this.applyTransferMapsToCanvas(tmpCtx);\n }\n const scaled = this._scaleImage(imgToPaint, (0, _display_utils.getCurrentTransformInverse)(ctx));\n ctx.imageSmoothingEnabled = getImageSmoothingEnabled((0, _display_utils.getCurrentTransform)(ctx), imgData.interpolate);\n drawImageAtIntegerCoords(ctx, scaled.img, 0, 0, scaled.paintWidth, scaled.paintHeight, 0, -height, width, height);\n this.compose();\n this.restore();\n }\n paintInlineImageXObjectGroup(imgData, map) {\n if (!this.contentVisible) {\n return;\n }\n const ctx = this.ctx;\n let imgToPaint;\n if (imgData.bitmap) {\n imgToPaint = imgData.bitmap;\n } else {\n const w = imgData.width;\n const h = imgData.height;\n const tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", w, h);\n const tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n imgToPaint = this.applyTransferMapsToCanvas(tmpCtx);\n }\n for (const entry of map) {\n ctx.save();\n ctx.transform(...entry.transform);\n ctx.scale(1, -1);\n drawImageAtIntegerCoords(ctx, imgToPaint, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);\n ctx.restore();\n }\n this.compose();\n }\n paintSolidColorImageMask() {\n if (!this.contentVisible) {\n return;\n }\n this.ctx.fillRect(0, 0, 1, 1);\n this.compose();\n }\n markPoint(tag) {}\n markPointProps(tag, properties) {}\n beginMarkedContent(tag) {\n this.markedContentStack.push({\n visible: true\n });\n }\n beginMarkedContentProps(tag, properties) {\n if (tag === \"OC\") {\n this.markedContentStack.push({\n visible: this.optionalContentConfig.isVisible(properties)\n });\n } else {\n this.markedContentStack.push({\n visible: true\n });\n }\n this.contentVisible = this.isContentVisible();\n }\n endMarkedContent() {\n this.markedContentStack.pop();\n this.contentVisible = this.isContentVisible();\n }\n beginCompat() {}\n endCompat() {}\n consumePath(clipBox) {\n const isEmpty = this.current.isEmptyClip();\n if (this.pendingClip) {\n this.current.updateClipFromPath();\n }\n if (!this.pendingClip) {\n this.compose(clipBox);\n }\n const ctx = this.ctx;\n if (this.pendingClip) {\n if (!isEmpty) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip(\"evenodd\");\n } else {\n ctx.clip();\n }\n }\n this.pendingClip = null;\n }\n this.current.startNewPathAndClipBox(this.current.clipBox);\n ctx.beginPath();\n }\n getSinglePixelWidth() {\n if (!this._cachedGetSinglePixelWidth) {\n const m = (0, _display_utils.getCurrentTransform)(this.ctx);\n if (m[1] === 0 && m[2] === 0) {\n this._cachedGetSinglePixelWidth = 1 / Math.min(Math.abs(m[0]), Math.abs(m[3]));\n } else {\n const absDet = Math.abs(m[0] * m[3] - m[2] * m[1]);\n const normX = Math.hypot(m[0], m[2]);\n const normY = Math.hypot(m[1], m[3]);\n this._cachedGetSinglePixelWidth = Math.max(normX, normY) / absDet;\n }\n }\n return this._cachedGetSinglePixelWidth;\n }\n getScaleForStroking() {\n if (this._cachedScaleForStroking[0] === -1) {\n const {\n lineWidth\n } = this.current;\n const {\n a,\n b,\n c,\n d\n } = this.ctx.getTransform();\n let scaleX, scaleY;\n if (b === 0 && c === 0) {\n const normX = Math.abs(a);\n const normY = Math.abs(d);\n if (normX === normY) {\n if (lineWidth === 0) {\n scaleX = scaleY = 1 / normX;\n } else {\n const scaledLineWidth = normX * lineWidth;\n scaleX = scaleY = scaledLineWidth < 1 ? 1 / scaledLineWidth : 1;\n }\n } else if (lineWidth === 0) {\n scaleX = 1 / normX;\n scaleY = 1 / normY;\n } else {\n const scaledXLineWidth = normX * lineWidth;\n const scaledYLineWidth = normY * lineWidth;\n scaleX = scaledXLineWidth < 1 ? 1 / scaledXLineWidth : 1;\n scaleY = scaledYLineWidth < 1 ? 1 / scaledYLineWidth : 1;\n }\n } else {\n const absDet = Math.abs(a * d - b * c);\n const normX = Math.hypot(a, b);\n const normY = Math.hypot(c, d);\n if (lineWidth === 0) {\n scaleX = normY / absDet;\n scaleY = normX / absDet;\n } else {\n const baseArea = lineWidth * absDet;\n scaleX = normY > baseArea ? normY / baseArea : 1;\n scaleY = normX > baseArea ? normX / baseArea : 1;\n }\n }\n this._cachedScaleForStroking[0] = scaleX;\n this._cachedScaleForStroking[1] = scaleY;\n }\n return this._cachedScaleForStroking;\n }\n rescaleAndStroke(saveRestore) {\n const {\n ctx\n } = this;\n const {\n lineWidth\n } = this.current;\n const [scaleX, scaleY] = this.getScaleForStroking();\n ctx.lineWidth = lineWidth || 1;\n if (scaleX === 1 && scaleY === 1) {\n ctx.stroke();\n return;\n }\n const dashes = ctx.getLineDash();\n if (saveRestore) {\n ctx.save();\n }\n ctx.scale(scaleX, scaleY);\n if (dashes.length > 0) {\n const scale = Math.max(scaleX, scaleY);\n ctx.setLineDash(dashes.map(x => x / scale));\n ctx.lineDashOffset /= scale;\n }\n ctx.stroke();\n if (saveRestore) {\n ctx.restore();\n }\n }\n isContentVisible() {\n for (let i = this.markedContentStack.length - 1; i >= 0; i--) {\n if (!this.markedContentStack[i].visible) {\n return false;\n }\n }\n return true;\n }\n}\nexports.CanvasGraphics = CanvasGraphics;\nfor (const op in _util.OPS) {\n if (CanvasGraphics.prototype[op] !== undefined) {\n CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n }\n}\n\n/***/ }),\n/* 12 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TilingPattern = exports.PathType = void 0;\nexports.getShadingPattern = getShadingPattern;\nvar _util = __w_pdfjs_require__(1);\nvar _display_utils = __w_pdfjs_require__(6);\nconst PathType = {\n FILL: \"Fill\",\n STROKE: \"Stroke\",\n SHADING: \"Shading\"\n};\nexports.PathType = PathType;\nfunction applyBoundingBox(ctx, bbox) {\n if (!bbox) {\n return;\n }\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n const region = new Path2D();\n region.rect(bbox[0], bbox[1], width, height);\n ctx.clip(region);\n}\nclass BaseShadingPattern {\n constructor() {\n if (this.constructor === BaseShadingPattern) {\n (0, _util.unreachable)(\"Cannot initialize BaseShadingPattern.\");\n }\n }\n getPattern() {\n (0, _util.unreachable)(\"Abstract method `getPattern` called.\");\n }\n}\nclass RadialAxialShadingPattern extends BaseShadingPattern {\n constructor(IR) {\n super();\n this._type = IR[1];\n this._bbox = IR[2];\n this._colorStops = IR[3];\n this._p0 = IR[4];\n this._p1 = IR[5];\n this._r0 = IR[6];\n this._r1 = IR[7];\n this.matrix = null;\n }\n _createGradient(ctx) {\n let grad;\n if (this._type === \"axial\") {\n grad = ctx.createLinearGradient(this._p0[0], this._p0[1], this._p1[0], this._p1[1]);\n } else if (this._type === \"radial\") {\n grad = ctx.createRadialGradient(this._p0[0], this._p0[1], this._r0, this._p1[0], this._p1[1], this._r1);\n }\n for (const colorStop of this._colorStops) {\n grad.addColorStop(colorStop[0], colorStop[1]);\n }\n return grad;\n }\n getPattern(ctx, owner, inverse, pathType) {\n let pattern;\n if (pathType === PathType.STROKE || pathType === PathType.FILL) {\n const ownerBBox = owner.current.getClippedPathBoundingBox(pathType, (0, _display_utils.getCurrentTransform)(ctx)) || [0, 0, 0, 0];\n const width = Math.ceil(ownerBBox[2] - ownerBBox[0]) || 1;\n const height = Math.ceil(ownerBBox[3] - ownerBBox[1]) || 1;\n const tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", width, height, true);\n const tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height);\n tmpCtx.beginPath();\n tmpCtx.rect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height);\n tmpCtx.translate(-ownerBBox[0], -ownerBBox[1]);\n inverse = _util.Util.transform(inverse, [1, 0, 0, 1, ownerBBox[0], ownerBBox[1]]);\n tmpCtx.transform(...owner.baseTransform);\n if (this.matrix) {\n tmpCtx.transform(...this.matrix);\n }\n applyBoundingBox(tmpCtx, this._bbox);\n tmpCtx.fillStyle = this._createGradient(tmpCtx);\n tmpCtx.fill();\n pattern = ctx.createPattern(tmpCanvas.canvas, \"no-repeat\");\n const domMatrix = new DOMMatrix(inverse);\n pattern.setTransform(domMatrix);\n } else {\n applyBoundingBox(ctx, this._bbox);\n pattern = this._createGradient(ctx);\n }\n return pattern;\n }\n}\nfunction drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n const coords = context.coords,\n colors = context.colors;\n const bytes = data.data,\n rowSize = data.width * 4;\n let tmp;\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n if (coords[p2 + 1] > coords[p3 + 1]) {\n tmp = p2;\n p2 = p3;\n p3 = tmp;\n tmp = c2;\n c2 = c3;\n c3 = tmp;\n }\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n const x1 = (coords[p1] + context.offsetX) * context.scaleX;\n const y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n const x2 = (coords[p2] + context.offsetX) * context.scaleX;\n const y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n const x3 = (coords[p3] + context.offsetX) * context.scaleX;\n const y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n if (y1 >= y3) {\n return;\n }\n const c1r = colors[c1],\n c1g = colors[c1 + 1],\n c1b = colors[c1 + 2];\n const c2r = colors[c2],\n c2g = colors[c2 + 1],\n c2b = colors[c2 + 2];\n const c3r = colors[c3],\n c3g = colors[c3 + 1],\n c3b = colors[c3 + 2];\n const minY = Math.round(y1),\n maxY = Math.round(y3);\n let xa, car, cag, cab;\n let xb, cbr, cbg, cbb;\n for (let y = minY; y <= maxY; y++) {\n if (y < y2) {\n const k = y < y1 ? 0 : (y1 - y) / (y1 - y2);\n xa = x1 - (x1 - x2) * k;\n car = c1r - (c1r - c2r) * k;\n cag = c1g - (c1g - c2g) * k;\n cab = c1b - (c1b - c2b) * k;\n } else {\n let k;\n if (y > y3) {\n k = 1;\n } else if (y2 === y3) {\n k = 0;\n } else {\n k = (y2 - y) / (y2 - y3);\n }\n xa = x2 - (x2 - x3) * k;\n car = c2r - (c2r - c3r) * k;\n cag = c2g - (c2g - c3g) * k;\n cab = c2b - (c2b - c3b) * k;\n }\n let k;\n if (y < y1) {\n k = 0;\n } else if (y > y3) {\n k = 1;\n } else {\n k = (y1 - y) / (y1 - y3);\n }\n xb = x1 - (x1 - x3) * k;\n cbr = c1r - (c1r - c3r) * k;\n cbg = c1g - (c1g - c3g) * k;\n cbb = c1b - (c1b - c3b) * k;\n const x1_ = Math.round(Math.min(xa, xb));\n const x2_ = Math.round(Math.max(xa, xb));\n let j = rowSize * y + x1_ * 4;\n for (let x = x1_; x <= x2_; x++) {\n k = (xa - x) / (xa - xb);\n if (k < 0) {\n k = 0;\n } else if (k > 1) {\n k = 1;\n }\n bytes[j++] = car - (car - cbr) * k | 0;\n bytes[j++] = cag - (cag - cbg) * k | 0;\n bytes[j++] = cab - (cab - cbb) * k | 0;\n bytes[j++] = 255;\n }\n }\n}\nfunction drawFigure(data, figure, context) {\n const ps = figure.coords;\n const cs = figure.colors;\n let i, ii;\n switch (figure.type) {\n case \"lattice\":\n const verticesPerRow = figure.verticesPerRow;\n const rows = Math.floor(ps.length / verticesPerRow) - 1;\n const cols = verticesPerRow - 1;\n for (i = 0; i < rows; i++) {\n let q = i * verticesPerRow;\n for (let j = 0; j < cols; j++, q++) {\n drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);\n drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);\n }\n }\n break;\n case \"triangles\":\n for (i = 0, ii = ps.length; i < ii; i += 3) {\n drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);\n }\n break;\n default:\n throw new Error(\"illegal figure\");\n }\n}\nclass MeshShadingPattern extends BaseShadingPattern {\n constructor(IR) {\n super();\n this._coords = IR[2];\n this._colors = IR[3];\n this._figures = IR[4];\n this._bounds = IR[5];\n this._bbox = IR[7];\n this._background = IR[8];\n this.matrix = null;\n }\n _createMeshCanvas(combinedScale, backgroundColor, cachedCanvases) {\n const EXPECTED_SCALE = 1.1;\n const MAX_PATTERN_SIZE = 3000;\n const BORDER_SIZE = 2;\n const offsetX = Math.floor(this._bounds[0]);\n const offsetY = Math.floor(this._bounds[1]);\n const boundsWidth = Math.ceil(this._bounds[2]) - offsetX;\n const boundsHeight = Math.ceil(this._bounds[3]) - offsetY;\n const width = Math.min(Math.ceil(Math.abs(boundsWidth * combinedScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n const height = Math.min(Math.ceil(Math.abs(boundsHeight * combinedScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n const scaleX = boundsWidth / width;\n const scaleY = boundsHeight / height;\n const context = {\n coords: this._coords,\n colors: this._colors,\n offsetX: -offsetX,\n offsetY: -offsetY,\n scaleX: 1 / scaleX,\n scaleY: 1 / scaleY\n };\n const paddedWidth = width + BORDER_SIZE * 2;\n const paddedHeight = height + BORDER_SIZE * 2;\n const tmpCanvas = cachedCanvases.getCanvas(\"mesh\", paddedWidth, paddedHeight, false);\n const tmpCtx = tmpCanvas.context;\n const data = tmpCtx.createImageData(width, height);\n if (backgroundColor) {\n const bytes = data.data;\n for (let i = 0, ii = bytes.length; i < ii; i += 4) {\n bytes[i] = backgroundColor[0];\n bytes[i + 1] = backgroundColor[1];\n bytes[i + 2] = backgroundColor[2];\n bytes[i + 3] = 255;\n }\n }\n for (const figure of this._figures) {\n drawFigure(data, figure, context);\n }\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n const canvas = tmpCanvas.canvas;\n return {\n canvas,\n offsetX: offsetX - BORDER_SIZE * scaleX,\n offsetY: offsetY - BORDER_SIZE * scaleY,\n scaleX,\n scaleY\n };\n }\n getPattern(ctx, owner, inverse, pathType) {\n applyBoundingBox(ctx, this._bbox);\n let scale;\n if (pathType === PathType.SHADING) {\n scale = _util.Util.singularValueDecompose2dScale((0, _display_utils.getCurrentTransform)(ctx));\n } else {\n scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n if (this.matrix) {\n const matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n const temporaryPatternCanvas = this._createMeshCanvas(scale, pathType === PathType.SHADING ? null : this._background, owner.cachedCanvases);\n if (pathType !== PathType.SHADING) {\n ctx.setTransform(...owner.baseTransform);\n if (this.matrix) {\n ctx.transform(...this.matrix);\n }\n }\n ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n return ctx.createPattern(temporaryPatternCanvas.canvas, \"no-repeat\");\n }\n}\nclass DummyShadingPattern extends BaseShadingPattern {\n getPattern() {\n return \"hotpink\";\n }\n}\nfunction getShadingPattern(IR) {\n switch (IR[0]) {\n case \"RadialAxial\":\n return new RadialAxialShadingPattern(IR);\n case \"Mesh\":\n return new MeshShadingPattern(IR);\n case \"Dummy\":\n return new DummyShadingPattern();\n }\n throw new Error(`Unknown IR type: ${IR[0]}`);\n}\nconst PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n};\nclass TilingPattern {\n static MAX_PATTERN_SIZE = 3000;\n constructor(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n this.operatorList = IR[2];\n this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n this.bbox = IR[4];\n this.xstep = IR[5];\n this.ystep = IR[6];\n this.paintType = IR[7];\n this.tilingType = IR[8];\n this.color = color;\n this.ctx = ctx;\n this.canvasGraphicsFactory = canvasGraphicsFactory;\n this.baseTransform = baseTransform;\n }\n createPatternCanvas(owner) {\n const operatorList = this.operatorList;\n const bbox = this.bbox;\n const xstep = this.xstep;\n const ystep = this.ystep;\n const paintType = this.paintType;\n const tilingType = this.tilingType;\n const color = this.color;\n const canvasGraphicsFactory = this.canvasGraphicsFactory;\n (0, _util.info)(\"TilingType: \" + tilingType);\n const x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n const matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n const curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n const combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n const dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);\n const dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);\n const tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", dimx.size, dimy.size, true);\n const tmpCtx = tmpCanvas.context;\n const graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n let adjustedX0 = x0;\n let adjustedY0 = y0;\n let adjustedX1 = x1;\n let adjustedY1 = y1;\n if (x0 < 0) {\n adjustedX0 = 0;\n adjustedX1 += Math.abs(x0);\n }\n if (y0 < 0) {\n adjustedY0 = 0;\n adjustedY1 += Math.abs(y0);\n }\n tmpCtx.translate(-(dimx.scale * adjustedX0), -(dimy.scale * adjustedY0));\n graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);\n tmpCtx.save();\n this.clipBbox(graphics, adjustedX0, adjustedY0, adjustedX1, adjustedY1);\n graphics.baseTransform = (0, _display_utils.getCurrentTransform)(graphics.ctx);\n graphics.executeOperatorList(operatorList);\n graphics.endDrawing();\n return {\n canvas: tmpCanvas.canvas,\n scaleX: dimx.scale,\n scaleY: dimy.scale,\n offsetX: adjustedX0,\n offsetY: adjustedY0\n };\n }\n getSizeAndScale(step, realOutputSize, scale) {\n step = Math.abs(step);\n const maxSize = Math.max(TilingPattern.MAX_PATTERN_SIZE, realOutputSize);\n let size = Math.ceil(step * scale);\n if (size >= maxSize) {\n size = maxSize;\n } else {\n scale = size / step;\n }\n return {\n scale,\n size\n };\n }\n clipBbox(graphics, x0, y0, x1, y1) {\n const bboxWidth = x1 - x0;\n const bboxHeight = y1 - y0;\n graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n graphics.current.updateRectMinMax((0, _display_utils.getCurrentTransform)(graphics.ctx), [x0, y0, x1, y1]);\n graphics.clip();\n graphics.endPath();\n }\n setFillAndStrokeStyleToContext(graphics, paintType, color) {\n const context = graphics.ctx,\n current = graphics.current;\n switch (paintType) {\n case PaintType.COLORED:\n const ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n current.fillColor = ctx.fillStyle;\n current.strokeColor = ctx.strokeStyle;\n break;\n case PaintType.UNCOLORED:\n const cssColor = _util.Util.makeHexColor(color[0], color[1], color[2]);\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n default:\n throw new _util.FormatError(`Unsupported paint type: ${paintType}`);\n }\n }\n getPattern(ctx, owner, inverse, pathType) {\n let matrix = inverse;\n if (pathType !== PathType.SHADING) {\n matrix = _util.Util.transform(matrix, owner.baseTransform);\n if (this.matrix) {\n matrix = _util.Util.transform(matrix, this.matrix);\n }\n }\n const temporaryPatternCanvas = this.createPatternCanvas(owner);\n let domMatrix = new DOMMatrix(matrix);\n domMatrix = domMatrix.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n domMatrix = domMatrix.scale(1 / temporaryPatternCanvas.scaleX, 1 / temporaryPatternCanvas.scaleY);\n const pattern = ctx.createPattern(temporaryPatternCanvas.canvas, \"repeat\");\n pattern.setTransform(domMatrix);\n return pattern;\n }\n}\nexports.TilingPattern = TilingPattern;\n\n/***/ }),\n/* 13 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.convertBlackAndWhiteToRGBA = convertBlackAndWhiteToRGBA;\nexports.convertToRGBA = convertToRGBA;\nexports.grayToRGBA = grayToRGBA;\nvar _util = __w_pdfjs_require__(1);\nfunction convertToRGBA(params) {\n switch (params.kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n return convertBlackAndWhiteToRGBA(params);\n case _util.ImageKind.RGB_24BPP:\n return convertRGBToRGBA(params);\n }\n return null;\n}\nfunction convertBlackAndWhiteToRGBA({\n src,\n srcPos = 0,\n dest,\n width,\n height,\n nonBlackColor = 0xffffffff,\n inverseDecode = false\n}) {\n const black = _util.FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff;\n const [zeroMapping, oneMapping] = inverseDecode ? [nonBlackColor, black] : [black, nonBlackColor];\n const widthInSource = width >> 3;\n const widthRemainder = width & 7;\n const srcLength = src.length;\n dest = new Uint32Array(dest.buffer);\n let destPos = 0;\n for (let i = 0; i < height; i++) {\n for (const max = srcPos + widthInSource; srcPos < max; srcPos++) {\n const elem = srcPos < srcLength ? src[srcPos] : 255;\n dest[destPos++] = elem & 0b10000000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1000000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b100000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b10000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b100 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b10 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1 ? oneMapping : zeroMapping;\n }\n if (widthRemainder === 0) {\n continue;\n }\n const elem = srcPos < srcLength ? src[srcPos++] : 255;\n for (let j = 0; j < widthRemainder; j++) {\n dest[destPos++] = elem & 1 << 7 - j ? oneMapping : zeroMapping;\n }\n }\n return {\n srcPos,\n destPos\n };\n}\nfunction convertRGBToRGBA({\n src,\n srcPos = 0,\n dest,\n destPos = 0,\n width,\n height\n}) {\n let i = 0;\n const len32 = src.length >> 2;\n const src32 = new Uint32Array(src.buffer, srcPos, len32);\n if (_util.FeatureTest.isLittleEndian) {\n for (; i < len32 - 2; i += 3, destPos += 4) {\n const s1 = src32[i];\n const s2 = src32[i + 1];\n const s3 = src32[i + 2];\n dest[destPos] = s1 | 0xff000000;\n dest[destPos + 1] = s1 >>> 24 | s2 << 8 | 0xff000000;\n dest[destPos + 2] = s2 >>> 16 | s3 << 16 | 0xff000000;\n dest[destPos + 3] = s3 >>> 8 | 0xff000000;\n }\n for (let j = i * 4, jj = src.length; j < jj; j += 3) {\n dest[destPos++] = src[j] | src[j + 1] << 8 | src[j + 2] << 16 | 0xff000000;\n }\n } else {\n for (; i < len32 - 2; i += 3, destPos += 4) {\n const s1 = src32[i];\n const s2 = src32[i + 1];\n const s3 = src32[i + 2];\n dest[destPos] = s1 | 0xff;\n dest[destPos + 1] = s1 << 24 | s2 >>> 8 | 0xff;\n dest[destPos + 2] = s2 << 16 | s3 >>> 16 | 0xff;\n dest[destPos + 3] = s3 << 8 | 0xff;\n }\n for (let j = i * 4, jj = src.length; j < jj; j += 3) {\n dest[destPos++] = src[j] << 24 | src[j + 1] << 16 | src[j + 2] << 8 | 0xff;\n }\n }\n return {\n srcPos,\n destPos\n };\n}\nfunction grayToRGBA(src, dest) {\n if (_util.FeatureTest.isLittleEndian) {\n for (let i = 0, ii = src.length; i < ii; i++) {\n dest[i] = src[i] * 0x10101 | 0xff000000;\n }\n } else {\n for (let i = 0, ii = src.length; i < ii; i++) {\n dest[i] = src[i] * 0x1010100 | 0x000000ff;\n }\n }\n}\n\n/***/ }),\n/* 14 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.GlobalWorkerOptions = void 0;\nconst GlobalWorkerOptions = Object.create(null);\nexports.GlobalWorkerOptions = GlobalWorkerOptions;\nGlobalWorkerOptions.workerPort = null;\nGlobalWorkerOptions.workerSrc = \"\";\n\n/***/ }),\n/* 15 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.MessageHandler = void 0;\nvar _util = __w_pdfjs_require__(1);\nconst CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2\n};\nconst StreamKind = {\n UNKNOWN: 0,\n CANCEL: 1,\n CANCEL_COMPLETE: 2,\n CLOSE: 3,\n ENQUEUE: 4,\n ERROR: 5,\n PULL: 6,\n PULL_COMPLETE: 7,\n START_COMPLETE: 8\n};\nfunction wrapReason(reason) {\n if (!(reason instanceof Error || typeof reason === \"object\" && reason !== null)) {\n (0, _util.unreachable)('wrapReason: Expected \"reason\" to be a (possibly cloned) Error.');\n }\n switch (reason.name) {\n case \"AbortException\":\n return new _util.AbortException(reason.message);\n case \"MissingPDFException\":\n return new _util.MissingPDFException(reason.message);\n case \"PasswordException\":\n return new _util.PasswordException(reason.message, reason.code);\n case \"UnexpectedResponseException\":\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n case \"UnknownErrorException\":\n return new _util.UnknownErrorException(reason.message, reason.details);\n default:\n return new _util.UnknownErrorException(reason.message, reason.toString());\n }\n}\nclass MessageHandler {\n constructor(sourceName, targetName, comObj) {\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n this.callbackCapabilities = Object.create(null);\n this.actionHandler = Object.create(null);\n this._onComObjOnMessage = event => {\n const data = event.data;\n if (data.targetName !== this.sourceName) {\n return;\n }\n if (data.stream) {\n this.#processStreamMessage(data);\n return;\n }\n if (data.callback) {\n const callbackId = data.callbackId;\n const capability = this.callbackCapabilities[callbackId];\n if (!capability) {\n throw new Error(`Cannot resolve callback ${callbackId}`);\n }\n delete this.callbackCapabilities[callbackId];\n if (data.callback === CallbackKind.DATA) {\n capability.resolve(data.data);\n } else if (data.callback === CallbackKind.ERROR) {\n capability.reject(wrapReason(data.reason));\n } else {\n throw new Error(\"Unexpected callback case\");\n }\n return;\n }\n const action = this.actionHandler[data.action];\n if (!action) {\n throw new Error(`Unknown action from worker: ${data.action}`);\n }\n if (data.callbackId) {\n const cbSourceName = this.sourceName;\n const cbTargetName = data.sourceName;\n new Promise(function (resolve) {\n resolve(action(data.data));\n }).then(function (result) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.DATA,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.ERROR,\n callbackId: data.callbackId,\n reason: wrapReason(reason)\n });\n });\n return;\n }\n if (data.streamId) {\n this.#createStreamSink(data);\n return;\n }\n action(data.data);\n };\n comObj.addEventListener(\"message\", this._onComObjOnMessage);\n }\n on(actionName, handler) {\n const ah = this.actionHandler;\n if (ah[actionName]) {\n throw new Error(`There is already an actionName called \"${actionName}\"`);\n }\n ah[actionName] = handler;\n }\n send(actionName, data, transfers) {\n this.comObj.postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data\n }, transfers);\n }\n sendWithPromise(actionName, data, transfers) {\n const callbackId = this.callbackId++;\n const capability = new _util.PromiseCapability();\n this.callbackCapabilities[callbackId] = capability;\n try {\n this.comObj.postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n callbackId,\n data\n }, transfers);\n } catch (ex) {\n capability.reject(ex);\n }\n return capability.promise;\n }\n sendWithStream(actionName, data, queueingStrategy, transfers) {\n const streamId = this.streamId++,\n sourceName = this.sourceName,\n targetName = this.targetName,\n comObj = this.comObj;\n return new ReadableStream({\n start: controller => {\n const startCapability = new _util.PromiseCapability();\n this.streamControllers[streamId] = {\n controller,\n startCall: startCapability,\n pullCall: null,\n cancelCall: null,\n isClosed: false\n };\n comObj.postMessage({\n sourceName,\n targetName,\n action: actionName,\n streamId,\n data,\n desiredSize: controller.desiredSize\n }, transfers);\n return startCapability.promise;\n },\n pull: controller => {\n const pullCapability = new _util.PromiseCapability();\n this.streamControllers[streamId].pullCall = pullCapability;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL,\n streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: reason => {\n (0, _util.assert)(reason instanceof Error, \"cancel must have a valid reason\");\n const cancelCapability = new _util.PromiseCapability();\n this.streamControllers[streamId].cancelCall = cancelCapability;\n this.streamControllers[streamId].isClosed = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL,\n streamId,\n reason: wrapReason(reason)\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n }\n #createStreamSink(data) {\n const streamId = data.streamId,\n sourceName = this.sourceName,\n targetName = data.sourceName,\n comObj = this.comObj;\n const self = this,\n action = this.actionHandler[data.action];\n const streamSink = {\n enqueue(chunk, size = 1, transfers) {\n if (this.isCancelled) {\n return;\n }\n const lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = new _util.PromiseCapability();\n this.ready = this.sinkCapability.promise;\n }\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ENQUEUE,\n streamId,\n chunk\n }, transfers);\n },\n close() {\n if (this.isCancelled) {\n return;\n }\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CLOSE,\n streamId\n });\n delete self.streamSinks[streamId];\n },\n error(reason) {\n (0, _util.assert)(reason instanceof Error, \"error must have a valid reason\");\n if (this.isCancelled) {\n return;\n }\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ERROR,\n streamId,\n reason: wrapReason(reason)\n });\n },\n sinkCapability: new _util.PromiseCapability(),\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: data.desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n new Promise(function (resolve) {\n resolve(action(data.data, streamSink));\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n }\n #processStreamMessage(data) {\n const streamId = data.streamId,\n sourceName = this.sourceName,\n targetName = data.sourceName,\n comObj = this.comObj;\n const streamController = this.streamControllers[streamId],\n streamSink = this.streamSinks[streamId];\n switch (data.stream) {\n case StreamKind.START_COMPLETE:\n if (data.success) {\n streamController.startCall.resolve();\n } else {\n streamController.startCall.reject(wrapReason(data.reason));\n }\n break;\n case StreamKind.PULL_COMPLETE:\n if (data.success) {\n streamController.pullCall.resolve();\n } else {\n streamController.pullCall.reject(wrapReason(data.reason));\n }\n break;\n case StreamKind.PULL:\n if (!streamSink) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true\n });\n break;\n }\n if (streamSink.desiredSize <= 0 && data.desiredSize > 0) {\n streamSink.sinkCapability.resolve();\n }\n streamSink.desiredSize = data.desiredSize;\n new Promise(function (resolve) {\n resolve(streamSink.onPull?.());\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n break;\n case StreamKind.ENQUEUE:\n (0, _util.assert)(streamController, \"enqueue should have stream controller\");\n if (streamController.isClosed) {\n break;\n }\n streamController.controller.enqueue(data.chunk);\n break;\n case StreamKind.CLOSE:\n (0, _util.assert)(streamController, \"close should have stream controller\");\n if (streamController.isClosed) {\n break;\n }\n streamController.isClosed = true;\n streamController.controller.close();\n this.#deleteStreamController(streamController, streamId);\n break;\n case StreamKind.ERROR:\n (0, _util.assert)(streamController, \"error should have stream controller\");\n streamController.controller.error(wrapReason(data.reason));\n this.#deleteStreamController(streamController, streamId);\n break;\n case StreamKind.CANCEL_COMPLETE:\n if (data.success) {\n streamController.cancelCall.resolve();\n } else {\n streamController.cancelCall.reject(wrapReason(data.reason));\n }\n this.#deleteStreamController(streamController, streamId);\n break;\n case StreamKind.CANCEL:\n if (!streamSink) {\n break;\n }\n new Promise(function (resolve) {\n resolve(streamSink.onCancel?.(wrapReason(data.reason)));\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n streamSink.sinkCapability.reject(wrapReason(data.reason));\n streamSink.isCancelled = true;\n delete this.streamSinks[streamId];\n break;\n default:\n throw new Error(\"Unexpected stream case\");\n }\n }\n async #deleteStreamController(streamController, streamId) {\n await Promise.allSettled([streamController.startCall?.promise, streamController.pullCall?.promise, streamController.cancelCall?.promise]);\n delete this.streamControllers[streamId];\n }\n destroy() {\n this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n }\n}\nexports.MessageHandler = MessageHandler;\n\n/***/ }),\n/* 16 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.Metadata = void 0;\nvar _util = __w_pdfjs_require__(1);\nclass Metadata {\n #metadataMap;\n #data;\n constructor({\n parsedData,\n rawData\n }) {\n this.#metadataMap = parsedData;\n this.#data = rawData;\n }\n getRaw() {\n return this.#data;\n }\n get(name) {\n return this.#metadataMap.get(name) ?? null;\n }\n getAll() {\n return (0, _util.objectFromMap)(this.#metadataMap);\n }\n has(name) {\n return this.#metadataMap.has(name);\n }\n}\nexports.Metadata = Metadata;\n\n/***/ }),\n/* 17 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.OptionalContentConfig = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _murmurhash = __w_pdfjs_require__(8);\nconst INTERNAL = Symbol(\"INTERNAL\");\nclass OptionalContentGroup {\n #visible = true;\n constructor(name, intent) {\n this.name = name;\n this.intent = intent;\n }\n get visible() {\n return this.#visible;\n }\n _setVisible(internal, visible) {\n if (internal !== INTERNAL) {\n (0, _util.unreachable)(\"Internal method `_setVisible` called.\");\n }\n this.#visible = visible;\n }\n}\nclass OptionalContentConfig {\n #cachedGetHash = null;\n #groups = new Map();\n #initialHash = null;\n #order = null;\n constructor(data) {\n this.name = null;\n this.creator = null;\n if (data === null) {\n return;\n }\n this.name = data.name;\n this.creator = data.creator;\n this.#order = data.order;\n for (const group of data.groups) {\n this.#groups.set(group.id, new OptionalContentGroup(group.name, group.intent));\n }\n if (data.baseState === \"OFF\") {\n for (const group of this.#groups.values()) {\n group._setVisible(INTERNAL, false);\n }\n }\n for (const on of data.on) {\n this.#groups.get(on)._setVisible(INTERNAL, true);\n }\n for (const off of data.off) {\n this.#groups.get(off)._setVisible(INTERNAL, false);\n }\n this.#initialHash = this.getHash();\n }\n #evaluateVisibilityExpression(array) {\n const length = array.length;\n if (length < 2) {\n return true;\n }\n const operator = array[0];\n for (let i = 1; i < length; i++) {\n const element = array[i];\n let state;\n if (Array.isArray(element)) {\n state = this.#evaluateVisibilityExpression(element);\n } else if (this.#groups.has(element)) {\n state = this.#groups.get(element).visible;\n } else {\n (0, _util.warn)(`Optional content group not found: ${element}`);\n return true;\n }\n switch (operator) {\n case \"And\":\n if (!state) {\n return false;\n }\n break;\n case \"Or\":\n if (state) {\n return true;\n }\n break;\n case \"Not\":\n return !state;\n default:\n return true;\n }\n }\n return operator === \"And\";\n }\n isVisible(group) {\n if (this.#groups.size === 0) {\n return true;\n }\n if (!group) {\n (0, _util.warn)(\"Optional content group not defined.\");\n return true;\n }\n if (group.type === \"OCG\") {\n if (!this.#groups.has(group.id)) {\n (0, _util.warn)(`Optional content group not found: ${group.id}`);\n return true;\n }\n return this.#groups.get(group.id).visible;\n } else if (group.type === \"OCMD\") {\n if (group.expression) {\n return this.#evaluateVisibilityExpression(group.expression);\n }\n if (!group.policy || group.policy === \"AnyOn\") {\n for (const id of group.ids) {\n if (!this.#groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n if (this.#groups.get(id).visible) {\n return true;\n }\n }\n return false;\n } else if (group.policy === \"AllOn\") {\n for (const id of group.ids) {\n if (!this.#groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n if (!this.#groups.get(id).visible) {\n return false;\n }\n }\n return true;\n } else if (group.policy === \"AnyOff\") {\n for (const id of group.ids) {\n if (!this.#groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n if (!this.#groups.get(id).visible) {\n return true;\n }\n }\n return false;\n } else if (group.policy === \"AllOff\") {\n for (const id of group.ids) {\n if (!this.#groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n if (this.#groups.get(id).visible) {\n return false;\n }\n }\n return true;\n }\n (0, _util.warn)(`Unknown optional content policy ${group.policy}.`);\n return true;\n }\n (0, _util.warn)(`Unknown group type ${group.type}.`);\n return true;\n }\n setVisibility(id, visible = true) {\n if (!this.#groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return;\n }\n this.#groups.get(id)._setVisible(INTERNAL, !!visible);\n this.#cachedGetHash = null;\n }\n get hasInitialVisibility() {\n return this.#initialHash === null || this.getHash() === this.#initialHash;\n }\n getOrder() {\n if (!this.#groups.size) {\n return null;\n }\n if (this.#order) {\n return this.#order.slice();\n }\n return [...this.#groups.keys()];\n }\n getGroups() {\n return this.#groups.size > 0 ? (0, _util.objectFromMap)(this.#groups) : null;\n }\n getGroup(id) {\n return this.#groups.get(id) || null;\n }\n getHash() {\n if (this.#cachedGetHash !== null) {\n return this.#cachedGetHash;\n }\n const hash = new _murmurhash.MurmurHash3_64();\n for (const [id, group] of this.#groups) {\n hash.update(`${id}:${group.visible}`);\n }\n return this.#cachedGetHash = hash.hexdigest();\n }\n}\nexports.OptionalContentConfig = OptionalContentConfig;\n\n/***/ }),\n/* 18 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFDataTransportStream = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _display_utils = __w_pdfjs_require__(6);\nclass PDFDataTransportStream {\n constructor({\n length,\n initialData,\n progressiveDone = false,\n contentDispositionFilename = null,\n disableRange = false,\n disableStream = false\n }, pdfDataRangeTransport) {\n (0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required \"pdfDataRangeTransport\" argument.');\n this._queuedChunks = [];\n this._progressiveDone = progressiveDone;\n this._contentDispositionFilename = contentDispositionFilename;\n if (initialData?.length > 0) {\n const buffer = initialData instanceof Uint8Array && initialData.byteLength === initialData.buffer.byteLength ? initialData.buffer : new Uint8Array(initialData).buffer;\n this._queuedChunks.push(buffer);\n }\n this._pdfDataRangeTransport = pdfDataRangeTransport;\n this._isStreamingSupported = !disableStream;\n this._isRangeSupported = !disableRange;\n this._contentLength = length;\n this._fullRequestReader = null;\n this._rangeReaders = [];\n this._pdfDataRangeTransport.addRangeListener((begin, chunk) => {\n this._onReceiveData({\n begin,\n chunk\n });\n });\n this._pdfDataRangeTransport.addProgressListener((loaded, total) => {\n this._onProgress({\n loaded,\n total\n });\n });\n this._pdfDataRangeTransport.addProgressiveReadListener(chunk => {\n this._onReceiveData({\n chunk\n });\n });\n this._pdfDataRangeTransport.addProgressiveDoneListener(() => {\n this._onProgressiveDone();\n });\n this._pdfDataRangeTransport.transportReady();\n }\n _onReceiveData({\n begin,\n chunk\n }) {\n const buffer = chunk instanceof Uint8Array && chunk.byteLength === chunk.buffer.byteLength ? chunk.buffer : new Uint8Array(chunk).buffer;\n if (begin === undefined) {\n if (this._fullRequestReader) {\n this._fullRequestReader._enqueue(buffer);\n } else {\n this._queuedChunks.push(buffer);\n }\n } else {\n const found = this._rangeReaders.some(function (rangeReader) {\n if (rangeReader._begin !== begin) {\n return false;\n }\n rangeReader._enqueue(buffer);\n return true;\n });\n (0, _util.assert)(found, \"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.\");\n }\n }\n get _progressiveDataLength() {\n return this._fullRequestReader?._loaded ?? 0;\n }\n _onProgress(evt) {\n if (evt.total === undefined) {\n this._rangeReaders[0]?.onProgress?.({\n loaded: evt.loaded\n });\n } else {\n this._fullRequestReader?.onProgress?.({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n }\n _onProgressiveDone() {\n this._fullRequestReader?.progressiveDone();\n this._progressiveDone = true;\n }\n _removeRangeReader(reader) {\n const i = this._rangeReaders.indexOf(reader);\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n }\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFDataTransportStream.getFullReader can only be called once.\");\n const queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone, this._contentDispositionFilename);\n }\n getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n const reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n this._rangeReaders.push(reader);\n return reader;\n }\n cancelAllRequests(reason) {\n this._fullRequestReader?.cancel(reason);\n for (const reader of this._rangeReaders.slice(0)) {\n reader.cancel(reason);\n }\n this._pdfDataRangeTransport.abort();\n }\n}\nexports.PDFDataTransportStream = PDFDataTransportStream;\nclass PDFDataTransportStreamReader {\n constructor(stream, queuedChunks, progressiveDone = false, contentDispositionFilename = null) {\n this._stream = stream;\n this._done = progressiveDone || false;\n this._filename = (0, _display_utils.isPdfFile)(contentDispositionFilename) ? contentDispositionFilename : null;\n this._queuedChunks = queuedChunks || [];\n this._loaded = 0;\n for (const chunk of this._queuedChunks) {\n this._loaded += chunk.byteLength;\n }\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n _enqueue(chunk) {\n if (this._done) {\n return;\n }\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunks.push(chunk);\n }\n this._loaded += chunk.byteLength;\n }\n get headersReady() {\n return this._headersReady;\n }\n get filename() {\n return this._filename;\n }\n get isRangeSupported() {\n return this._stream._isRangeSupported;\n }\n get isStreamingSupported() {\n return this._stream._isStreamingSupported;\n }\n get contentLength() {\n return this._stream._contentLength;\n }\n async read() {\n if (this._queuedChunks.length > 0) {\n const chunk = this._queuedChunks.shift();\n return {\n value: chunk,\n done: false\n };\n }\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n const requestCapability = new _util.PromiseCapability();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n cancel(reason) {\n this._done = true;\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n }\n progressiveDone() {\n if (this._done) {\n return;\n }\n this._done = true;\n }\n}\nclass PDFDataTransportStreamRangeReader {\n constructor(stream, begin, end) {\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n this.onProgress = null;\n }\n _enqueue(chunk) {\n if (this._done) {\n return;\n }\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n const requestsCapability = this._requests.shift();\n requestsCapability.resolve({\n value: chunk,\n done: false\n });\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n }\n this._done = true;\n this._stream._removeRangeReader(this);\n }\n get isStreamingSupported() {\n return false;\n }\n async read() {\n if (this._queuedChunk) {\n const chunk = this._queuedChunk;\n this._queuedChunk = null;\n return {\n value: chunk,\n done: false\n };\n }\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n const requestCapability = new _util.PromiseCapability();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n cancel(reason) {\n this._done = true;\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n this._stream._removeRangeReader(this);\n }\n}\n\n/***/ }),\n/* 19 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFFetchStream = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _network_utils = __w_pdfjs_require__(20);\n;\nfunction createFetchOptions(headers, withCredentials, abortController) {\n return {\n method: \"GET\",\n headers,\n signal: abortController.signal,\n mode: \"cors\",\n credentials: withCredentials ? \"include\" : \"same-origin\",\n redirect: \"follow\"\n };\n}\nfunction createHeaders(httpHeaders) {\n const headers = new Headers();\n for (const property in httpHeaders) {\n const value = httpHeaders[property];\n if (value === undefined) {\n continue;\n }\n headers.append(property, value);\n }\n return headers;\n}\nfunction getArrayBuffer(val) {\n if (val instanceof Uint8Array) {\n return val.buffer;\n }\n if (val instanceof ArrayBuffer) {\n return val;\n }\n (0, _util.warn)(`getArrayBuffer - unexpected data format: ${val}`);\n return new Uint8Array(val).buffer;\n}\nclass PDFFetchStream {\n constructor(source) {\n this.source = source;\n this.isHttp = /^https?:/i.test(source.url);\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n get _progressiveDataLength() {\n return this._fullRequestReader?._loaded ?? 0;\n }\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFFetchStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFFetchStreamReader(this);\n return this._fullRequestReader;\n }\n getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n const reader = new PDFFetchStreamRangeReader(this, begin, end);\n this._rangeRequestReaders.push(reader);\n return reader;\n }\n cancelAllRequests(reason) {\n this._fullRequestReader?.cancel(reason);\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n}\nexports.PDFFetchStream = PDFFetchStream;\nclass PDFFetchStreamReader {\n constructor(stream) {\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n this._filename = null;\n const source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._contentLength = source.length;\n this._headersCapability = new _util.PromiseCapability();\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n this._abortController = new AbortController();\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._headers = createHeaders(this._stream.httpHeaders);\n const url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n this._reader = response.body.getReader();\n this._headersCapability.resolve();\n const getResponseHeader = name => {\n return response.headers.get(name);\n };\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: this._stream.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n this._isRangeSupported = allowRangeRequests;\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this.cancel(new _util.AbortException(\"Streaming is disabled.\"));\n }\n }).catch(this._headersCapability.reject);\n this.onProgress = null;\n }\n get headersReady() {\n return this._headersCapability.promise;\n }\n get filename() {\n return this._filename;\n }\n get contentLength() {\n return this._contentLength;\n }\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n async read() {\n await this._headersCapability.promise;\n const {\n value,\n done\n } = await this._reader.read();\n if (done) {\n return {\n value,\n done\n };\n }\n this._loaded += value.byteLength;\n this.onProgress?.({\n loaded: this._loaded,\n total: this._contentLength\n });\n return {\n value: getArrayBuffer(value),\n done: false\n };\n }\n cancel(reason) {\n this._reader?.cancel(reason);\n this._abortController.abort();\n }\n}\nclass PDFFetchStreamRangeReader {\n constructor(stream, begin, end) {\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n const source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._readCapability = new _util.PromiseCapability();\n this._isStreamingSupported = !source.disableStream;\n this._abortController = new AbortController();\n this._headers = createHeaders(this._stream.httpHeaders);\n this._headers.append(\"Range\", `bytes=${begin}-${end - 1}`);\n const url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n this._readCapability.resolve();\n this._reader = response.body.getReader();\n }).catch(this._readCapability.reject);\n this.onProgress = null;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n async read() {\n await this._readCapability.promise;\n const {\n value,\n done\n } = await this._reader.read();\n if (done) {\n return {\n value,\n done\n };\n }\n this._loaded += value.byteLength;\n this.onProgress?.({\n loaded: this._loaded\n });\n return {\n value: getArrayBuffer(value),\n done: false\n };\n }\n cancel(reason) {\n this._reader?.cancel(reason);\n this._abortController.abort();\n }\n}\n\n/***/ }),\n/* 20 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.createResponseStatusError = createResponseStatusError;\nexports.extractFilenameFromHeader = extractFilenameFromHeader;\nexports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;\nexports.validateResponseStatus = validateResponseStatus;\nvar _util = __w_pdfjs_require__(1);\nvar _content_disposition = __w_pdfjs_require__(21);\nvar _display_utils = __w_pdfjs_require__(6);\nfunction validateRangeRequestCapabilities({\n getResponseHeader,\n isHttp,\n rangeChunkSize,\n disableRange\n}) {\n const returnValues = {\n allowRangeRequests: false,\n suggestedLength: undefined\n };\n const length = parseInt(getResponseHeader(\"Content-Length\"), 10);\n if (!Number.isInteger(length)) {\n return returnValues;\n }\n returnValues.suggestedLength = length;\n if (length <= 2 * rangeChunkSize) {\n return returnValues;\n }\n if (disableRange || !isHttp) {\n return returnValues;\n }\n if (getResponseHeader(\"Accept-Ranges\") !== \"bytes\") {\n return returnValues;\n }\n const contentEncoding = getResponseHeader(\"Content-Encoding\") || \"identity\";\n if (contentEncoding !== \"identity\") {\n return returnValues;\n }\n returnValues.allowRangeRequests = true;\n return returnValues;\n}\nfunction extractFilenameFromHeader(getResponseHeader) {\n const contentDisposition = getResponseHeader(\"Content-Disposition\");\n if (contentDisposition) {\n let filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);\n if (filename.includes(\"%\")) {\n try {\n filename = decodeURIComponent(filename);\n } catch {}\n }\n if ((0, _display_utils.isPdfFile)(filename)) {\n return filename;\n }\n }\n return null;\n}\nfunction createResponseStatusError(status, url) {\n if (status === 404 || status === 0 && url.startsWith(\"file:\")) {\n return new _util.MissingPDFException('Missing PDF \"' + url + '\".');\n }\n return new _util.UnexpectedResponseException(`Unexpected server response (${status}) while retrieving PDF \"${url}\".`, status);\n}\nfunction validateResponseStatus(status) {\n return status === 200 || status === 206;\n}\n\n/***/ }),\n/* 21 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;\nvar _util = __w_pdfjs_require__(1);\nfunction getFilenameFromContentDispositionHeader(contentDisposition) {\n let needsEncodingFixup = true;\n let tmp = toParamRegExp(\"filename\\\\*\", \"i\").exec(contentDisposition);\n if (tmp) {\n tmp = tmp[1];\n let filename = rfc2616unquote(tmp);\n filename = unescape(filename);\n filename = rfc5987decode(filename);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n tmp = rfc2231getparam(contentDisposition);\n if (tmp) {\n const filename = rfc2047decode(tmp);\n return fixupEncoding(filename);\n }\n tmp = toParamRegExp(\"filename\", \"i\").exec(contentDisposition);\n if (tmp) {\n tmp = tmp[1];\n let filename = rfc2616unquote(tmp);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n function toParamRegExp(attributePattern, flags) {\n return new RegExp(\"(?:^|;)\\\\s*\" + attributePattern + \"\\\\s*=\\\\s*\" + \"(\" + '[^\";\\\\s][^;\\\\s]*' + \"|\" + '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' + \")\", flags);\n }\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n try {\n const decoder = new TextDecoder(encoding, {\n fatal: true\n });\n const buffer = (0, _util.stringToBytes)(value);\n value = decoder.decode(buffer);\n needsEncodingFixup = false;\n } catch {}\n }\n return value;\n }\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n value = textdecode(\"utf-8\", value);\n if (needsEncodingFixup) {\n value = textdecode(\"iso-8859-1\", value);\n }\n }\n return value;\n }\n function rfc2231getparam(contentDispositionStr) {\n const matches = [];\n let match;\n const iter = toParamRegExp(\"filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)\", \"ig\");\n while ((match = iter.exec(contentDispositionStr)) !== null) {\n let [, n, quot, part] = match;\n n = parseInt(n, 10);\n if (n in matches) {\n if (n === 0) {\n break;\n }\n continue;\n }\n matches[n] = [quot, part];\n }\n const parts = [];\n for (let n = 0; n < matches.length; ++n) {\n if (!(n in matches)) {\n break;\n }\n let [quot, part] = matches[n];\n part = rfc2616unquote(part);\n if (quot) {\n part = unescape(part);\n if (n === 0) {\n part = rfc5987decode(part);\n }\n }\n parts.push(part);\n }\n return parts.join(\"\");\n }\n function rfc2616unquote(value) {\n if (value.startsWith('\"')) {\n const parts = value.slice(1).split('\\\\\"');\n for (let i = 0; i < parts.length; ++i) {\n const quotindex = parts[i].indexOf('\"');\n if (quotindex !== -1) {\n parts[i] = parts[i].slice(0, quotindex);\n parts.length = i + 1;\n }\n parts[i] = parts[i].replaceAll(/\\\\(.)/g, \"$1\");\n }\n value = parts.join('\"');\n }\n return value;\n }\n function rfc5987decode(extvalue) {\n const encodingend = extvalue.indexOf(\"'\");\n if (encodingend === -1) {\n return extvalue;\n }\n const encoding = extvalue.slice(0, encodingend);\n const langvalue = extvalue.slice(encodingend + 1);\n const value = langvalue.replace(/^[^']*'/, \"\");\n return textdecode(encoding, value);\n }\n function rfc2047decode(value) {\n if (!value.startsWith(\"=?\") || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n return value;\n }\n return value.replaceAll(/=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g, function (matches, charset, encoding, text) {\n if (encoding === \"q\" || encoding === \"Q\") {\n text = text.replaceAll(\"_\", \" \");\n text = text.replaceAll(/=([0-9a-fA-F]{2})/g, function (match, hex) {\n return String.fromCharCode(parseInt(hex, 16));\n });\n return textdecode(charset, text);\n }\n try {\n text = atob(text);\n } catch {}\n return textdecode(charset, text);\n });\n }\n return \"\";\n}\n\n/***/ }),\n/* 22 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFNetworkStream = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _network_utils = __w_pdfjs_require__(20);\n;\nconst OK_RESPONSE = 200;\nconst PARTIAL_CONTENT_RESPONSE = 206;\nfunction getArrayBuffer(xhr) {\n const data = xhr.response;\n if (typeof data !== \"string\") {\n return data;\n }\n return (0, _util.stringToBytes)(data).buffer;\n}\nclass NetworkManager {\n constructor(url, args = {}) {\n this.url = url;\n this.isHttp = /^https?:/i.test(url);\n this.httpHeaders = this.isHttp && args.httpHeaders || Object.create(null);\n this.withCredentials = args.withCredentials || false;\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n }\n requestRange(begin, end, listeners) {\n const args = {\n begin,\n end\n };\n for (const prop in listeners) {\n args[prop] = listeners[prop];\n }\n return this.request(args);\n }\n requestFull(listeners) {\n return this.request(listeners);\n }\n request(args) {\n const xhr = new XMLHttpRequest();\n const xhrId = this.currXhrId++;\n const pendingRequest = this.pendingRequests[xhrId] = {\n xhr\n };\n xhr.open(\"GET\", this.url);\n xhr.withCredentials = this.withCredentials;\n for (const property in this.httpHeaders) {\n const value = this.httpHeaders[property];\n if (value === undefined) {\n continue;\n }\n xhr.setRequestHeader(property, value);\n }\n if (this.isHttp && \"begin\" in args && \"end\" in args) {\n xhr.setRequestHeader(\"Range\", `bytes=${args.begin}-${args.end - 1}`);\n pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;\n } else {\n pendingRequest.expectedStatus = OK_RESPONSE;\n }\n xhr.responseType = \"arraybuffer\";\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\n }\n xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n xhr.onprogress = this.onProgress.bind(this, xhrId);\n pendingRequest.onHeadersReceived = args.onHeadersReceived;\n pendingRequest.onDone = args.onDone;\n pendingRequest.onError = args.onError;\n pendingRequest.onProgress = args.onProgress;\n xhr.send(null);\n return xhrId;\n }\n onProgress(xhrId, evt) {\n const pendingRequest = this.pendingRequests[xhrId];\n if (!pendingRequest) {\n return;\n }\n pendingRequest.onProgress?.(evt);\n }\n onStateChange(xhrId, evt) {\n const pendingRequest = this.pendingRequests[xhrId];\n if (!pendingRequest) {\n return;\n }\n const xhr = pendingRequest.xhr;\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n if (xhr.readyState !== 4) {\n return;\n }\n if (!(xhrId in this.pendingRequests)) {\n return;\n }\n delete this.pendingRequests[xhrId];\n if (xhr.status === 0 && this.isHttp) {\n pendingRequest.onError?.(xhr.status);\n return;\n }\n const xhrStatus = xhr.status || OK_RESPONSE;\n const ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n pendingRequest.onError?.(xhr.status);\n return;\n }\n const chunk = getArrayBuffer(xhr);\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n const rangeHeader = xhr.getResponseHeader(\"Content-Range\");\n const matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n pendingRequest.onDone({\n begin: parseInt(matches[1], 10),\n chunk\n });\n } else if (chunk) {\n pendingRequest.onDone({\n begin: 0,\n chunk\n });\n } else {\n pendingRequest.onError?.(xhr.status);\n }\n }\n getRequestXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n }\n isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n }\n abortRequest(xhrId) {\n const xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n}\nclass PDFNetworkStream {\n constructor(source) {\n this._source = source;\n this._manager = new NetworkManager(source.url, {\n httpHeaders: source.httpHeaders,\n withCredentials: source.withCredentials\n });\n this._rangeChunkSize = source.rangeChunkSize;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n _onRangeRequestReaderClosed(reader) {\n const i = this._rangeRequestReaders.indexOf(reader);\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n }\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFNetworkStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);\n return this._fullRequestReader;\n }\n getRangeReader(begin, end) {\n const reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n this._rangeRequestReaders.push(reader);\n return reader;\n }\n cancelAllRequests(reason) {\n this._fullRequestReader?.cancel(reason);\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n}\nexports.PDFNetworkStream = PDFNetworkStream;\nclass PDFNetworkStreamFullRequestReader {\n constructor(manager, source) {\n this._manager = manager;\n const args = {\n onHeadersReceived: this._onHeadersReceived.bind(this),\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = source.url;\n this._fullRequestId = manager.requestFull(args);\n this._headersReceivedCapability = new _util.PromiseCapability();\n this._disableRange = source.disableRange || false;\n this._contentLength = source.length;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n this._isStreamingSupported = false;\n this._isRangeSupported = false;\n this._cachedChunks = [];\n this._requests = [];\n this._done = false;\n this._storedError = undefined;\n this._filename = null;\n this.onProgress = null;\n }\n _onHeadersReceived() {\n const fullRequestXhrId = this._fullRequestId;\n const fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n const getResponseHeader = name => {\n return fullRequestXhr.getResponseHeader(name);\n };\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n if (allowRangeRequests) {\n this._isRangeSupported = true;\n }\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n if (this._isRangeSupported) {\n this._manager.abortRequest(fullRequestXhrId);\n }\n this._headersReceivedCapability.resolve();\n }\n _onDone(data) {\n if (data) {\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: data.chunk,\n done: false\n });\n } else {\n this._cachedChunks.push(data.chunk);\n }\n }\n this._done = true;\n if (this._cachedChunks.length > 0) {\n return;\n }\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n }\n _onError(status) {\n this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url);\n this._headersReceivedCapability.reject(this._storedError);\n for (const requestCapability of this._requests) {\n requestCapability.reject(this._storedError);\n }\n this._requests.length = 0;\n this._cachedChunks.length = 0;\n }\n _onProgress(evt) {\n this.onProgress?.({\n loaded: evt.loaded,\n total: evt.lengthComputable ? evt.total : this._contentLength\n });\n }\n get filename() {\n return this._filename;\n }\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n get contentLength() {\n return this._contentLength;\n }\n get headersReady() {\n return this._headersReceivedCapability.promise;\n }\n async read() {\n if (this._storedError) {\n throw this._storedError;\n }\n if (this._cachedChunks.length > 0) {\n const chunk = this._cachedChunks.shift();\n return {\n value: chunk,\n done: false\n };\n }\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n const requestCapability = new _util.PromiseCapability();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n cancel(reason) {\n this._done = true;\n this._headersReceivedCapability.reject(reason);\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n this._fullRequestReader = null;\n }\n}\nclass PDFNetworkStreamRangeRequestReader {\n constructor(manager, begin, end) {\n this._manager = manager;\n const args = {\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = manager.url;\n this._requestId = manager.requestRange(begin, end, args);\n this._requests = [];\n this._queuedChunk = null;\n this._done = false;\n this._storedError = undefined;\n this.onProgress = null;\n this.onClosed = null;\n }\n _close() {\n this.onClosed?.(this);\n }\n _onDone(data) {\n const chunk = data.chunk;\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunk = chunk;\n }\n this._done = true;\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n this._close();\n }\n _onError(status) {\n this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url);\n for (const requestCapability of this._requests) {\n requestCapability.reject(this._storedError);\n }\n this._requests.length = 0;\n this._queuedChunk = null;\n }\n _onProgress(evt) {\n if (!this.isStreamingSupported) {\n this.onProgress?.({\n loaded: evt.loaded\n });\n }\n }\n get isStreamingSupported() {\n return false;\n }\n async read() {\n if (this._storedError) {\n throw this._storedError;\n }\n if (this._queuedChunk !== null) {\n const chunk = this._queuedChunk;\n this._queuedChunk = null;\n return {\n value: chunk,\n done: false\n };\n }\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n const requestCapability = new _util.PromiseCapability();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n cancel(reason) {\n this._done = true;\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n this._close();\n }\n}\n\n/***/ }),\n/* 23 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFNodeStream = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _network_utils = __w_pdfjs_require__(20);\n;\nconst fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\nfunction parseUrl(sourceUrl) {\n const url = require(\"url\");\n const parsedUrl = url.parse(sourceUrl);\n if (parsedUrl.protocol === \"file:\" || parsedUrl.host) {\n return parsedUrl;\n }\n if (/^[a-z]:[/\\\\]/i.test(sourceUrl)) {\n return url.parse(`file:///${sourceUrl}`);\n }\n if (!parsedUrl.host) {\n parsedUrl.protocol = \"file:\";\n }\n return parsedUrl;\n}\nclass PDFNodeStream {\n constructor(source) {\n this.source = source;\n this.url = parseUrl(source.url);\n this.isHttp = this.url.protocol === \"http:\" || this.url.protocol === \"https:\";\n this.isFsUrl = this.url.protocol === \"file:\";\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n get _progressiveDataLength() {\n return this._fullRequestReader?._loaded ?? 0;\n }\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFNodeStream.getFullReader can only be called once.\");\n this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n return this._fullRequestReader;\n }\n getRangeReader(start, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n const rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n this._rangeRequestReaders.push(rangeReader);\n return rangeReader;\n }\n cancelAllRequests(reason) {\n this._fullRequestReader?.cancel(reason);\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n}\nexports.PDFNodeStream = PDFNodeStream;\nclass BaseFullReader {\n constructor(stream) {\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n const source = stream.source;\n this._contentLength = source.length;\n this._loaded = 0;\n this._filename = null;\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._readableStream = null;\n this._readCapability = new _util.PromiseCapability();\n this._headersCapability = new _util.PromiseCapability();\n }\n get headersReady() {\n return this._headersCapability.promise;\n }\n get filename() {\n return this._filename;\n }\n get contentLength() {\n return this._contentLength;\n }\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n async read() {\n await this._readCapability.promise;\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n if (this._storedError) {\n throw this._storedError;\n }\n const chunk = this._readableStream.read();\n if (chunk === null) {\n this._readCapability = new _util.PromiseCapability();\n return this.read();\n }\n this._loaded += chunk.length;\n this.onProgress?.({\n loaded: this._loaded,\n total: this._contentLength\n });\n const buffer = new Uint8Array(chunk).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n return;\n }\n this._readableStream.destroy(reason);\n }\n _error(reason) {\n this._storedError = reason;\n this._readCapability.resolve();\n }\n _setReadableStream(readableStream) {\n this._readableStream = readableStream;\n readableStream.on(\"readable\", () => {\n this._readCapability.resolve();\n });\n readableStream.on(\"end\", () => {\n readableStream.destroy();\n this._done = true;\n this._readCapability.resolve();\n });\n readableStream.on(\"error\", reason => {\n this._error(reason);\n });\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this._error(new _util.AbortException(\"streaming is disabled\"));\n }\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n}\nclass BaseRangeReader {\n constructor(stream) {\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n this._loaded = 0;\n this._readableStream = null;\n this._readCapability = new _util.PromiseCapability();\n const source = stream.source;\n this._isStreamingSupported = !source.disableStream;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n async read() {\n await this._readCapability.promise;\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n if (this._storedError) {\n throw this._storedError;\n }\n const chunk = this._readableStream.read();\n if (chunk === null) {\n this._readCapability = new _util.PromiseCapability();\n return this.read();\n }\n this._loaded += chunk.length;\n this.onProgress?.({\n loaded: this._loaded\n });\n const buffer = new Uint8Array(chunk).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n return;\n }\n this._readableStream.destroy(reason);\n }\n _error(reason) {\n this._storedError = reason;\n this._readCapability.resolve();\n }\n _setReadableStream(readableStream) {\n this._readableStream = readableStream;\n readableStream.on(\"readable\", () => {\n this._readCapability.resolve();\n });\n readableStream.on(\"end\", () => {\n readableStream.destroy();\n this._done = true;\n this._readCapability.resolve();\n });\n readableStream.on(\"error\", reason => {\n this._error(reason);\n });\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n}\nfunction createRequestOptions(parsedUrl, headers) {\n return {\n protocol: parsedUrl.protocol,\n auth: parsedUrl.auth,\n host: parsedUrl.hostname,\n port: parsedUrl.port,\n path: parsedUrl.path,\n method: \"GET\",\n headers\n };\n}\nclass PDFNodeStreamFullReader extends BaseFullReader {\n constructor(stream) {\n super(stream);\n const handleResponse = response => {\n if (response.statusCode === 404) {\n const error = new _util.MissingPDFException(`Missing PDF \"${this._url}\".`);\n this._storedError = error;\n this._headersCapability.reject(error);\n return;\n }\n this._headersCapability.resolve();\n this._setReadableStream(response);\n const getResponseHeader = name => {\n return this._readableStream.headers[name.toLowerCase()];\n };\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: stream.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n this._isRangeSupported = allowRangeRequests;\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n };\n this._request = null;\n if (this._url.protocol === \"http:\") {\n const http = require(\"http\");\n this._request = http.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse);\n } else {\n const https = require(\"https\");\n this._request = https.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse);\n }\n this._request.on(\"error\", reason => {\n this._storedError = reason;\n this._headersCapability.reject(reason);\n });\n this._request.end();\n }\n}\nclass PDFNodeStreamRangeReader extends BaseRangeReader {\n constructor(stream, start, end) {\n super(stream);\n this._httpHeaders = {};\n for (const property in stream.httpHeaders) {\n const value = stream.httpHeaders[property];\n if (value === undefined) {\n continue;\n }\n this._httpHeaders[property] = value;\n }\n this._httpHeaders.Range = `bytes=${start}-${end - 1}`;\n const handleResponse = response => {\n if (response.statusCode === 404) {\n const error = new _util.MissingPDFException(`Missing PDF \"${this._url}\".`);\n this._storedError = error;\n return;\n }\n this._setReadableStream(response);\n };\n this._request = null;\n if (this._url.protocol === \"http:\") {\n const http = require(\"http\");\n this._request = http.request(createRequestOptions(this._url, this._httpHeaders), handleResponse);\n } else {\n const https = require(\"https\");\n this._request = https.request(createRequestOptions(this._url, this._httpHeaders), handleResponse);\n }\n this._request.on(\"error\", reason => {\n this._storedError = reason;\n });\n this._request.end();\n }\n}\nclass PDFNodeStreamFsFullReader extends BaseFullReader {\n constructor(stream) {\n super(stream);\n let path = decodeURIComponent(this._url.path);\n if (fileUriRegex.test(this._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n const fs = require(\"fs\");\n fs.lstat(path, (error, stat) => {\n if (error) {\n if (error.code === \"ENOENT\") {\n error = new _util.MissingPDFException(`Missing PDF \"${path}\".`);\n }\n this._storedError = error;\n this._headersCapability.reject(error);\n return;\n }\n this._contentLength = stat.size;\n this._setReadableStream(fs.createReadStream(path));\n this._headersCapability.resolve();\n });\n }\n}\nclass PDFNodeStreamFsRangeReader extends BaseRangeReader {\n constructor(stream, start, end) {\n super(stream);\n let path = decodeURIComponent(this._url.path);\n if (fileUriRegex.test(this._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n const fs = require(\"fs\");\n this._setReadableStream(fs.createReadStream(path, {\n start,\n end: end - 1\n }));\n }\n}\n\n/***/ }),\n/* 24 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.SVGGraphics = void 0;\nvar _display_utils = __w_pdfjs_require__(6);\nvar _util = __w_pdfjs_require__(1);\n;\nconst SVG_DEFAULTS = {\n fontStyle: \"normal\",\n fontWeight: \"normal\",\n fillColor: \"#000000\"\n};\nconst XML_NS = \"http://www.w3.org/XML/1998/namespace\";\nconst XLINK_NS = \"http://www.w3.org/1999/xlink\";\nconst LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\nconst LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\nconst createObjectURL = function (data, contentType = \"\", forceDataSchema = false) {\n if (URL.createObjectURL && typeof Blob !== \"undefined\" && !forceDataSchema) {\n return URL.createObjectURL(new Blob([data], {\n type: contentType\n }));\n }\n const digits = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n let buffer = `data:${contentType};base64,`;\n for (let i = 0, ii = data.length; i < ii; i += 3) {\n const b1 = data[i] & 0xff;\n const b2 = data[i + 1] & 0xff;\n const b3 = data[i + 2] & 0xff;\n const d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n const d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;\n const d4 = i + 2 < ii ? b3 & 0x3f : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n return buffer;\n};\nconst convertImgDataToPng = function () {\n const PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);\n const CHUNK_WRAPPER_SIZE = 12;\n const crcTable = new Int32Array(256);\n for (let i = 0; i < 256; i++) {\n let c = i;\n for (let h = 0; h < 8; h++) {\n c = c & 1 ? 0xedb88320 ^ c >> 1 & 0x7fffffff : c >> 1 & 0x7fffffff;\n }\n crcTable[i] = c;\n }\n function crc32(data, start, end) {\n let crc = -1;\n for (let i = start; i < end; i++) {\n const a = (crc ^ data[i]) & 0xff;\n const b = crcTable[a];\n crc = crc >>> 8 ^ b;\n }\n return crc ^ -1;\n }\n function writePngChunk(type, body, data, offset) {\n let p = offset;\n const len = body.length;\n data[p] = len >> 24 & 0xff;\n data[p + 1] = len >> 16 & 0xff;\n data[p + 2] = len >> 8 & 0xff;\n data[p + 3] = len & 0xff;\n p += 4;\n data[p] = type.charCodeAt(0) & 0xff;\n data[p + 1] = type.charCodeAt(1) & 0xff;\n data[p + 2] = type.charCodeAt(2) & 0xff;\n data[p + 3] = type.charCodeAt(3) & 0xff;\n p += 4;\n data.set(body, p);\n p += body.length;\n const crc = crc32(data, offset + 4, p);\n data[p] = crc >> 24 & 0xff;\n data[p + 1] = crc >> 16 & 0xff;\n data[p + 2] = crc >> 8 & 0xff;\n data[p + 3] = crc & 0xff;\n }\n function adler32(data, start, end) {\n let a = 1;\n let b = 0;\n for (let i = start; i < end; ++i) {\n a = (a + (data[i] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n return b << 16 | a;\n }\n function deflateSync(literals) {\n if (!_util.isNodeJS) {\n return deflateSyncUncompressed(literals);\n }\n try {\n const input = parseInt(process.versions.node) >= 8 ? literals : Buffer.from(literals);\n const output = require(\"zlib\").deflateSync(input, {\n level: 9\n });\n return output instanceof Uint8Array ? output : new Uint8Array(output);\n } catch (e) {\n (0, _util.warn)(\"Not compressing PNG because zlib.deflateSync is unavailable: \" + e);\n }\n return deflateSyncUncompressed(literals);\n }\n function deflateSyncUncompressed(literals) {\n let len = literals.length;\n const maxBlockLength = 0xffff;\n const deflateBlocks = Math.ceil(len / maxBlockLength);\n const idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);\n let pi = 0;\n idat[pi++] = 0x78;\n idat[pi++] = 0x9c;\n let pos = 0;\n while (len > maxBlockLength) {\n idat[pi++] = 0x00;\n idat[pi++] = 0xff;\n idat[pi++] = 0xff;\n idat[pi++] = 0x00;\n idat[pi++] = 0x00;\n idat.set(literals.subarray(pos, pos + maxBlockLength), pi);\n pi += maxBlockLength;\n pos += maxBlockLength;\n len -= maxBlockLength;\n }\n idat[pi++] = 0x01;\n idat[pi++] = len & 0xff;\n idat[pi++] = len >> 8 & 0xff;\n idat[pi++] = ~len & 0xffff & 0xff;\n idat[pi++] = (~len & 0xffff) >> 8 & 0xff;\n idat.set(literals.subarray(pos), pi);\n pi += literals.length - pos;\n const adler = adler32(literals, 0, literals.length);\n idat[pi++] = adler >> 24 & 0xff;\n idat[pi++] = adler >> 16 & 0xff;\n idat[pi++] = adler >> 8 & 0xff;\n idat[pi++] = adler & 0xff;\n return idat;\n }\n function encode(imgData, kind, forceDataSchema, isMask) {\n const width = imgData.width;\n const height = imgData.height;\n let bitDepth, colorType, lineSize;\n const bytes = imgData.data;\n switch (kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n colorType = 0;\n bitDepth = 1;\n lineSize = width + 7 >> 3;\n break;\n case _util.ImageKind.RGB_24BPP:\n colorType = 2;\n bitDepth = 8;\n lineSize = width * 3;\n break;\n case _util.ImageKind.RGBA_32BPP:\n colorType = 6;\n bitDepth = 8;\n lineSize = width * 4;\n break;\n default:\n throw new Error(\"invalid format\");\n }\n const literals = new Uint8Array((1 + lineSize) * height);\n let offsetLiterals = 0,\n offsetBytes = 0;\n for (let y = 0; y < height; ++y) {\n literals[offsetLiterals++] = 0;\n literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);\n offsetBytes += lineSize;\n offsetLiterals += lineSize;\n }\n if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {\n offsetLiterals = 0;\n for (let y = 0; y < height; y++) {\n offsetLiterals++;\n for (let i = 0; i < lineSize; i++) {\n literals[offsetLiterals++] ^= 0xff;\n }\n }\n }\n const ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]);\n const idat = deflateSync(literals);\n const pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;\n const data = new Uint8Array(pngLength);\n let offset = 0;\n data.set(PNG_HEADER, offset);\n offset += PNG_HEADER.length;\n writePngChunk(\"IHDR\", ihdr, data, offset);\n offset += CHUNK_WRAPPER_SIZE + ihdr.length;\n writePngChunk(\"IDATA\", idat, data, offset);\n offset += CHUNK_WRAPPER_SIZE + idat.length;\n writePngChunk(\"IEND\", new Uint8Array(0), data, offset);\n return createObjectURL(data, \"image/png\", forceDataSchema);\n }\n return function convertImgDataToPng(imgData, forceDataSchema, isMask) {\n const kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;\n return encode(imgData, kind, forceDataSchema, isMask);\n };\n}();\nclass SVGExtraState {\n constructor() {\n this.fontSizeScale = 1;\n this.fontWeight = SVG_DEFAULTS.fontWeight;\n this.fontSize = 0;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textMatrixScale = 1;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRise = 0;\n this.fillColor = SVG_DEFAULTS.fillColor;\n this.strokeColor = \"#000000\";\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.lineJoin = \"\";\n this.lineCap = \"\";\n this.miterLimit = 0;\n this.dashArray = [];\n this.dashPhase = 0;\n this.dependencies = [];\n this.activeClipUrl = null;\n this.clipGroup = null;\n this.maskId = \"\";\n }\n clone() {\n return Object.create(this);\n }\n setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n}\nfunction opListToTree(opList) {\n let opTree = [];\n const tmp = [];\n for (const opListElement of opList) {\n if (opListElement.fn === \"save\") {\n opTree.push({\n fnId: 92,\n fn: \"group\",\n items: []\n });\n tmp.push(opTree);\n opTree = opTree.at(-1).items;\n continue;\n }\n if (opListElement.fn === \"restore\") {\n opTree = tmp.pop();\n } else {\n opTree.push(opListElement);\n }\n }\n return opTree;\n}\nfunction pf(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n const s = value.toFixed(10);\n let i = s.length - 1;\n if (s[i] !== \"0\") {\n return s;\n }\n do {\n i--;\n } while (s[i] === \"0\");\n return s.substring(0, s[i] === \".\" ? i : i + 1);\n}\nfunction pm(m) {\n if (m[4] === 0 && m[5] === 0) {\n if (m[1] === 0 && m[2] === 0) {\n if (m[0] === 1 && m[3] === 1) {\n return \"\";\n }\n return `scale(${pf(m[0])} ${pf(m[3])})`;\n }\n if (m[0] === m[3] && m[1] === -m[2]) {\n const a = Math.acos(m[0]) * 180 / Math.PI;\n return `rotate(${pf(a)})`;\n }\n } else if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return `translate(${pf(m[4])} ${pf(m[5])})`;\n }\n return `matrix(${pf(m[0])} ${pf(m[1])} ${pf(m[2])} ${pf(m[3])} ${pf(m[4])} ` + `${pf(m[5])})`;\n}\nlet clipCount = 0;\nlet maskCount = 0;\nlet shadingCount = 0;\nclass SVGGraphics {\n constructor(commonObjs, objs, forceDataSchema = false) {\n (0, _display_utils.deprecated)(\"The SVG back-end is no longer maintained and *may* be removed in the future.\");\n this.svgFactory = new _display_utils.DOMSVGFactory();\n this.current = new SVGExtraState();\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.transformStack = [];\n this.extraStack = [];\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.embedFonts = false;\n this.embeddedFonts = Object.create(null);\n this.cssStyle = null;\n this.forceDataSchema = !!forceDataSchema;\n this._operatorIdMapping = [];\n for (const op in _util.OPS) {\n this._operatorIdMapping[_util.OPS[op]] = op;\n }\n }\n getObject(data, fallback = null) {\n if (typeof data === \"string\") {\n return data.startsWith(\"g_\") ? this.commonObjs.get(data) : this.objs.get(data);\n }\n return fallback;\n }\n save() {\n this.transformStack.push(this.transformMatrix);\n const old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n }\n restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n }\n group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n }\n loadDependencies(operatorList) {\n const fnArray = operatorList.fnArray;\n const argsArray = operatorList.argsArray;\n for (let i = 0, ii = fnArray.length; i < ii; i++) {\n if (fnArray[i] !== _util.OPS.dependency) {\n continue;\n }\n for (const obj of argsArray[i]) {\n const objsPool = obj.startsWith(\"g_\") ? this.commonObjs : this.objs;\n const promise = new Promise(resolve => {\n objsPool.get(obj, resolve);\n });\n this.current.dependencies.push(promise);\n }\n }\n return Promise.all(this.current.dependencies);\n }\n transform(a, b, c, d, e, f) {\n const transformMatrix = [a, b, c, d, e, f];\n this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);\n this.tgrp = null;\n }\n getSVG(operatorList, viewport) {\n this.viewport = viewport;\n const svgElement = this._initialize(viewport);\n return this.loadDependencies(operatorList).then(() => {\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.executeOpTree(this.convertOpList(operatorList));\n return svgElement;\n });\n }\n convertOpList(operatorList) {\n const operatorIdMapping = this._operatorIdMapping;\n const argsArray = operatorList.argsArray;\n const fnArray = operatorList.fnArray;\n const opList = [];\n for (let i = 0, ii = fnArray.length; i < ii; i++) {\n const fnId = fnArray[i];\n opList.push({\n fnId,\n fn: operatorIdMapping[fnId],\n args: argsArray[i]\n });\n }\n return opListToTree(opList);\n }\n executeOpTree(opTree) {\n for (const opTreeElement of opTree) {\n const fn = opTreeElement.fn;\n const fnId = opTreeElement.fnId;\n const args = opTreeElement.args;\n switch (fnId | 0) {\n case _util.OPS.beginText:\n this.beginText();\n break;\n case _util.OPS.dependency:\n break;\n case _util.OPS.setLeading:\n this.setLeading(args);\n break;\n case _util.OPS.setLeadingMoveText:\n this.setLeadingMoveText(args[0], args[1]);\n break;\n case _util.OPS.setFont:\n this.setFont(args);\n break;\n case _util.OPS.showText:\n this.showText(args[0]);\n break;\n case _util.OPS.showSpacedText:\n this.showText(args[0]);\n break;\n case _util.OPS.endText:\n this.endText();\n break;\n case _util.OPS.moveText:\n this.moveText(args[0], args[1]);\n break;\n case _util.OPS.setCharSpacing:\n this.setCharSpacing(args[0]);\n break;\n case _util.OPS.setWordSpacing:\n this.setWordSpacing(args[0]);\n break;\n case _util.OPS.setHScale:\n this.setHScale(args[0]);\n break;\n case _util.OPS.setTextMatrix:\n this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n case _util.OPS.setTextRise:\n this.setTextRise(args[0]);\n break;\n case _util.OPS.setTextRenderingMode:\n this.setTextRenderingMode(args[0]);\n break;\n case _util.OPS.setLineWidth:\n this.setLineWidth(args[0]);\n break;\n case _util.OPS.setLineJoin:\n this.setLineJoin(args[0]);\n break;\n case _util.OPS.setLineCap:\n this.setLineCap(args[0]);\n break;\n case _util.OPS.setMiterLimit:\n this.setMiterLimit(args[0]);\n break;\n case _util.OPS.setFillRGBColor:\n this.setFillRGBColor(args[0], args[1], args[2]);\n break;\n case _util.OPS.setStrokeRGBColor:\n this.setStrokeRGBColor(args[0], args[1], args[2]);\n break;\n case _util.OPS.setStrokeColorN:\n this.setStrokeColorN(args);\n break;\n case _util.OPS.setFillColorN:\n this.setFillColorN(args);\n break;\n case _util.OPS.shadingFill:\n this.shadingFill(args[0]);\n break;\n case _util.OPS.setDash:\n this.setDash(args[0], args[1]);\n break;\n case _util.OPS.setRenderingIntent:\n this.setRenderingIntent(args[0]);\n break;\n case _util.OPS.setFlatness:\n this.setFlatness(args[0]);\n break;\n case _util.OPS.setGState:\n this.setGState(args[0]);\n break;\n case _util.OPS.fill:\n this.fill();\n break;\n case _util.OPS.eoFill:\n this.eoFill();\n break;\n case _util.OPS.stroke:\n this.stroke();\n break;\n case _util.OPS.fillStroke:\n this.fillStroke();\n break;\n case _util.OPS.eoFillStroke:\n this.eoFillStroke();\n break;\n case _util.OPS.clip:\n this.clip(\"nonzero\");\n break;\n case _util.OPS.eoClip:\n this.clip(\"evenodd\");\n break;\n case _util.OPS.paintSolidColorImageMask:\n this.paintSolidColorImageMask();\n break;\n case _util.OPS.paintImageXObject:\n this.paintImageXObject(args[0]);\n break;\n case _util.OPS.paintInlineImageXObject:\n this.paintInlineImageXObject(args[0]);\n break;\n case _util.OPS.paintImageMaskXObject:\n this.paintImageMaskXObject(args[0]);\n break;\n case _util.OPS.paintFormXObjectBegin:\n this.paintFormXObjectBegin(args[0], args[1]);\n break;\n case _util.OPS.paintFormXObjectEnd:\n this.paintFormXObjectEnd();\n break;\n case _util.OPS.closePath:\n this.closePath();\n break;\n case _util.OPS.closeStroke:\n this.closeStroke();\n break;\n case _util.OPS.closeFillStroke:\n this.closeFillStroke();\n break;\n case _util.OPS.closeEOFillStroke:\n this.closeEOFillStroke();\n break;\n case _util.OPS.nextLine:\n this.nextLine();\n break;\n case _util.OPS.transform:\n this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n case _util.OPS.constructPath:\n this.constructPath(args[0], args[1]);\n break;\n case _util.OPS.endPath:\n this.endPath();\n break;\n case 92:\n this.group(opTreeElement.items);\n break;\n default:\n (0, _util.warn)(`Unimplemented operator ${fn}`);\n break;\n }\n }\n }\n setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n }\n setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n }\n nextLine() {\n this.moveText(0, this.current.leading);\n }\n setTextMatrix(a, b, c, d, e, f) {\n const current = this.current;\n current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];\n current.textMatrixScale = Math.hypot(a, b);\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", `${pf(current.fontSize)}px`);\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtElement.append(current.tspan);\n }\n beginText() {\n const current = this.current;\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.textMatrix = _util.IDENTITY_MATRIX;\n current.lineMatrix = _util.IDENTITY_MATRIX;\n current.textMatrixScale = 1;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtgrp = this.svgFactory.createElement(\"svg:g\");\n current.xcoords = [];\n current.ycoords = [];\n }\n moveText(x, y) {\n const current = this.current;\n current.x = current.lineX += x;\n current.y = current.lineY += y;\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", `${pf(current.fontSize)}px`);\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n showText(glyphs) {\n const current = this.current;\n const font = current.font;\n const fontSize = current.fontSize;\n if (fontSize === 0) {\n return;\n }\n const fontSizeScale = current.fontSizeScale;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const fontDirection = current.fontDirection;\n const textHScale = current.textHScale * fontDirection;\n const vertical = font.vertical;\n const spacingDir = vertical ? 1 : -1;\n const defaultVMetrics = font.defaultVMetrics;\n const widthAdvanceScale = fontSize * current.fontMatrix[0];\n let x = 0;\n for (const glyph of glyphs) {\n if (glyph === null) {\n x += fontDirection * wordSpacing;\n continue;\n } else if (typeof glyph === \"number\") {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const character = glyph.fontChar;\n let scaledX, scaledY;\n let width = glyph.width;\n if (vertical) {\n let vx;\n const vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n const vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n if (glyph.isInFont || font.missingFile) {\n current.xcoords.push(current.x + scaledX);\n if (vertical) {\n current.ycoords.push(-current.y + scaledY);\n }\n current.tspan.textContent += character;\n } else {}\n const charWidth = vertical ? width * widthAdvanceScale - spacing * fontDirection : width * widthAdvanceScale + spacing * fontDirection;\n x += charWidth;\n }\n current.tspan.setAttributeNS(null, \"x\", current.xcoords.map(pf).join(\" \"));\n if (vertical) {\n current.tspan.setAttributeNS(null, \"y\", current.ycoords.map(pf).join(\" \"));\n } else {\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", `${pf(current.fontSize)}px`);\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, \"font-style\", current.fontStyle);\n }\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, \"font-weight\", current.fontWeight);\n }\n const fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n current.tspan.setAttributeNS(null, \"fill\", current.fillColor);\n }\n if (current.fillAlpha < 1) {\n current.tspan.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n }\n } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {\n current.tspan.setAttributeNS(null, \"fill\", \"transparent\");\n } else {\n current.tspan.setAttributeNS(null, \"fill\", \"none\");\n }\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n const lineWidthScale = 1 / (current.textMatrixScale || 1);\n this._setStrokeAttributes(current.tspan, lineWidthScale);\n }\n let textMatrix = current.textMatrix;\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\n current.txtElement.setAttributeNS(null, \"transform\", `${pm(textMatrix)} scale(${pf(textHScale)}, -1)`);\n current.txtElement.setAttributeNS(XML_NS, \"xml:space\", \"preserve\");\n current.txtElement.append(current.tspan);\n current.txtgrp.append(current.txtElement);\n this._ensureTransformGroup().append(current.txtElement);\n }\n setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n addFontStyle(fontObj) {\n if (!fontObj.data) {\n throw new Error(\"addFontStyle: No font data available, \" + 'ensure that the \"fontExtraProperties\" API parameter is set.');\n }\n if (!this.cssStyle) {\n this.cssStyle = this.svgFactory.createElement(\"svg:style\");\n this.cssStyle.setAttributeNS(null, \"type\", \"text/css\");\n this.defs.append(this.cssStyle);\n }\n const url = createObjectURL(fontObj.data, fontObj.mimetype, this.forceDataSchema);\n this.cssStyle.textContent += `@font-face { font-family: \"${fontObj.loadedName}\";` + ` src: url(${url}); }\\n`;\n }\n setFont(details) {\n const current = this.current;\n const fontObj = this.commonObjs.get(details[0]);\n let size = details[1];\n current.font = fontObj;\n if (this.embedFonts && !fontObj.missingFile && !this.embeddedFonts[fontObj.loadedName]) {\n this.addFontStyle(fontObj);\n this.embeddedFonts[fontObj.loadedName] = fontObj;\n }\n current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n let bold = \"normal\";\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n const italic = fontObj.italic ? \"italic\" : \"normal\";\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n current.fontSize = size;\n current.fontFamily = fontObj.loadedName;\n current.fontWeight = bold;\n current.fontStyle = italic;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.xcoords = [];\n current.ycoords = [];\n }\n endText() {\n const current = this.current;\n if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement?.hasChildNodes()) {\n current.element = current.txtElement;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n setLineWidth(width) {\n if (width > 0) {\n this.current.lineWidth = width;\n }\n }\n setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n }\n setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n }\n setMiterLimit(limit) {\n this.current.miterLimit = limit;\n }\n setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n }\n setStrokeRGBColor(r, g, b) {\n this.current.strokeColor = _util.Util.makeHexColor(r, g, b);\n }\n setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n }\n setFillRGBColor(r, g, b) {\n this.current.fillColor = _util.Util.makeHexColor(r, g, b);\n this.current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n this.current.xcoords = [];\n this.current.ycoords = [];\n }\n setStrokeColorN(args) {\n this.current.strokeColor = this._makeColorN_Pattern(args);\n }\n setFillColorN(args) {\n this.current.fillColor = this._makeColorN_Pattern(args);\n }\n shadingFill(args) {\n const {\n width,\n height\n } = this.viewport;\n const inv = _util.Util.inverseTransform(this.transformMatrix);\n const [x0, y0, x1, y1] = _util.Util.getAxialAlignedBoundingBox([0, 0, width, height], inv);\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", x0);\n rect.setAttributeNS(null, \"y\", y0);\n rect.setAttributeNS(null, \"width\", x1 - x0);\n rect.setAttributeNS(null, \"height\", y1 - y0);\n rect.setAttributeNS(null, \"fill\", this._makeShadingPattern(args));\n if (this.current.fillAlpha < 1) {\n rect.setAttributeNS(null, \"fill-opacity\", this.current.fillAlpha);\n }\n this._ensureTransformGroup().append(rect);\n }\n _makeColorN_Pattern(args) {\n if (args[0] === \"TilingPattern\") {\n return this._makeTilingPattern(args);\n }\n return this._makeShadingPattern(args);\n }\n _makeTilingPattern(args) {\n const color = args[1];\n const operatorList = args[2];\n const matrix = args[3] || _util.IDENTITY_MATRIX;\n const [x0, y0, x1, y1] = args[4];\n const xstep = args[5];\n const ystep = args[6];\n const paintType = args[7];\n const tilingId = `shading${shadingCount++}`;\n const [tx0, ty0, tx1, ty1] = _util.Util.normalizeRect([..._util.Util.applyTransform([x0, y0], matrix), ..._util.Util.applyTransform([x1, y1], matrix)]);\n const [xscale, yscale] = _util.Util.singularValueDecompose2dScale(matrix);\n const txstep = xstep * xscale;\n const tystep = ystep * yscale;\n const tiling = this.svgFactory.createElement(\"svg:pattern\");\n tiling.setAttributeNS(null, \"id\", tilingId);\n tiling.setAttributeNS(null, \"patternUnits\", \"userSpaceOnUse\");\n tiling.setAttributeNS(null, \"width\", txstep);\n tiling.setAttributeNS(null, \"height\", tystep);\n tiling.setAttributeNS(null, \"x\", `${tx0}`);\n tiling.setAttributeNS(null, \"y\", `${ty0}`);\n const svg = this.svg;\n const transformMatrix = this.transformMatrix;\n const fillColor = this.current.fillColor;\n const strokeColor = this.current.strokeColor;\n const bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);\n this.svg = bbox;\n this.transformMatrix = matrix;\n if (paintType === 2) {\n const cssColor = _util.Util.makeHexColor(...color);\n this.current.fillColor = cssColor;\n this.current.strokeColor = cssColor;\n }\n this.executeOpTree(this.convertOpList(operatorList));\n this.svg = svg;\n this.transformMatrix = transformMatrix;\n this.current.fillColor = fillColor;\n this.current.strokeColor = strokeColor;\n tiling.append(bbox.childNodes[0]);\n this.defs.append(tiling);\n return `url(#${tilingId})`;\n }\n _makeShadingPattern(args) {\n if (typeof args === \"string\") {\n args = this.objs.get(args);\n }\n switch (args[0]) {\n case \"RadialAxial\":\n const shadingId = `shading${shadingCount++}`;\n const colorStops = args[3];\n let gradient;\n switch (args[1]) {\n case \"axial\":\n const point0 = args[4];\n const point1 = args[5];\n gradient = this.svgFactory.createElement(\"svg:linearGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"x1\", point0[0]);\n gradient.setAttributeNS(null, \"y1\", point0[1]);\n gradient.setAttributeNS(null, \"x2\", point1[0]);\n gradient.setAttributeNS(null, \"y2\", point1[1]);\n break;\n case \"radial\":\n const focalPoint = args[4];\n const circlePoint = args[5];\n const focalRadius = args[6];\n const circleRadius = args[7];\n gradient = this.svgFactory.createElement(\"svg:radialGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"cx\", circlePoint[0]);\n gradient.setAttributeNS(null, \"cy\", circlePoint[1]);\n gradient.setAttributeNS(null, \"r\", circleRadius);\n gradient.setAttributeNS(null, \"fx\", focalPoint[0]);\n gradient.setAttributeNS(null, \"fy\", focalPoint[1]);\n gradient.setAttributeNS(null, \"fr\", focalRadius);\n break;\n default:\n throw new Error(`Unknown RadialAxial type: ${args[1]}`);\n }\n for (const colorStop of colorStops) {\n const stop = this.svgFactory.createElement(\"svg:stop\");\n stop.setAttributeNS(null, \"offset\", colorStop[0]);\n stop.setAttributeNS(null, \"stop-color\", colorStop[1]);\n gradient.append(stop);\n }\n this.defs.append(gradient);\n return `url(#${shadingId})`;\n case \"Mesh\":\n (0, _util.warn)(\"Unimplemented pattern Mesh\");\n return null;\n case \"Dummy\":\n return \"hotpink\";\n default:\n throw new Error(`Unknown IR type: ${args[0]}`);\n }\n }\n setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n }\n constructPath(ops, args) {\n const current = this.current;\n let x = current.x,\n y = current.y;\n let d = [];\n let j = 0;\n for (const op of ops) {\n switch (op | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n const width = args[j++];\n const height = args[j++];\n const xw = x + width;\n const yh = y + height;\n d.push(\"M\", pf(x), pf(y), \"L\", pf(xw), pf(y), \"L\", pf(xw), pf(yh), \"L\", pf(x), pf(yh), \"Z\");\n break;\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n d.push(\"M\", pf(x), pf(y));\n break;\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n d.push(\"L\", pf(x), pf(y));\n break;\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));\n j += 6;\n break;\n case _util.OPS.curveTo2:\n d.push(\"C\", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));\n j += 4;\n break;\n case _util.OPS.closePath:\n d.push(\"Z\");\n break;\n }\n }\n d = d.join(\" \");\n if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {\n d = current.path.getAttributeNS(null, \"d\") + d;\n } else {\n current.path = this.svgFactory.createElement(\"svg:path\");\n this._ensureTransformGroup().append(current.path);\n }\n current.path.setAttributeNS(null, \"d\", d);\n current.path.setAttributeNS(null, \"fill\", \"none\");\n current.element = current.path;\n current.setCurrentPoint(x, y);\n }\n endPath() {\n const current = this.current;\n current.path = null;\n if (!this.pendingClip) {\n return;\n }\n if (!current.element) {\n this.pendingClip = null;\n return;\n }\n const clipId = `clippath${clipCount++}`;\n const clipPath = this.svgFactory.createElement(\"svg:clipPath\");\n clipPath.setAttributeNS(null, \"id\", clipId);\n clipPath.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n const clipElement = current.element.cloneNode(true);\n if (this.pendingClip === \"evenodd\") {\n clipElement.setAttributeNS(null, \"clip-rule\", \"evenodd\");\n } else {\n clipElement.setAttributeNS(null, \"clip-rule\", \"nonzero\");\n }\n this.pendingClip = null;\n clipPath.append(clipElement);\n this.defs.append(clipPath);\n if (current.activeClipUrl) {\n current.clipGroup = null;\n for (const prev of this.extraStack) {\n prev.clipGroup = null;\n }\n clipPath.setAttributeNS(null, \"clip-path\", current.activeClipUrl);\n }\n current.activeClipUrl = `url(#${clipId})`;\n this.tgrp = null;\n }\n clip(type) {\n this.pendingClip = type;\n }\n closePath() {\n const current = this.current;\n if (current.path) {\n const d = `${current.path.getAttributeNS(null, \"d\")}Z`;\n current.path.setAttributeNS(null, \"d\", d);\n }\n }\n setLeading(leading) {\n this.current.leading = -leading;\n }\n setTextRise(textRise) {\n this.current.textRise = textRise;\n }\n setTextRenderingMode(textRenderingMode) {\n this.current.textRenderingMode = textRenderingMode;\n }\n setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n setRenderingIntent(intent) {}\n setFlatness(flatness) {}\n setGState(states) {\n for (const [key, value] of states) {\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n case \"LC\":\n this.setLineCap(value);\n break;\n case \"LJ\":\n this.setLineJoin(value);\n break;\n case \"ML\":\n this.setMiterLimit(value);\n break;\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n case \"FL\":\n this.setFlatness(value);\n break;\n case \"Font\":\n this.setFont(value);\n break;\n case \"CA\":\n this.setStrokeAlpha(value);\n break;\n case \"ca\":\n this.setFillAlpha(value);\n break;\n default:\n (0, _util.warn)(`Unimplemented graphic state operator ${key}`);\n break;\n }\n }\n }\n fill() {\n const current = this.current;\n if (current.element) {\n current.element.setAttributeNS(null, \"fill\", current.fillColor);\n current.element.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n this.endPath();\n }\n }\n stroke() {\n const current = this.current;\n if (current.element) {\n this._setStrokeAttributes(current.element);\n current.element.setAttributeNS(null, \"fill\", \"none\");\n this.endPath();\n }\n }\n _setStrokeAttributes(element, lineWidthScale = 1) {\n const current = this.current;\n let dashArray = current.dashArray;\n if (lineWidthScale !== 1 && dashArray.length > 0) {\n dashArray = dashArray.map(function (value) {\n return lineWidthScale * value;\n });\n }\n element.setAttributeNS(null, \"stroke\", current.strokeColor);\n element.setAttributeNS(null, \"stroke-opacity\", current.strokeAlpha);\n element.setAttributeNS(null, \"stroke-miterlimit\", pf(current.miterLimit));\n element.setAttributeNS(null, \"stroke-linecap\", current.lineCap);\n element.setAttributeNS(null, \"stroke-linejoin\", current.lineJoin);\n element.setAttributeNS(null, \"stroke-width\", pf(lineWidthScale * current.lineWidth) + \"px\");\n element.setAttributeNS(null, \"stroke-dasharray\", dashArray.map(pf).join(\" \"));\n element.setAttributeNS(null, \"stroke-dashoffset\", pf(lineWidthScale * current.dashPhase) + \"px\");\n }\n eoFill() {\n this.current.element?.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n this.fill();\n }\n fillStroke() {\n this.stroke();\n this.fill();\n }\n eoFillStroke() {\n this.current.element?.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n this.fillStroke();\n }\n closeStroke() {\n this.closePath();\n this.stroke();\n }\n closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n }\n paintSolidColorImageMask() {\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", \"1px\");\n rect.setAttributeNS(null, \"height\", \"1px\");\n rect.setAttributeNS(null, \"fill\", this.current.fillColor);\n this._ensureTransformGroup().append(rect);\n }\n paintImageXObject(objId) {\n const imgData = this.getObject(objId);\n if (!imgData) {\n (0, _util.warn)(`Dependent image with object ID ${objId} is not ready yet`);\n return;\n }\n this.paintInlineImageXObject(imgData);\n }\n paintInlineImageXObject(imgData, mask) {\n const width = imgData.width;\n const height = imgData.height;\n const imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);\n const cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", \"0\");\n cliprect.setAttributeNS(null, \"y\", \"0\");\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n const imgEl = this.svgFactory.createElement(\"svg:image\");\n imgEl.setAttributeNS(XLINK_NS, \"xlink:href\", imgSrc);\n imgEl.setAttributeNS(null, \"x\", \"0\");\n imgEl.setAttributeNS(null, \"y\", pf(-height));\n imgEl.setAttributeNS(null, \"width\", pf(width) + \"px\");\n imgEl.setAttributeNS(null, \"height\", pf(height) + \"px\");\n imgEl.setAttributeNS(null, \"transform\", `scale(${pf(1 / width)} ${pf(-1 / height)})`);\n if (mask) {\n mask.append(imgEl);\n } else {\n this._ensureTransformGroup().append(imgEl);\n }\n }\n paintImageMaskXObject(img) {\n const imgData = this.getObject(img.data, img);\n if (imgData.bitmap) {\n (0, _util.warn)(\"paintImageMaskXObject: ImageBitmap support is not implemented, \" + \"ensure that the `isOffscreenCanvasSupported` API parameter is disabled.\");\n return;\n }\n const current = this.current;\n const width = imgData.width;\n const height = imgData.height;\n const fillColor = current.fillColor;\n current.maskId = `mask${maskCount++}`;\n const mask = this.svgFactory.createElement(\"svg:mask\");\n mask.setAttributeNS(null, \"id\", current.maskId);\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", pf(width));\n rect.setAttributeNS(null, \"height\", pf(height));\n rect.setAttributeNS(null, \"fill\", fillColor);\n rect.setAttributeNS(null, \"mask\", `url(#${current.maskId})`);\n this.defs.append(mask);\n this._ensureTransformGroup().append(rect);\n this.paintInlineImageXObject(imgData, mask);\n }\n paintFormXObjectBegin(matrix, bbox) {\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);\n }\n if (bbox) {\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n const cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", bbox[0]);\n cliprect.setAttributeNS(null, \"y\", bbox[1]);\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n paintFormXObjectEnd() {}\n _initialize(viewport) {\n const svg = this.svgFactory.create(viewport.width, viewport.height);\n const definitions = this.svgFactory.createElement(\"svg:defs\");\n svg.append(definitions);\n this.defs = definitions;\n const rootGroup = this.svgFactory.createElement(\"svg:g\");\n rootGroup.setAttributeNS(null, \"transform\", pm(viewport.transform));\n svg.append(rootGroup);\n this.svg = rootGroup;\n return svg;\n }\n _ensureClipGroup() {\n if (!this.current.clipGroup) {\n const clipGroup = this.svgFactory.createElement(\"svg:g\");\n clipGroup.setAttributeNS(null, \"clip-path\", this.current.activeClipUrl);\n this.svg.append(clipGroup);\n this.current.clipGroup = clipGroup;\n }\n return this.current.clipGroup;\n }\n _ensureTransformGroup() {\n if (!this.tgrp) {\n this.tgrp = this.svgFactory.createElement(\"svg:g\");\n this.tgrp.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n if (this.current.activeClipUrl) {\n this._ensureClipGroup().append(this.tgrp);\n } else {\n this.svg.append(this.tgrp);\n }\n }\n return this.tgrp;\n }\n}\nexports.SVGGraphics = SVGGraphics;\n\n/***/ }),\n/* 25 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.XfaText = void 0;\nclass XfaText {\n static textContent(xfa) {\n const items = [];\n const output = {\n items,\n styles: Object.create(null)\n };\n function walk(node) {\n if (!node) {\n return;\n }\n let str = null;\n const name = node.name;\n if (name === \"#text\") {\n str = node.value;\n } else if (!XfaText.shouldBuildText(name)) {\n return;\n } else if (node?.attributes?.textContent) {\n str = node.attributes.textContent;\n } else if (node.value) {\n str = node.value;\n }\n if (str !== null) {\n items.push({\n str\n });\n }\n if (!node.children) {\n return;\n }\n for (const child of node.children) {\n walk(child);\n }\n }\n walk(xfa);\n return output;\n }\n static shouldBuildText(name) {\n return !(name === \"textarea\" || name === \"input\" || name === \"option\" || name === \"select\");\n }\n}\nexports.XfaText = XfaText;\n\n/***/ }),\n/* 26 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TextLayerRenderTask = void 0;\nexports.renderTextLayer = renderTextLayer;\nexports.updateTextLayer = updateTextLayer;\nvar _util = __w_pdfjs_require__(1);\nvar _display_utils = __w_pdfjs_require__(6);\nconst MAX_TEXT_DIVS_TO_RENDER = 100000;\nconst DEFAULT_FONT_SIZE = 30;\nconst DEFAULT_FONT_ASCENT = 0.8;\nconst ascentCache = new Map();\nfunction getCtx(size, isOffscreenCanvasSupported) {\n let ctx;\n if (isOffscreenCanvasSupported && _util.FeatureTest.isOffscreenCanvasSupported) {\n ctx = new OffscreenCanvas(size, size).getContext(\"2d\", {\n alpha: false\n });\n } else {\n const canvas = document.createElement(\"canvas\");\n canvas.width = canvas.height = size;\n ctx = canvas.getContext(\"2d\", {\n alpha: false\n });\n }\n return ctx;\n}\nfunction getAscent(fontFamily, isOffscreenCanvasSupported) {\n const cachedAscent = ascentCache.get(fontFamily);\n if (cachedAscent) {\n return cachedAscent;\n }\n const ctx = getCtx(DEFAULT_FONT_SIZE, isOffscreenCanvasSupported);\n ctx.font = `${DEFAULT_FONT_SIZE}px ${fontFamily}`;\n const metrics = ctx.measureText(\"\");\n let ascent = metrics.fontBoundingBoxAscent;\n let descent = Math.abs(metrics.fontBoundingBoxDescent);\n if (ascent) {\n const ratio = ascent / (ascent + descent);\n ascentCache.set(fontFamily, ratio);\n ctx.canvas.width = ctx.canvas.height = 0;\n return ratio;\n }\n ctx.strokeStyle = \"red\";\n ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE);\n ctx.strokeText(\"g\", 0, 0);\n let pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data;\n descent = 0;\n for (let i = pixels.length - 1 - 3; i >= 0; i -= 4) {\n if (pixels[i] > 0) {\n descent = Math.ceil(i / 4 / DEFAULT_FONT_SIZE);\n break;\n }\n }\n ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE);\n ctx.strokeText(\"A\", 0, DEFAULT_FONT_SIZE);\n pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data;\n ascent = 0;\n for (let i = 0, ii = pixels.length; i < ii; i += 4) {\n if (pixels[i] > 0) {\n ascent = DEFAULT_FONT_SIZE - Math.floor(i / 4 / DEFAULT_FONT_SIZE);\n break;\n }\n }\n ctx.canvas.width = ctx.canvas.height = 0;\n if (ascent) {\n const ratio = ascent / (ascent + descent);\n ascentCache.set(fontFamily, ratio);\n return ratio;\n }\n ascentCache.set(fontFamily, DEFAULT_FONT_ASCENT);\n return DEFAULT_FONT_ASCENT;\n}\nfunction appendText(task, geom, styles) {\n const textDiv = document.createElement(\"span\");\n const textDivProperties = {\n angle: 0,\n canvasWidth: 0,\n hasText: geom.str !== \"\",\n hasEOL: geom.hasEOL,\n fontSize: 0\n };\n task._textDivs.push(textDiv);\n const tx = _util.Util.transform(task._transform, geom.transform);\n let angle = Math.atan2(tx[1], tx[0]);\n const style = styles[geom.fontName];\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n const fontHeight = Math.hypot(tx[2], tx[3]);\n const fontAscent = fontHeight * getAscent(style.fontFamily, task._isOffscreenCanvasSupported);\n let left, top;\n if (angle === 0) {\n left = tx[4];\n top = tx[5] - fontAscent;\n } else {\n left = tx[4] + fontAscent * Math.sin(angle);\n top = tx[5] - fontAscent * Math.cos(angle);\n }\n const scaleFactorStr = \"calc(var(--scale-factor)*\";\n const divStyle = textDiv.style;\n if (task._container === task._rootContainer) {\n divStyle.left = `${(100 * left / task._pageWidth).toFixed(2)}%`;\n divStyle.top = `${(100 * top / task._pageHeight).toFixed(2)}%`;\n } else {\n divStyle.left = `${scaleFactorStr}${left.toFixed(2)}px)`;\n divStyle.top = `${scaleFactorStr}${top.toFixed(2)}px)`;\n }\n divStyle.fontSize = `${scaleFactorStr}${fontHeight.toFixed(2)}px)`;\n divStyle.fontFamily = style.fontFamily;\n textDivProperties.fontSize = fontHeight;\n textDiv.setAttribute(\"role\", \"presentation\");\n textDiv.textContent = geom.str;\n textDiv.dir = geom.dir;\n if (task._fontInspectorEnabled) {\n textDiv.dataset.fontName = geom.fontName;\n }\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n let shouldScaleText = false;\n if (geom.str.length > 1) {\n shouldScaleText = true;\n } else if (geom.str !== \" \" && geom.transform[0] !== geom.transform[3]) {\n const absScaleX = Math.abs(geom.transform[0]),\n absScaleY = Math.abs(geom.transform[3]);\n if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) {\n shouldScaleText = true;\n }\n }\n if (shouldScaleText) {\n textDivProperties.canvasWidth = style.vertical ? geom.height : geom.width;\n }\n task._textDivProperties.set(textDiv, textDivProperties);\n if (task._isReadableStream) {\n task._layoutText(textDiv);\n }\n}\nfunction layout(params) {\n const {\n div,\n scale,\n properties,\n ctx,\n prevFontSize,\n prevFontFamily\n } = params;\n const {\n style\n } = div;\n let transform = \"\";\n if (properties.canvasWidth !== 0 && properties.hasText) {\n const {\n fontFamily\n } = style;\n const {\n canvasWidth,\n fontSize\n } = properties;\n if (prevFontSize !== fontSize || prevFontFamily !== fontFamily) {\n ctx.font = `${fontSize * scale}px ${fontFamily}`;\n params.prevFontSize = fontSize;\n params.prevFontFamily = fontFamily;\n }\n const {\n width\n } = ctx.measureText(div.textContent);\n if (width > 0) {\n transform = `scaleX(${canvasWidth * scale / width})`;\n }\n }\n if (properties.angle !== 0) {\n transform = `rotate(${properties.angle}deg) ${transform}`;\n }\n if (transform.length > 0) {\n style.transform = transform;\n }\n}\nfunction render(task) {\n if (task._canceled) {\n return;\n }\n const textDivs = task._textDivs;\n const capability = task._capability;\n const textDivsLength = textDivs.length;\n if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n capability.resolve();\n return;\n }\n if (!task._isReadableStream) {\n for (const textDiv of textDivs) {\n task._layoutText(textDiv);\n }\n }\n capability.resolve();\n}\nclass TextLayerRenderTask {\n constructor({\n textContentSource,\n container,\n viewport,\n textDivs,\n textDivProperties,\n textContentItemsStr,\n isOffscreenCanvasSupported\n }) {\n this._textContentSource = textContentSource;\n this._isReadableStream = textContentSource instanceof ReadableStream;\n this._container = this._rootContainer = container;\n this._textDivs = textDivs || [];\n this._textContentItemsStr = textContentItemsStr || [];\n this._isOffscreenCanvasSupported = isOffscreenCanvasSupported;\n this._fontInspectorEnabled = !!globalThis.FontInspector?.enabled;\n this._reader = null;\n this._textDivProperties = textDivProperties || new WeakMap();\n this._canceled = false;\n this._capability = new _util.PromiseCapability();\n this._layoutTextParams = {\n prevFontSize: null,\n prevFontFamily: null,\n div: null,\n scale: viewport.scale * (globalThis.devicePixelRatio || 1),\n properties: null,\n ctx: getCtx(0, isOffscreenCanvasSupported)\n };\n const {\n pageWidth,\n pageHeight,\n pageX,\n pageY\n } = viewport.rawDims;\n this._transform = [1, 0, 0, -1, -pageX, pageY + pageHeight];\n this._pageWidth = pageWidth;\n this._pageHeight = pageHeight;\n (0, _display_utils.setLayerDimensions)(container, viewport);\n this._capability.promise.finally(() => {\n this._layoutTextParams = null;\n }).catch(() => {});\n }\n get promise() {\n return this._capability.promise;\n }\n cancel() {\n this._canceled = true;\n if (this._reader) {\n this._reader.cancel(new _util.AbortException(\"TextLayer task cancelled.\")).catch(() => {});\n this._reader = null;\n }\n this._capability.reject(new _util.AbortException(\"TextLayer task cancelled.\"));\n }\n _processItems(items, styleCache) {\n for (const item of items) {\n if (item.str === undefined) {\n if (item.type === \"beginMarkedContentProps\" || item.type === \"beginMarkedContent\") {\n const parent = this._container;\n this._container = document.createElement(\"span\");\n this._container.classList.add(\"markedContent\");\n if (item.id !== null) {\n this._container.setAttribute(\"id\", `${item.id}`);\n }\n parent.append(this._container);\n } else if (item.type === \"endMarkedContent\") {\n this._container = this._container.parentNode;\n }\n continue;\n }\n this._textContentItemsStr.push(item.str);\n appendText(this, item, styleCache);\n }\n }\n _layoutText(textDiv) {\n const textDivProperties = this._layoutTextParams.properties = this._textDivProperties.get(textDiv);\n this._layoutTextParams.div = textDiv;\n layout(this._layoutTextParams);\n if (textDivProperties.hasText) {\n this._container.append(textDiv);\n }\n if (textDivProperties.hasEOL) {\n const br = document.createElement(\"br\");\n br.setAttribute(\"role\", \"presentation\");\n this._container.append(br);\n }\n }\n _render() {\n const capability = new _util.PromiseCapability();\n let styleCache = Object.create(null);\n if (this._isReadableStream) {\n const pump = () => {\n this._reader.read().then(({\n value,\n done\n }) => {\n if (done) {\n capability.resolve();\n return;\n }\n Object.assign(styleCache, value.styles);\n this._processItems(value.items, styleCache);\n pump();\n }, capability.reject);\n };\n this._reader = this._textContentSource.getReader();\n pump();\n } else if (this._textContentSource) {\n const {\n items,\n styles\n } = this._textContentSource;\n this._processItems(items, styles);\n capability.resolve();\n } else {\n throw new Error('No \"textContentSource\" parameter specified.');\n }\n capability.promise.then(() => {\n styleCache = null;\n render(this);\n }, this._capability.reject);\n }\n}\nexports.TextLayerRenderTask = TextLayerRenderTask;\nfunction renderTextLayer(params) {\n if (!params.textContentSource && (params.textContent || params.textContentStream)) {\n (0, _display_utils.deprecated)(\"The TextLayerRender `textContent`/`textContentStream` parameters \" + \"will be removed in the future, please use `textContentSource` instead.\");\n params.textContentSource = params.textContent || params.textContentStream;\n }\n const {\n container,\n viewport\n } = params;\n const style = getComputedStyle(container);\n const visibility = style.getPropertyValue(\"visibility\");\n const scaleFactor = parseFloat(style.getPropertyValue(\"--scale-factor\"));\n if (visibility === \"visible\" && (!scaleFactor || Math.abs(scaleFactor - viewport.scale) > 1e-5)) {\n console.error(\"The `--scale-factor` CSS-variable must be set, \" + \"to the same value as `viewport.scale`, \" + \"either on the `container`-element itself or higher up in the DOM.\");\n }\n const task = new TextLayerRenderTask(params);\n task._render();\n return task;\n}\nfunction updateTextLayer({\n container,\n viewport,\n textDivs,\n textDivProperties,\n isOffscreenCanvasSupported,\n mustRotate = true,\n mustRescale = true\n}) {\n if (mustRotate) {\n (0, _display_utils.setLayerDimensions)(container, {\n rotation: viewport.rotation\n });\n }\n if (mustRescale) {\n const ctx = getCtx(0, isOffscreenCanvasSupported);\n const scale = viewport.scale * (globalThis.devicePixelRatio || 1);\n const params = {\n prevFontSize: null,\n prevFontFamily: null,\n div: null,\n scale,\n properties: null,\n ctx\n };\n for (const div of textDivs) {\n params.properties = textDivProperties.get(div);\n params.div = div;\n layout(params);\n }\n }\n}\n\n/***/ }),\n/* 27 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AnnotationEditorLayer = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _editor = __w_pdfjs_require__(4);\nvar _freetext = __w_pdfjs_require__(28);\nvar _ink = __w_pdfjs_require__(33);\nvar _display_utils = __w_pdfjs_require__(6);\nvar _stamp = __w_pdfjs_require__(34);\nclass AnnotationEditorLayer {\n #accessibilityManager;\n #allowClick = false;\n #annotationLayer = null;\n #boundPointerup = this.pointerup.bind(this);\n #boundPointerdown = this.pointerdown.bind(this);\n #editors = new Map();\n #hadPointerDown = false;\n #isCleaningUp = false;\n #isDisabling = false;\n #uiManager;\n static _initialized = false;\n constructor({\n uiManager,\n pageIndex,\n div,\n accessibilityManager,\n annotationLayer,\n viewport,\n l10n\n }) {\n const editorTypes = [_freetext.FreeTextEditor, _ink.InkEditor, _stamp.StampEditor];\n if (!AnnotationEditorLayer._initialized) {\n AnnotationEditorLayer._initialized = true;\n for (const editorType of editorTypes) {\n editorType.initialize(l10n);\n }\n }\n uiManager.registerEditorTypes(editorTypes);\n this.#uiManager = uiManager;\n this.pageIndex = pageIndex;\n this.div = div;\n this.#accessibilityManager = accessibilityManager;\n this.#annotationLayer = annotationLayer;\n this.viewport = viewport;\n this.#uiManager.addLayer(this);\n }\n get isEmpty() {\n return this.#editors.size === 0;\n }\n updateToolbar(mode) {\n this.#uiManager.updateToolbar(mode);\n }\n updateMode(mode = this.#uiManager.getMode()) {\n this.#cleanup();\n if (mode === _util.AnnotationEditorType.INK) {\n this.addInkEditorIfNeeded(false);\n this.disableClick();\n } else {\n this.enableClick();\n }\n if (mode !== _util.AnnotationEditorType.NONE) {\n this.div.classList.toggle(\"freeTextEditing\", mode === _util.AnnotationEditorType.FREETEXT);\n this.div.classList.toggle(\"inkEditing\", mode === _util.AnnotationEditorType.INK);\n this.div.classList.toggle(\"stampEditing\", mode === _util.AnnotationEditorType.STAMP);\n this.div.hidden = false;\n }\n }\n addInkEditorIfNeeded(isCommitting) {\n if (!isCommitting && this.#uiManager.getMode() !== _util.AnnotationEditorType.INK) {\n return;\n }\n if (!isCommitting) {\n for (const editor of this.#editors.values()) {\n if (editor.isEmpty()) {\n editor.setInBackground();\n return;\n }\n }\n }\n const editor = this.#createAndAddNewEditor({\n offsetX: 0,\n offsetY: 0\n }, false);\n editor.setInBackground();\n }\n setEditingState(isEditing) {\n this.#uiManager.setEditingState(isEditing);\n }\n addCommands(params) {\n this.#uiManager.addCommands(params);\n }\n enable() {\n this.div.style.pointerEvents = \"auto\";\n const annotationElementIds = new Set();\n for (const editor of this.#editors.values()) {\n editor.enableEditing();\n if (editor.annotationElementId) {\n annotationElementIds.add(editor.annotationElementId);\n }\n }\n if (!this.#annotationLayer) {\n return;\n }\n const editables = this.#annotationLayer.getEditableAnnotations();\n for (const editable of editables) {\n editable.hide();\n if (this.#uiManager.isDeletedAnnotationElement(editable.data.id)) {\n continue;\n }\n if (annotationElementIds.has(editable.data.id)) {\n continue;\n }\n const editor = this.deserialize(editable);\n if (!editor) {\n continue;\n }\n this.addOrRebuild(editor);\n editor.enableEditing();\n }\n }\n disable() {\n this.#isDisabling = true;\n this.div.style.pointerEvents = \"none\";\n const hiddenAnnotationIds = new Set();\n for (const editor of this.#editors.values()) {\n editor.disableEditing();\n if (!editor.annotationElementId || editor.serialize() !== null) {\n hiddenAnnotationIds.add(editor.annotationElementId);\n continue;\n }\n this.getEditableAnnotation(editor.annotationElementId)?.show();\n editor.remove();\n }\n if (this.#annotationLayer) {\n const editables = this.#annotationLayer.getEditableAnnotations();\n for (const editable of editables) {\n const {\n id\n } = editable.data;\n if (hiddenAnnotationIds.has(id) || this.#uiManager.isDeletedAnnotationElement(id)) {\n continue;\n }\n editable.show();\n }\n }\n this.#cleanup();\n if (this.isEmpty) {\n this.div.hidden = true;\n }\n this.#isDisabling = false;\n }\n getEditableAnnotation(id) {\n return this.#annotationLayer?.getEditableAnnotation(id) || null;\n }\n setActiveEditor(editor) {\n const currentActive = this.#uiManager.getActive();\n if (currentActive === editor) {\n return;\n }\n this.#uiManager.setActiveEditor(editor);\n }\n enableClick() {\n this.div.addEventListener(\"pointerdown\", this.#boundPointerdown);\n this.div.addEventListener(\"pointerup\", this.#boundPointerup);\n }\n disableClick() {\n this.div.removeEventListener(\"pointerdown\", this.#boundPointerdown);\n this.div.removeEventListener(\"pointerup\", this.#boundPointerup);\n }\n attach(editor) {\n this.#editors.set(editor.id, editor);\n const {\n annotationElementId\n } = editor;\n if (annotationElementId && this.#uiManager.isDeletedAnnotationElement(annotationElementId)) {\n this.#uiManager.removeDeletedAnnotationElement(editor);\n }\n }\n detach(editor) {\n this.#editors.delete(editor.id);\n this.#accessibilityManager?.removePointerInTextLayer(editor.contentDiv);\n if (!this.#isDisabling && editor.annotationElementId) {\n this.#uiManager.addDeletedAnnotationElement(editor);\n }\n }\n remove(editor) {\n this.detach(editor);\n this.#uiManager.removeEditor(editor);\n if (editor.div.contains(document.activeElement)) {\n setTimeout(() => {\n this.#uiManager.focusMainContainer();\n }, 0);\n }\n editor.div.remove();\n editor.isAttachedToDOM = false;\n if (!this.#isCleaningUp) {\n this.addInkEditorIfNeeded(false);\n }\n }\n changeParent(editor) {\n if (editor.parent === this) {\n return;\n }\n if (editor.annotationElementId) {\n this.#uiManager.addDeletedAnnotationElement(editor.annotationElementId);\n _editor.AnnotationEditor.deleteAnnotationElement(editor);\n editor.annotationElementId = null;\n }\n this.attach(editor);\n editor.parent?.detach(editor);\n editor.setParent(this);\n if (editor.div && editor.isAttachedToDOM) {\n editor.div.remove();\n this.div.append(editor.div);\n }\n }\n add(editor) {\n this.changeParent(editor);\n this.#uiManager.addEditor(editor);\n this.attach(editor);\n if (!editor.isAttachedToDOM) {\n const div = editor.render();\n this.div.append(div);\n editor.isAttachedToDOM = true;\n }\n editor.fixAndSetPosition();\n editor.onceAdded();\n this.#uiManager.addToAnnotationStorage(editor);\n }\n moveEditorInDOM(editor) {\n if (!editor.isAttachedToDOM) {\n return;\n }\n const {\n activeElement\n } = document;\n if (editor.div.contains(activeElement)) {\n editor._focusEventsAllowed = false;\n setTimeout(() => {\n if (!editor.div.contains(document.activeElement)) {\n editor.div.addEventListener(\"focusin\", () => {\n editor._focusEventsAllowed = true;\n }, {\n once: true\n });\n activeElement.focus();\n } else {\n editor._focusEventsAllowed = true;\n }\n }, 0);\n }\n editor._structTreeParentId = this.#accessibilityManager?.moveElementInDOM(this.div, editor.div, editor.contentDiv, true);\n }\n addOrRebuild(editor) {\n if (editor.needsToBeRebuilt()) {\n editor.rebuild();\n } else {\n this.add(editor);\n }\n }\n addUndoableEditor(editor) {\n const cmd = () => editor._uiManager.rebuild(editor);\n const undo = () => {\n editor.remove();\n };\n this.addCommands({\n cmd,\n undo,\n mustExec: false\n });\n }\n getNextId() {\n return this.#uiManager.getId();\n }\n #createNewEditor(params) {\n switch (this.#uiManager.getMode()) {\n case _util.AnnotationEditorType.FREETEXT:\n return new _freetext.FreeTextEditor(params);\n case _util.AnnotationEditorType.INK:\n return new _ink.InkEditor(params);\n case _util.AnnotationEditorType.STAMP:\n return new _stamp.StampEditor(params);\n }\n return null;\n }\n pasteEditor(mode, params) {\n this.#uiManager.updateToolbar(mode);\n this.#uiManager.updateMode(mode);\n const {\n offsetX,\n offsetY\n } = this.#getCenterPoint();\n const id = this.getNextId();\n const editor = this.#createNewEditor({\n parent: this,\n id,\n x: offsetX,\n y: offsetY,\n uiManager: this.#uiManager,\n isCentered: true,\n ...params\n });\n if (editor) {\n this.add(editor);\n }\n }\n deserialize(data) {\n switch (data.annotationType ?? data.annotationEditorType) {\n case _util.AnnotationEditorType.FREETEXT:\n return _freetext.FreeTextEditor.deserialize(data, this, this.#uiManager);\n case _util.AnnotationEditorType.INK:\n return _ink.InkEditor.deserialize(data, this, this.#uiManager);\n case _util.AnnotationEditorType.STAMP:\n return _stamp.StampEditor.deserialize(data, this, this.#uiManager);\n }\n return null;\n }\n #createAndAddNewEditor(event, isCentered) {\n const id = this.getNextId();\n const editor = this.#createNewEditor({\n parent: this,\n id,\n x: event.offsetX,\n y: event.offsetY,\n uiManager: this.#uiManager,\n isCentered\n });\n if (editor) {\n this.add(editor);\n }\n return editor;\n }\n #getCenterPoint() {\n const {\n x,\n y,\n width,\n height\n } = this.div.getBoundingClientRect();\n const tlX = Math.max(0, x);\n const tlY = Math.max(0, y);\n const brX = Math.min(window.innerWidth, x + width);\n const brY = Math.min(window.innerHeight, y + height);\n const centerX = (tlX + brX) / 2 - x;\n const centerY = (tlY + brY) / 2 - y;\n const [offsetX, offsetY] = this.viewport.rotation % 180 === 0 ? [centerX, centerY] : [centerY, centerX];\n return {\n offsetX,\n offsetY\n };\n }\n addNewEditor() {\n this.#createAndAddNewEditor(this.#getCenterPoint(), true);\n }\n setSelected(editor) {\n this.#uiManager.setSelected(editor);\n }\n toggleSelected(editor) {\n this.#uiManager.toggleSelected(editor);\n }\n isSelected(editor) {\n return this.#uiManager.isSelected(editor);\n }\n unselect(editor) {\n this.#uiManager.unselect(editor);\n }\n pointerup(event) {\n const {\n isMac\n } = _util.FeatureTest.platform;\n if (event.button !== 0 || event.ctrlKey && isMac) {\n return;\n }\n if (event.target !== this.div) {\n return;\n }\n if (!this.#hadPointerDown) {\n return;\n }\n this.#hadPointerDown = false;\n if (!this.#allowClick) {\n this.#allowClick = true;\n return;\n }\n if (this.#uiManager.getMode() === _util.AnnotationEditorType.STAMP) {\n this.#uiManager.unselectAll();\n return;\n }\n this.#createAndAddNewEditor(event, false);\n }\n pointerdown(event) {\n if (this.#hadPointerDown) {\n this.#hadPointerDown = false;\n return;\n }\n const {\n isMac\n } = _util.FeatureTest.platform;\n if (event.button !== 0 || event.ctrlKey && isMac) {\n return;\n }\n if (event.target !== this.div) {\n return;\n }\n this.#hadPointerDown = true;\n const editor = this.#uiManager.getActive();\n this.#allowClick = !editor || editor.isEmpty();\n }\n findNewParent(editor, x, y) {\n const layer = this.#uiManager.findParent(x, y);\n if (layer === null || layer === this) {\n return false;\n }\n layer.changeParent(editor);\n return true;\n }\n destroy() {\n if (this.#uiManager.getActive()?.parent === this) {\n this.#uiManager.commitOrRemove();\n this.#uiManager.setActiveEditor(null);\n }\n for (const editor of this.#editors.values()) {\n this.#accessibilityManager?.removePointerInTextLayer(editor.contentDiv);\n editor.setParent(null);\n editor.isAttachedToDOM = false;\n editor.div.remove();\n }\n this.div = null;\n this.#editors.clear();\n this.#uiManager.removeLayer(this);\n }\n #cleanup() {\n this.#isCleaningUp = true;\n for (const editor of this.#editors.values()) {\n if (editor.isEmpty()) {\n editor.remove();\n }\n }\n this.#isCleaningUp = false;\n }\n render({\n viewport\n }) {\n this.viewport = viewport;\n (0, _display_utils.setLayerDimensions)(this.div, viewport);\n for (const editor of this.#uiManager.getEditors(this.pageIndex)) {\n this.add(editor);\n }\n this.updateMode();\n }\n update({\n viewport\n }) {\n this.#uiManager.commitOrRemove();\n this.viewport = viewport;\n (0, _display_utils.setLayerDimensions)(this.div, {\n rotation: viewport.rotation\n });\n this.updateMode();\n }\n get pageDimensions() {\n const {\n pageWidth,\n pageHeight\n } = this.viewport.rawDims;\n return [pageWidth, pageHeight];\n }\n}\nexports.AnnotationEditorLayer = AnnotationEditorLayer;\n\n/***/ }),\n/* 28 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.FreeTextEditor = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _tools = __w_pdfjs_require__(5);\nvar _editor = __w_pdfjs_require__(4);\nvar _annotation_layer = __w_pdfjs_require__(29);\nclass FreeTextEditor extends _editor.AnnotationEditor {\n #boundEditorDivBlur = this.editorDivBlur.bind(this);\n #boundEditorDivFocus = this.editorDivFocus.bind(this);\n #boundEditorDivInput = this.editorDivInput.bind(this);\n #boundEditorDivKeydown = this.editorDivKeydown.bind(this);\n #color;\n #content = \"\";\n #editorDivId = `${this.id}-editor`;\n #fontSize;\n #initialData = null;\n static _freeTextDefaultContent = \"\";\n static _internalPadding = 0;\n static _defaultColor = null;\n static _defaultFontSize = 10;\n static get _keyboardManager() {\n const proto = FreeTextEditor.prototype;\n const arrowChecker = self => self.isEmpty();\n const small = _tools.AnnotationEditorUIManager.TRANSLATE_SMALL;\n const big = _tools.AnnotationEditorUIManager.TRANSLATE_BIG;\n return (0, _util.shadow)(this, \"_keyboardManager\", new _tools.KeyboardManager([[[\"ctrl+s\", \"mac+meta+s\", \"ctrl+p\", \"mac+meta+p\"], proto.commitOrRemove, {\n bubbles: true\n }], [[\"ctrl+Enter\", \"mac+meta+Enter\", \"Escape\", \"mac+Escape\"], proto.commitOrRemove], [[\"ArrowLeft\", \"mac+ArrowLeft\"], proto._translateEmpty, {\n args: [-small, 0],\n checker: arrowChecker\n }], [[\"ctrl+ArrowLeft\", \"mac+shift+ArrowLeft\"], proto._translateEmpty, {\n args: [-big, 0],\n checker: arrowChecker\n }], [[\"ArrowRight\", \"mac+ArrowRight\"], proto._translateEmpty, {\n args: [small, 0],\n checker: arrowChecker\n }], [[\"ctrl+ArrowRight\", \"mac+shift+ArrowRight\"], proto._translateEmpty, {\n args: [big, 0],\n checker: arrowChecker\n }], [[\"ArrowUp\", \"mac+ArrowUp\"], proto._translateEmpty, {\n args: [0, -small],\n checker: arrowChecker\n }], [[\"ctrl+ArrowUp\", \"mac+shift+ArrowUp\"], proto._translateEmpty, {\n args: [0, -big],\n checker: arrowChecker\n }], [[\"ArrowDown\", \"mac+ArrowDown\"], proto._translateEmpty, {\n args: [0, small],\n checker: arrowChecker\n }], [[\"ctrl+ArrowDown\", \"mac+shift+ArrowDown\"], proto._translateEmpty, {\n args: [0, big],\n checker: arrowChecker\n }]]));\n }\n static _type = \"freetext\";\n constructor(params) {\n super({\n ...params,\n name: \"freeTextEditor\"\n });\n this.#color = params.color || FreeTextEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor;\n this.#fontSize = params.fontSize || FreeTextEditor._defaultFontSize;\n }\n static initialize(l10n) {\n _editor.AnnotationEditor.initialize(l10n, {\n strings: [\"free_text2_default_content\", \"editor_free_text2_aria_label\"]\n });\n const style = getComputedStyle(document.documentElement);\n this._internalPadding = parseFloat(style.getPropertyValue(\"--freetext-padding\"));\n }\n static updateDefaultParams(type, value) {\n switch (type) {\n case _util.AnnotationEditorParamsType.FREETEXT_SIZE:\n FreeTextEditor._defaultFontSize = value;\n break;\n case _util.AnnotationEditorParamsType.FREETEXT_COLOR:\n FreeTextEditor._defaultColor = value;\n break;\n }\n }\n updateParams(type, value) {\n switch (type) {\n case _util.AnnotationEditorParamsType.FREETEXT_SIZE:\n this.#updateFontSize(value);\n break;\n case _util.AnnotationEditorParamsType.FREETEXT_COLOR:\n this.#updateColor(value);\n break;\n }\n }\n static get defaultPropertiesToUpdate() {\n return [[_util.AnnotationEditorParamsType.FREETEXT_SIZE, FreeTextEditor._defaultFontSize], [_util.AnnotationEditorParamsType.FREETEXT_COLOR, FreeTextEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor]];\n }\n get propertiesToUpdate() {\n return [[_util.AnnotationEditorParamsType.FREETEXT_SIZE, this.#fontSize], [_util.AnnotationEditorParamsType.FREETEXT_COLOR, this.#color]];\n }\n #updateFontSize(fontSize) {\n const setFontsize = size => {\n this.editorDiv.style.fontSize = `calc(${size}px * var(--scale-factor))`;\n this.translate(0, -(size - this.#fontSize) * this.parentScale);\n this.#fontSize = size;\n this.#setEditorDimensions();\n };\n const savedFontsize = this.#fontSize;\n this.addCommands({\n cmd: () => {\n setFontsize(fontSize);\n },\n undo: () => {\n setFontsize(savedFontsize);\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.FREETEXT_SIZE,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n #updateColor(color) {\n const savedColor = this.#color;\n this.addCommands({\n cmd: () => {\n this.#color = this.editorDiv.style.color = color;\n },\n undo: () => {\n this.#color = this.editorDiv.style.color = savedColor;\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.FREETEXT_COLOR,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n _translateEmpty(x, y) {\n this._uiManager.translateSelectedEditors(x, y, true);\n }\n getInitialTranslation() {\n const scale = this.parentScale;\n return [-FreeTextEditor._internalPadding * scale, -(FreeTextEditor._internalPadding + this.#fontSize) * scale];\n }\n rebuild() {\n if (!this.parent) {\n return;\n }\n super.rebuild();\n if (this.div === null) {\n return;\n }\n if (!this.isAttachedToDOM) {\n this.parent.add(this);\n }\n }\n enableEditMode() {\n if (this.isInEditMode()) {\n return;\n }\n this.parent.setEditingState(false);\n this.parent.updateToolbar(_util.AnnotationEditorType.FREETEXT);\n super.enableEditMode();\n this.overlayDiv.classList.remove(\"enabled\");\n this.editorDiv.contentEditable = true;\n this._isDraggable = false;\n this.div.removeAttribute(\"aria-activedescendant\");\n this.editorDiv.addEventListener(\"keydown\", this.#boundEditorDivKeydown);\n this.editorDiv.addEventListener(\"focus\", this.#boundEditorDivFocus);\n this.editorDiv.addEventListener(\"blur\", this.#boundEditorDivBlur);\n this.editorDiv.addEventListener(\"input\", this.#boundEditorDivInput);\n }\n disableEditMode() {\n if (!this.isInEditMode()) {\n return;\n }\n this.parent.setEditingState(true);\n super.disableEditMode();\n this.overlayDiv.classList.add(\"enabled\");\n this.editorDiv.contentEditable = false;\n this.div.setAttribute(\"aria-activedescendant\", this.#editorDivId);\n this._isDraggable = true;\n this.editorDiv.removeEventListener(\"keydown\", this.#boundEditorDivKeydown);\n this.editorDiv.removeEventListener(\"focus\", this.#boundEditorDivFocus);\n this.editorDiv.removeEventListener(\"blur\", this.#boundEditorDivBlur);\n this.editorDiv.removeEventListener(\"input\", this.#boundEditorDivInput);\n this.div.focus({\n preventScroll: true\n });\n this.isEditing = false;\n this.parent.div.classList.add(\"freeTextEditing\");\n }\n focusin(event) {\n if (!this._focusEventsAllowed) {\n return;\n }\n super.focusin(event);\n if (event.target !== this.editorDiv) {\n this.editorDiv.focus();\n }\n }\n onceAdded() {\n if (this.width) {\n this.#cheatInitialRect();\n return;\n }\n this.enableEditMode();\n this.editorDiv.focus();\n if (this._initialOptions?.isCentered) {\n this.center();\n }\n this._initialOptions = null;\n }\n isEmpty() {\n return !this.editorDiv || this.editorDiv.innerText.trim() === \"\";\n }\n remove() {\n this.isEditing = false;\n if (this.parent) {\n this.parent.setEditingState(true);\n this.parent.div.classList.add(\"freeTextEditing\");\n }\n super.remove();\n }\n #extractText() {\n const divs = this.editorDiv.getElementsByTagName(\"div\");\n if (divs.length === 0) {\n return this.editorDiv.innerText;\n }\n const buffer = [];\n for (const div of divs) {\n buffer.push(div.innerText.replace(/\\r\\n?|\\n/, \"\"));\n }\n return buffer.join(\"\\n\");\n }\n #setEditorDimensions() {\n const [parentWidth, parentHeight] = this.parentDimensions;\n let rect;\n if (this.isAttachedToDOM) {\n rect = this.div.getBoundingClientRect();\n } else {\n const {\n currentLayer,\n div\n } = this;\n const savedDisplay = div.style.display;\n div.style.display = \"hidden\";\n currentLayer.div.append(this.div);\n rect = div.getBoundingClientRect();\n div.remove();\n div.style.display = savedDisplay;\n }\n if (this.rotation % 180 === this.parentRotation % 180) {\n this.width = rect.width / parentWidth;\n this.height = rect.height / parentHeight;\n } else {\n this.width = rect.height / parentWidth;\n this.height = rect.width / parentHeight;\n }\n this.fixAndSetPosition();\n }\n commit() {\n if (!this.isInEditMode()) {\n return;\n }\n super.commit();\n this.disableEditMode();\n const savedText = this.#content;\n const newText = this.#content = this.#extractText().trimEnd();\n if (savedText === newText) {\n return;\n }\n const setText = text => {\n this.#content = text;\n if (!text) {\n this.remove();\n return;\n }\n this.#setContent();\n this._uiManager.rebuild(this);\n this.#setEditorDimensions();\n };\n this.addCommands({\n cmd: () => {\n setText(newText);\n },\n undo: () => {\n setText(savedText);\n },\n mustExec: false\n });\n this.#setEditorDimensions();\n }\n shouldGetKeyboardEvents() {\n return this.isInEditMode();\n }\n enterInEditMode() {\n this.enableEditMode();\n this.editorDiv.focus();\n }\n dblclick(event) {\n this.enterInEditMode();\n }\n keydown(event) {\n if (event.target === this.div && event.key === \"Enter\") {\n this.enterInEditMode();\n event.preventDefault();\n }\n }\n editorDivKeydown(event) {\n FreeTextEditor._keyboardManager.exec(this, event);\n }\n editorDivFocus(event) {\n this.isEditing = true;\n }\n editorDivBlur(event) {\n this.isEditing = false;\n }\n editorDivInput(event) {\n this.parent.div.classList.toggle(\"freeTextEditing\", this.isEmpty());\n }\n disableEditing() {\n this.editorDiv.setAttribute(\"role\", \"comment\");\n this.editorDiv.removeAttribute(\"aria-multiline\");\n }\n enableEditing() {\n this.editorDiv.setAttribute(\"role\", \"textbox\");\n this.editorDiv.setAttribute(\"aria-multiline\", true);\n }\n render() {\n if (this.div) {\n return this.div;\n }\n let baseX, baseY;\n if (this.width) {\n baseX = this.x;\n baseY = this.y;\n }\n super.render();\n this.editorDiv = document.createElement(\"div\");\n this.editorDiv.className = \"internal\";\n this.editorDiv.setAttribute(\"id\", this.#editorDivId);\n this.enableEditing();\n _editor.AnnotationEditor._l10nPromise.get(\"editor_free_text2_aria_label\").then(msg => this.editorDiv?.setAttribute(\"aria-label\", msg));\n _editor.AnnotationEditor._l10nPromise.get(\"free_text2_default_content\").then(msg => this.editorDiv?.setAttribute(\"default-content\", msg));\n this.editorDiv.contentEditable = true;\n const {\n style\n } = this.editorDiv;\n style.fontSize = `calc(${this.#fontSize}px * var(--scale-factor))`;\n style.color = this.#color;\n this.div.append(this.editorDiv);\n this.overlayDiv = document.createElement(\"div\");\n this.overlayDiv.classList.add(\"overlay\", \"enabled\");\n this.div.append(this.overlayDiv);\n (0, _tools.bindEvents)(this, this.div, [\"dblclick\", \"keydown\"]);\n if (this.width) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n if (this.annotationElementId) {\n const {\n position\n } = this.#initialData;\n let [tx, ty] = this.getInitialTranslation();\n [tx, ty] = this.pageTranslationToScreen(tx, ty);\n const [pageWidth, pageHeight] = this.pageDimensions;\n const [pageX, pageY] = this.pageTranslation;\n let posX, posY;\n switch (this.rotation) {\n case 0:\n posX = baseX + (position[0] - pageX) / pageWidth;\n posY = baseY + this.height - (position[1] - pageY) / pageHeight;\n break;\n case 90:\n posX = baseX + (position[0] - pageX) / pageWidth;\n posY = baseY - (position[1] - pageY) / pageHeight;\n [tx, ty] = [ty, -tx];\n break;\n case 180:\n posX = baseX - this.width + (position[0] - pageX) / pageWidth;\n posY = baseY - (position[1] - pageY) / pageHeight;\n [tx, ty] = [-tx, -ty];\n break;\n case 270:\n posX = baseX + (position[0] - pageX - this.height * pageHeight) / pageWidth;\n posY = baseY + (position[1] - pageY - this.width * pageWidth) / pageHeight;\n [tx, ty] = [-ty, tx];\n break;\n }\n this.setAt(posX * parentWidth, posY * parentHeight, tx, ty);\n } else {\n this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight);\n }\n this.#setContent();\n this._isDraggable = true;\n this.editorDiv.contentEditable = false;\n } else {\n this._isDraggable = false;\n this.editorDiv.contentEditable = true;\n }\n return this.div;\n }\n #setContent() {\n this.editorDiv.replaceChildren();\n if (!this.#content) {\n return;\n }\n for (const line of this.#content.split(\"\\n\")) {\n const div = document.createElement(\"div\");\n div.append(line ? document.createTextNode(line) : document.createElement(\"br\"));\n this.editorDiv.append(div);\n }\n }\n get contentDiv() {\n return this.editorDiv;\n }\n static deserialize(data, parent, uiManager) {\n let initialData = null;\n if (data instanceof _annotation_layer.FreeTextAnnotationElement) {\n const {\n data: {\n defaultAppearanceData: {\n fontSize,\n fontColor\n },\n rect,\n rotation,\n id\n },\n textContent,\n textPosition,\n parent: {\n page: {\n pageNumber\n }\n }\n } = data;\n if (!textContent || textContent.length === 0) {\n return null;\n }\n initialData = data = {\n annotationType: _util.AnnotationEditorType.FREETEXT,\n color: Array.from(fontColor),\n fontSize,\n value: textContent.join(\"\\n\"),\n position: textPosition,\n pageIndex: pageNumber - 1,\n rect,\n rotation,\n id,\n deleted: false\n };\n }\n const editor = super.deserialize(data, parent, uiManager);\n editor.#fontSize = data.fontSize;\n editor.#color = _util.Util.makeHexColor(...data.color);\n editor.#content = data.value;\n editor.annotationElementId = data.id || null;\n editor.#initialData = initialData;\n return editor;\n }\n serialize(isForCopying = false) {\n if (this.isEmpty()) {\n return null;\n }\n if (this.deleted) {\n return {\n pageIndex: this.pageIndex,\n id: this.annotationElementId,\n deleted: true\n };\n }\n const padding = FreeTextEditor._internalPadding * this.parentScale;\n const rect = this.getRect(padding, padding);\n const color = _editor.AnnotationEditor._colorManager.convert(this.isAttachedToDOM ? getComputedStyle(this.editorDiv).color : this.#color);\n const serialized = {\n annotationType: _util.AnnotationEditorType.FREETEXT,\n color,\n fontSize: this.#fontSize,\n value: this.#content,\n pageIndex: this.pageIndex,\n rect,\n rotation: this.rotation,\n structTreeParentId: this._structTreeParentId\n };\n if (isForCopying) {\n return serialized;\n }\n if (this.annotationElementId && !this.#hasElementChanged(serialized)) {\n return null;\n }\n serialized.id = this.annotationElementId;\n return serialized;\n }\n #hasElementChanged(serialized) {\n const {\n value,\n fontSize,\n color,\n rect,\n pageIndex\n } = this.#initialData;\n return serialized.value !== value || serialized.fontSize !== fontSize || serialized.rect.some((x, i) => Math.abs(x - rect[i]) >= 1) || serialized.color.some((c, i) => c !== color[i]) || serialized.pageIndex !== pageIndex;\n }\n #cheatInitialRect(delayed = false) {\n if (!this.annotationElementId) {\n return;\n }\n this.#setEditorDimensions();\n if (!delayed && (this.width === 0 || this.height === 0)) {\n setTimeout(() => this.#cheatInitialRect(true), 0);\n return;\n }\n const padding = FreeTextEditor._internalPadding * this.parentScale;\n this.#initialData.rect = this.getRect(padding, padding);\n }\n}\nexports.FreeTextEditor = FreeTextEditor;\n\n/***/ }),\n/* 29 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.StampAnnotationElement = exports.InkAnnotationElement = exports.FreeTextAnnotationElement = exports.AnnotationLayer = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _display_utils = __w_pdfjs_require__(6);\nvar _annotation_storage = __w_pdfjs_require__(3);\nvar _scripting_utils = __w_pdfjs_require__(30);\nvar _displayL10n_utils = __w_pdfjs_require__(31);\nvar _xfa_layer = __w_pdfjs_require__(32);\nconst DEFAULT_TAB_INDEX = 1000;\nconst DEFAULT_FONT_SIZE = 9;\nconst GetElementsByNameSet = new WeakSet();\nfunction getRectDims(rect) {\n return {\n width: rect[2] - rect[0],\n height: rect[3] - rect[1]\n };\n}\nclass AnnotationElementFactory {\n static create(parameters) {\n const subtype = parameters.data.annotationType;\n switch (subtype) {\n case _util.AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n case _util.AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n case _util.AnnotationType.WIDGET:\n const fieldType = parameters.data.fieldType;\n switch (fieldType) {\n case \"Tx\":\n return new TextWidgetAnnotationElement(parameters);\n case \"Btn\":\n if (parameters.data.radioButton) {\n return new RadioButtonWidgetAnnotationElement(parameters);\n } else if (parameters.data.checkBox) {\n return new CheckboxWidgetAnnotationElement(parameters);\n }\n return new PushButtonWidgetAnnotationElement(parameters);\n case \"Ch\":\n return new ChoiceWidgetAnnotationElement(parameters);\n case \"Sig\":\n return new SignatureWidgetAnnotationElement(parameters);\n }\n return new WidgetAnnotationElement(parameters);\n case _util.AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n case _util.AnnotationType.FREETEXT:\n return new FreeTextAnnotationElement(parameters);\n case _util.AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n case _util.AnnotationType.SQUARE:\n return new SquareAnnotationElement(parameters);\n case _util.AnnotationType.CIRCLE:\n return new CircleAnnotationElement(parameters);\n case _util.AnnotationType.POLYLINE:\n return new PolylineAnnotationElement(parameters);\n case _util.AnnotationType.CARET:\n return new CaretAnnotationElement(parameters);\n case _util.AnnotationType.INK:\n return new InkAnnotationElement(parameters);\n case _util.AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n case _util.AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n case _util.AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n case _util.AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n case _util.AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n case _util.AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n case _util.AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n default:\n return new AnnotationElement(parameters);\n }\n }\n}\nclass AnnotationElement {\n #hasBorder = false;\n constructor(parameters, {\n isRenderable = false,\n ignoreBorder = false,\n createQuadrilaterals = false\n } = {}) {\n this.isRenderable = isRenderable;\n this.data = parameters.data;\n this.layer = parameters.layer;\n this.linkService = parameters.linkService;\n this.downloadManager = parameters.downloadManager;\n this.imageResourcesPath = parameters.imageResourcesPath;\n this.renderForms = parameters.renderForms;\n this.svgFactory = parameters.svgFactory;\n this.annotationStorage = parameters.annotationStorage;\n this.enableScripting = parameters.enableScripting;\n this.hasJSActions = parameters.hasJSActions;\n this._fieldObjects = parameters.fieldObjects;\n this.parent = parameters.parent;\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n if (createQuadrilaterals) {\n this._createQuadrilaterals();\n }\n }\n static _hasPopupData({\n titleObj,\n contentsObj,\n richText\n }) {\n return !!(titleObj?.str || contentsObj?.str || richText?.str);\n }\n get hasPopupData() {\n return AnnotationElement._hasPopupData(this.data);\n }\n _createContainer(ignoreBorder) {\n const {\n data,\n parent: {\n page,\n viewport\n }\n } = this;\n const container = document.createElement(\"section\");\n container.setAttribute(\"data-annotation-id\", data.id);\n if (!(this instanceof WidgetAnnotationElement)) {\n container.tabIndex = DEFAULT_TAB_INDEX;\n }\n container.style.zIndex = this.parent.zIndex++;\n if (this.data.popupRef) {\n container.setAttribute(\"aria-haspopup\", \"dialog\");\n }\n if (data.noRotate) {\n container.classList.add(\"norotate\");\n }\n const {\n pageWidth,\n pageHeight,\n pageX,\n pageY\n } = viewport.rawDims;\n if (!data.rect || this instanceof PopupAnnotationElement) {\n const {\n rotation\n } = data;\n if (!data.hasOwnCanvas && rotation !== 0) {\n this.setRotation(rotation, container);\n }\n return container;\n }\n const {\n width,\n height\n } = getRectDims(data.rect);\n const rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = `${data.borderStyle.width}px`;\n const horizontalRadius = data.borderStyle.horizontalCornerRadius;\n const verticalRadius = data.borderStyle.verticalCornerRadius;\n if (horizontalRadius > 0 || verticalRadius > 0) {\n const radius = `calc(${horizontalRadius}px * var(--scale-factor)) / calc(${verticalRadius}px * var(--scale-factor))`;\n container.style.borderRadius = radius;\n } else if (this instanceof RadioButtonWidgetAnnotationElement) {\n const radius = `calc(${width}px * var(--scale-factor)) / calc(${height}px * var(--scale-factor))`;\n container.style.borderRadius = radius;\n }\n switch (data.borderStyle.style) {\n case _util.AnnotationBorderStyleType.SOLID:\n container.style.borderStyle = \"solid\";\n break;\n case _util.AnnotationBorderStyleType.DASHED:\n container.style.borderStyle = \"dashed\";\n break;\n case _util.AnnotationBorderStyleType.BEVELED:\n (0, _util.warn)(\"Unimplemented border style: beveled\");\n break;\n case _util.AnnotationBorderStyleType.INSET:\n (0, _util.warn)(\"Unimplemented border style: inset\");\n break;\n case _util.AnnotationBorderStyleType.UNDERLINE:\n container.style.borderBottomStyle = \"solid\";\n break;\n default:\n break;\n }\n const borderColor = data.borderColor || null;\n if (borderColor) {\n this.#hasBorder = true;\n container.style.borderColor = _util.Util.makeHexColor(borderColor[0] | 0, borderColor[1] | 0, borderColor[2] | 0);\n } else {\n container.style.borderWidth = 0;\n }\n }\n container.style.left = `${100 * (rect[0] - pageX) / pageWidth}%`;\n container.style.top = `${100 * (rect[1] - pageY) / pageHeight}%`;\n const {\n rotation\n } = data;\n if (data.hasOwnCanvas || rotation === 0) {\n container.style.width = `${100 * width / pageWidth}%`;\n container.style.height = `${100 * height / pageHeight}%`;\n } else {\n this.setRotation(rotation, container);\n }\n return container;\n }\n setRotation(angle, container = this.container) {\n if (!this.data.rect) {\n return;\n }\n const {\n pageWidth,\n pageHeight\n } = this.parent.viewport.rawDims;\n const {\n width,\n height\n } = getRectDims(this.data.rect);\n let elementWidth, elementHeight;\n if (angle % 180 === 0) {\n elementWidth = 100 * width / pageWidth;\n elementHeight = 100 * height / pageHeight;\n } else {\n elementWidth = 100 * height / pageWidth;\n elementHeight = 100 * width / pageHeight;\n }\n container.style.width = `${elementWidth}%`;\n container.style.height = `${elementHeight}%`;\n container.setAttribute(\"data-main-rotation\", (360 - angle) % 360);\n }\n get _commonActions() {\n const setColor = (jsName, styleName, event) => {\n const color = event.detail[jsName];\n const colorType = color[0];\n const colorArray = color.slice(1);\n event.target.style[styleName] = _scripting_utils.ColorConverters[`${colorType}_HTML`](colorArray);\n this.annotationStorage.setValue(this.data.id, {\n [styleName]: _scripting_utils.ColorConverters[`${colorType}_rgb`](colorArray)\n });\n };\n return (0, _util.shadow)(this, \"_commonActions\", {\n display: event => {\n const {\n display\n } = event.detail;\n const hidden = display % 2 === 1;\n this.container.style.visibility = hidden ? \"hidden\" : \"visible\";\n this.annotationStorage.setValue(this.data.id, {\n noView: hidden,\n noPrint: display === 1 || display === 2\n });\n },\n print: event => {\n this.annotationStorage.setValue(this.data.id, {\n noPrint: !event.detail.print\n });\n },\n hidden: event => {\n const {\n hidden\n } = event.detail;\n this.container.style.visibility = hidden ? \"hidden\" : \"visible\";\n this.annotationStorage.setValue(this.data.id, {\n noPrint: hidden,\n noView: hidden\n });\n },\n focus: event => {\n setTimeout(() => event.target.focus({\n preventScroll: false\n }), 0);\n },\n userName: event => {\n event.target.title = event.detail.userName;\n },\n readonly: event => {\n event.target.disabled = event.detail.readonly;\n },\n required: event => {\n this._setRequired(event.target, event.detail.required);\n },\n bgColor: event => {\n setColor(\"bgColor\", \"backgroundColor\", event);\n },\n fillColor: event => {\n setColor(\"fillColor\", \"backgroundColor\", event);\n },\n fgColor: event => {\n setColor(\"fgColor\", \"color\", event);\n },\n textColor: event => {\n setColor(\"textColor\", \"color\", event);\n },\n borderColor: event => {\n setColor(\"borderColor\", \"borderColor\", event);\n },\n strokeColor: event => {\n setColor(\"strokeColor\", \"borderColor\", event);\n },\n rotation: event => {\n const angle = event.detail.rotation;\n this.setRotation(angle);\n this.annotationStorage.setValue(this.data.id, {\n rotation: angle\n });\n }\n });\n }\n _dispatchEventFromSandbox(actions, jsEvent) {\n const commonActions = this._commonActions;\n for (const name of Object.keys(jsEvent.detail)) {\n const action = actions[name] || commonActions[name];\n action?.(jsEvent);\n }\n }\n _setDefaultPropertiesFromJS(element) {\n if (!this.enableScripting) {\n return;\n }\n const storedData = this.annotationStorage.getRawValue(this.data.id);\n if (!storedData) {\n return;\n }\n const commonActions = this._commonActions;\n for (const [actionName, detail] of Object.entries(storedData)) {\n const action = commonActions[actionName];\n if (action) {\n const eventProxy = {\n detail: {\n [actionName]: detail\n },\n target: element\n };\n action(eventProxy);\n delete storedData[actionName];\n }\n }\n }\n _createQuadrilaterals() {\n if (!this.container) {\n return;\n }\n const {\n quadPoints\n } = this.data;\n if (!quadPoints) {\n return;\n }\n const [rectBlX, rectBlY, rectTrX, rectTrY] = this.data.rect;\n if (quadPoints.length === 1) {\n const [, {\n x: trX,\n y: trY\n }, {\n x: blX,\n y: blY\n }] = quadPoints[0];\n if (rectTrX === trX && rectTrY === trY && rectBlX === blX && rectBlY === blY) {\n return;\n }\n }\n const {\n style\n } = this.container;\n let svgBuffer;\n if (this.#hasBorder) {\n const {\n borderColor,\n borderWidth\n } = style;\n style.borderWidth = 0;\n svgBuffer = [\"url('data:image/svg+xml;utf8,\", `')`);\n style.backgroundImage = svgBuffer.join(\"\");\n }\n this.container.append(svg);\n this.container.style.clipPath = `url(#${id})`;\n }\n _createPopup() {\n const {\n container,\n data\n } = this;\n container.setAttribute(\"aria-haspopup\", \"dialog\");\n const popup = new PopupAnnotationElement({\n data: {\n color: data.color,\n titleObj: data.titleObj,\n modificationDate: data.modificationDate,\n contentsObj: data.contentsObj,\n richText: data.richText,\n parentRect: data.rect,\n borderStyle: 0,\n id: `popup_${data.id}`,\n rotation: data.rotation\n },\n parent: this.parent,\n elements: [this]\n });\n this.parent.div.append(popup.render());\n }\n render() {\n (0, _util.unreachable)(\"Abstract method `AnnotationElement.render` called\");\n }\n _getElementsByName(name, skipId = null) {\n const fields = [];\n if (this._fieldObjects) {\n const fieldObj = this._fieldObjects[name];\n if (fieldObj) {\n for (const {\n page,\n id,\n exportValues\n } of fieldObj) {\n if (page === -1) {\n continue;\n }\n if (id === skipId) {\n continue;\n }\n const exportValue = typeof exportValues === \"string\" ? exportValues : null;\n const domElement = document.querySelector(`[data-element-id=\"${id}\"]`);\n if (domElement && !GetElementsByNameSet.has(domElement)) {\n (0, _util.warn)(`_getElementsByName - element not allowed: ${id}`);\n continue;\n }\n fields.push({\n id,\n exportValue,\n domElement\n });\n }\n }\n return fields;\n }\n for (const domElement of document.getElementsByName(name)) {\n const {\n exportValue\n } = domElement;\n const id = domElement.getAttribute(\"data-element-id\");\n if (id === skipId) {\n continue;\n }\n if (!GetElementsByNameSet.has(domElement)) {\n continue;\n }\n fields.push({\n id,\n exportValue,\n domElement\n });\n }\n return fields;\n }\n show() {\n if (this.container) {\n this.container.hidden = false;\n }\n this.popup?.maybeShow();\n }\n hide() {\n if (this.container) {\n this.container.hidden = true;\n }\n this.popup?.forceHide();\n }\n getElementsToTriggerPopup() {\n return this.container;\n }\n addHighlightArea() {\n const triggers = this.getElementsToTriggerPopup();\n if (Array.isArray(triggers)) {\n for (const element of triggers) {\n element.classList.add(\"highlightArea\");\n }\n } else {\n triggers.classList.add(\"highlightArea\");\n }\n }\n _editOnDoubleClick() {\n const {\n annotationEditorType: mode,\n data: {\n id: editId\n }\n } = this;\n this.container.addEventListener(\"dblclick\", () => {\n this.linkService.eventBus?.dispatch(\"switchannotationeditormode\", {\n source: this,\n mode,\n editId\n });\n });\n }\n}\nclass LinkAnnotationElement extends AnnotationElement {\n constructor(parameters, options = null) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: !!options?.ignoreBorder,\n createQuadrilaterals: true\n });\n this.isTooltipOnly = parameters.data.isTooltipOnly;\n }\n render() {\n const {\n data,\n linkService\n } = this;\n const link = document.createElement(\"a\");\n link.setAttribute(\"data-element-id\", data.id);\n let isBound = false;\n if (data.url) {\n linkService.addLinkAttributes(link, data.url, data.newWindow);\n isBound = true;\n } else if (data.action) {\n this._bindNamedAction(link, data.action);\n isBound = true;\n } else if (data.attachment) {\n this._bindAttachment(link, data.attachment);\n isBound = true;\n } else if (data.setOCGState) {\n this.#bindSetOCGState(link, data.setOCGState);\n isBound = true;\n } else if (data.dest) {\n this._bindLink(link, data.dest);\n isBound = true;\n } else {\n if (data.actions && (data.actions.Action || data.actions[\"Mouse Up\"] || data.actions[\"Mouse Down\"]) && this.enableScripting && this.hasJSActions) {\n this._bindJSAction(link, data);\n isBound = true;\n }\n if (data.resetForm) {\n this._bindResetFormAction(link, data.resetForm);\n isBound = true;\n } else if (this.isTooltipOnly && !isBound) {\n this._bindLink(link, \"\");\n isBound = true;\n }\n }\n this.container.classList.add(\"linkAnnotation\");\n if (isBound) {\n this.container.append(link);\n }\n return this.container;\n }\n #setInternalLink() {\n this.container.setAttribute(\"data-internal-link\", \"\");\n }\n _bindLink(link, destination) {\n link.href = this.linkService.getDestinationHash(destination);\n link.onclick = () => {\n if (destination) {\n this.linkService.goToDestination(destination);\n }\n return false;\n };\n if (destination || destination === \"\") {\n this.#setInternalLink();\n }\n }\n _bindNamedAction(link, action) {\n link.href = this.linkService.getAnchorUrl(\"\");\n link.onclick = () => {\n this.linkService.executeNamedAction(action);\n return false;\n };\n this.#setInternalLink();\n }\n _bindAttachment(link, attachment) {\n link.href = this.linkService.getAnchorUrl(\"\");\n link.onclick = () => {\n this.downloadManager?.openOrDownloadData(this.container, attachment.content, attachment.filename);\n return false;\n };\n this.#setInternalLink();\n }\n #bindSetOCGState(link, action) {\n link.href = this.linkService.getAnchorUrl(\"\");\n link.onclick = () => {\n this.linkService.executeSetOCGState(action);\n return false;\n };\n this.#setInternalLink();\n }\n _bindJSAction(link, data) {\n link.href = this.linkService.getAnchorUrl(\"\");\n const map = new Map([[\"Action\", \"onclick\"], [\"Mouse Up\", \"onmouseup\"], [\"Mouse Down\", \"onmousedown\"]]);\n for (const name of Object.keys(data.actions)) {\n const jsName = map.get(name);\n if (!jsName) {\n continue;\n }\n link[jsName] = () => {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: data.id,\n name\n }\n });\n return false;\n };\n }\n if (!link.onclick) {\n link.onclick = () => false;\n }\n this.#setInternalLink();\n }\n _bindResetFormAction(link, resetForm) {\n const otherClickAction = link.onclick;\n if (!otherClickAction) {\n link.href = this.linkService.getAnchorUrl(\"\");\n }\n this.#setInternalLink();\n if (!this._fieldObjects) {\n (0, _util.warn)(`_bindResetFormAction - \"resetForm\" action not supported, ` + \"ensure that the `fieldObjects` parameter is provided.\");\n if (!otherClickAction) {\n link.onclick = () => false;\n }\n return;\n }\n link.onclick = () => {\n otherClickAction?.();\n const {\n fields: resetFormFields,\n refs: resetFormRefs,\n include\n } = resetForm;\n const allFields = [];\n if (resetFormFields.length !== 0 || resetFormRefs.length !== 0) {\n const fieldIds = new Set(resetFormRefs);\n for (const fieldName of resetFormFields) {\n const fields = this._fieldObjects[fieldName] || [];\n for (const {\n id\n } of fields) {\n fieldIds.add(id);\n }\n }\n for (const fields of Object.values(this._fieldObjects)) {\n for (const field of fields) {\n if (fieldIds.has(field.id) === include) {\n allFields.push(field);\n }\n }\n }\n } else {\n for (const fields of Object.values(this._fieldObjects)) {\n allFields.push(...fields);\n }\n }\n const storage = this.annotationStorage;\n const allIds = [];\n for (const field of allFields) {\n const {\n id\n } = field;\n allIds.push(id);\n switch (field.type) {\n case \"text\":\n {\n const value = field.defaultValue || \"\";\n storage.setValue(id, {\n value\n });\n break;\n }\n case \"checkbox\":\n case \"radiobutton\":\n {\n const value = field.defaultValue === field.exportValues;\n storage.setValue(id, {\n value\n });\n break;\n }\n case \"combobox\":\n case \"listbox\":\n {\n const value = field.defaultValue || \"\";\n storage.setValue(id, {\n value\n });\n break;\n }\n default:\n continue;\n }\n const domElement = document.querySelector(`[data-element-id=\"${id}\"]`);\n if (!domElement) {\n continue;\n } else if (!GetElementsByNameSet.has(domElement)) {\n (0, _util.warn)(`_bindResetFormAction - element not allowed: ${id}`);\n continue;\n }\n domElement.dispatchEvent(new Event(\"resetform\"));\n }\n if (this.enableScripting) {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: \"app\",\n ids: allIds,\n name: \"ResetForm\"\n }\n });\n }\n return false;\n };\n }\n}\nclass TextAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true\n });\n }\n render() {\n this.container.classList.add(\"textAnnotation\");\n const image = document.createElement(\"img\");\n image.src = this.imageResourcesPath + \"annotation-\" + this.data.name.toLowerCase() + \".svg\";\n image.alt = \"[{{type}} Annotation]\";\n image.dataset.l10nId = \"text_annotation_type\";\n image.dataset.l10nArgs = JSON.stringify({\n type: this.data.name\n });\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this.container.append(image);\n return this.container;\n }\n}\nclass WidgetAnnotationElement extends AnnotationElement {\n render() {\n if (this.data.alternativeText) {\n this.container.title = this.data.alternativeText;\n }\n return this.container;\n }\n showElementAndHideCanvas(element) {\n if (this.data.hasOwnCanvas) {\n if (element.previousSibling?.nodeName === \"CANVAS\") {\n element.previousSibling.hidden = true;\n }\n element.hidden = false;\n }\n }\n _getKeyModifier(event) {\n const {\n isWin,\n isMac\n } = _util.FeatureTest.platform;\n return isWin && event.ctrlKey || isMac && event.metaKey;\n }\n _setEventListener(element, elementData, baseName, eventName, valueGetter) {\n if (baseName.includes(\"mouse\")) {\n element.addEventListener(baseName, event => {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: this.data.id,\n name: eventName,\n value: valueGetter(event),\n shift: event.shiftKey,\n modifier: this._getKeyModifier(event)\n }\n });\n });\n } else {\n element.addEventListener(baseName, event => {\n if (baseName === \"blur\") {\n if (!elementData.focused || !event.relatedTarget) {\n return;\n }\n elementData.focused = false;\n } else if (baseName === \"focus\") {\n if (elementData.focused) {\n return;\n }\n elementData.focused = true;\n }\n if (!valueGetter) {\n return;\n }\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: this.data.id,\n name: eventName,\n value: valueGetter(event)\n }\n });\n });\n }\n }\n _setEventListeners(element, elementData, names, getter) {\n for (const [baseName, eventName] of names) {\n if (eventName === \"Action\" || this.data.actions?.[eventName]) {\n if (eventName === \"Focus\" || eventName === \"Blur\") {\n elementData ||= {\n focused: false\n };\n }\n this._setEventListener(element, elementData, baseName, eventName, getter);\n if (eventName === \"Focus\" && !this.data.actions?.Blur) {\n this._setEventListener(element, elementData, \"blur\", \"Blur\", null);\n } else if (eventName === \"Blur\" && !this.data.actions?.Focus) {\n this._setEventListener(element, elementData, \"focus\", \"Focus\", null);\n }\n }\n }\n }\n _setBackgroundColor(element) {\n const color = this.data.backgroundColor || null;\n element.style.backgroundColor = color === null ? \"transparent\" : _util.Util.makeHexColor(color[0], color[1], color[2]);\n }\n _setTextStyle(element) {\n const TEXT_ALIGNMENT = [\"left\", \"center\", \"right\"];\n const {\n fontColor\n } = this.data.defaultAppearanceData;\n const fontSize = this.data.defaultAppearanceData.fontSize || DEFAULT_FONT_SIZE;\n const style = element.style;\n let computedFontSize;\n const BORDER_SIZE = 2;\n const roundToOneDecimal = x => Math.round(10 * x) / 10;\n if (this.data.multiLine) {\n const height = Math.abs(this.data.rect[3] - this.data.rect[1] - BORDER_SIZE);\n const numberOfLines = Math.round(height / (_util.LINE_FACTOR * fontSize)) || 1;\n const lineHeight = height / numberOfLines;\n computedFontSize = Math.min(fontSize, roundToOneDecimal(lineHeight / _util.LINE_FACTOR));\n } else {\n const height = Math.abs(this.data.rect[3] - this.data.rect[1] - BORDER_SIZE);\n computedFontSize = Math.min(fontSize, roundToOneDecimal(height / _util.LINE_FACTOR));\n }\n style.fontSize = `calc(${computedFontSize}px * var(--scale-factor))`;\n style.color = _util.Util.makeHexColor(fontColor[0], fontColor[1], fontColor[2]);\n if (this.data.textAlignment !== null) {\n style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\n }\n _setRequired(element, isRequired) {\n if (isRequired) {\n element.setAttribute(\"required\", true);\n } else {\n element.removeAttribute(\"required\");\n }\n element.setAttribute(\"aria-required\", isRequired);\n }\n}\nclass TextWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n const isRenderable = parameters.renderForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n super(parameters, {\n isRenderable\n });\n }\n setPropertyOnSiblings(base, key, value, keyInStorage) {\n const storage = this.annotationStorage;\n for (const element of this._getElementsByName(base.name, base.id)) {\n if (element.domElement) {\n element.domElement[key] = value;\n }\n storage.setValue(element.id, {\n [keyInStorage]: value\n });\n }\n }\n render() {\n const storage = this.annotationStorage;\n const id = this.data.id;\n this.container.classList.add(\"textWidgetAnnotation\");\n let element = null;\n if (this.renderForms) {\n const storedData = storage.getValue(id, {\n value: this.data.fieldValue\n });\n let textContent = storedData.value || \"\";\n const maxLen = storage.getValue(id, {\n charLimit: this.data.maxLen\n }).charLimit;\n if (maxLen && textContent.length > maxLen) {\n textContent = textContent.slice(0, maxLen);\n }\n let fieldFormattedValues = storedData.formattedValue || this.data.textContent?.join(\"\\n\") || null;\n if (fieldFormattedValues && this.data.comb) {\n fieldFormattedValues = fieldFormattedValues.replaceAll(/\\s+/g, \"\");\n }\n const elementData = {\n userValue: textContent,\n formattedValue: fieldFormattedValues,\n lastCommittedValue: null,\n commitKey: 1,\n focused: false\n };\n if (this.data.multiLine) {\n element = document.createElement(\"textarea\");\n element.textContent = fieldFormattedValues ?? textContent;\n if (this.data.doNotScroll) {\n element.style.overflowY = \"hidden\";\n }\n } else {\n element = document.createElement(\"input\");\n element.type = \"text\";\n element.setAttribute(\"value\", fieldFormattedValues ?? textContent);\n if (this.data.doNotScroll) {\n element.style.overflowX = \"hidden\";\n }\n }\n if (this.data.hasOwnCanvas) {\n element.hidden = true;\n }\n GetElementsByNameSet.add(element);\n element.setAttribute(\"data-element-id\", id);\n element.disabled = this.data.readOnly;\n element.name = this.data.fieldName;\n element.tabIndex = DEFAULT_TAB_INDEX;\n this._setRequired(element, this.data.required);\n if (maxLen) {\n element.maxLength = maxLen;\n }\n element.addEventListener(\"input\", event => {\n storage.setValue(id, {\n value: event.target.value\n });\n this.setPropertyOnSiblings(element, \"value\", event.target.value, \"value\");\n elementData.formattedValue = null;\n });\n element.addEventListener(\"resetform\", event => {\n const defaultValue = this.data.defaultFieldValue ?? \"\";\n element.value = elementData.userValue = defaultValue;\n elementData.formattedValue = null;\n });\n let blurListener = event => {\n const {\n formattedValue\n } = elementData;\n if (formattedValue !== null && formattedValue !== undefined) {\n event.target.value = formattedValue;\n }\n event.target.scrollLeft = 0;\n };\n if (this.enableScripting && this.hasJSActions) {\n element.addEventListener(\"focus\", event => {\n if (elementData.focused) {\n return;\n }\n const {\n target\n } = event;\n if (elementData.userValue) {\n target.value = elementData.userValue;\n }\n elementData.lastCommittedValue = target.value;\n elementData.commitKey = 1;\n elementData.focused = true;\n });\n element.addEventListener(\"updatefromsandbox\", jsEvent => {\n this.showElementAndHideCanvas(jsEvent.target);\n const actions = {\n value(event) {\n elementData.userValue = event.detail.value ?? \"\";\n storage.setValue(id, {\n value: elementData.userValue.toString()\n });\n event.target.value = elementData.userValue;\n },\n formattedValue(event) {\n const {\n formattedValue\n } = event.detail;\n elementData.formattedValue = formattedValue;\n if (formattedValue !== null && formattedValue !== undefined && event.target !== document.activeElement) {\n event.target.value = formattedValue;\n }\n storage.setValue(id, {\n formattedValue\n });\n },\n selRange(event) {\n event.target.setSelectionRange(...event.detail.selRange);\n },\n charLimit: event => {\n const {\n charLimit\n } = event.detail;\n const {\n target\n } = event;\n if (charLimit === 0) {\n target.removeAttribute(\"maxLength\");\n return;\n }\n target.setAttribute(\"maxLength\", charLimit);\n let value = elementData.userValue;\n if (!value || value.length <= charLimit) {\n return;\n }\n value = value.slice(0, charLimit);\n target.value = elementData.userValue = value;\n storage.setValue(id, {\n value\n });\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n willCommit: true,\n commitKey: 1,\n selStart: target.selectionStart,\n selEnd: target.selectionEnd\n }\n });\n }\n };\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n element.addEventListener(\"keydown\", event => {\n elementData.commitKey = 1;\n let commitKey = -1;\n if (event.key === \"Escape\") {\n commitKey = 0;\n } else if (event.key === \"Enter\" && !this.data.multiLine) {\n commitKey = 2;\n } else if (event.key === \"Tab\") {\n elementData.commitKey = 3;\n }\n if (commitKey === -1) {\n return;\n }\n const {\n value\n } = event.target;\n if (elementData.lastCommittedValue === value) {\n return;\n }\n elementData.lastCommittedValue = value;\n elementData.userValue = value;\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n willCommit: true,\n commitKey,\n selStart: event.target.selectionStart,\n selEnd: event.target.selectionEnd\n }\n });\n });\n const _blurListener = blurListener;\n blurListener = null;\n element.addEventListener(\"blur\", event => {\n if (!elementData.focused || !event.relatedTarget) {\n return;\n }\n elementData.focused = false;\n const {\n value\n } = event.target;\n elementData.userValue = value;\n if (elementData.lastCommittedValue !== value) {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n willCommit: true,\n commitKey: elementData.commitKey,\n selStart: event.target.selectionStart,\n selEnd: event.target.selectionEnd\n }\n });\n }\n _blurListener(event);\n });\n if (this.data.actions?.Keystroke) {\n element.addEventListener(\"beforeinput\", event => {\n elementData.lastCommittedValue = null;\n const {\n data,\n target\n } = event;\n const {\n value,\n selectionStart,\n selectionEnd\n } = target;\n let selStart = selectionStart,\n selEnd = selectionEnd;\n switch (event.inputType) {\n case \"deleteWordBackward\":\n {\n const match = value.substring(0, selectionStart).match(/\\w*[^\\w]*$/);\n if (match) {\n selStart -= match[0].length;\n }\n break;\n }\n case \"deleteWordForward\":\n {\n const match = value.substring(selectionStart).match(/^[^\\w]*\\w*/);\n if (match) {\n selEnd += match[0].length;\n }\n break;\n }\n case \"deleteContentBackward\":\n if (selectionStart === selectionEnd) {\n selStart -= 1;\n }\n break;\n case \"deleteContentForward\":\n if (selectionStart === selectionEnd) {\n selEnd += 1;\n }\n break;\n }\n event.preventDefault();\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n change: data || \"\",\n willCommit: false,\n selStart,\n selEnd\n }\n });\n });\n }\n this._setEventListeners(element, elementData, [[\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], event => event.target.value);\n }\n if (blurListener) {\n element.addEventListener(\"blur\", blurListener);\n }\n if (this.data.comb) {\n const fieldWidth = this.data.rect[2] - this.data.rect[0];\n const combWidth = fieldWidth / maxLen;\n element.classList.add(\"comb\");\n element.style.letterSpacing = `calc(${combWidth}px * var(--scale-factor) - 1ch)`;\n }\n } else {\n element = document.createElement(\"div\");\n element.textContent = this.data.fieldValue;\n element.style.verticalAlign = \"middle\";\n element.style.display = \"table-cell\";\n }\n this._setTextStyle(element);\n this._setBackgroundColor(element);\n this._setDefaultPropertiesFromJS(element);\n this.container.append(element);\n return this.container;\n }\n}\nclass SignatureWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: !!parameters.data.hasOwnCanvas\n });\n }\n}\nclass CheckboxWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: parameters.renderForms\n });\n }\n render() {\n const storage = this.annotationStorage;\n const data = this.data;\n const id = data.id;\n let value = storage.getValue(id, {\n value: data.exportValue === data.fieldValue\n }).value;\n if (typeof value === \"string\") {\n value = value !== \"Off\";\n storage.setValue(id, {\n value\n });\n }\n this.container.classList.add(\"buttonWidgetAnnotation\", \"checkBox\");\n const element = document.createElement(\"input\");\n GetElementsByNameSet.add(element);\n element.setAttribute(\"data-element-id\", id);\n element.disabled = data.readOnly;\n this._setRequired(element, this.data.required);\n element.type = \"checkbox\";\n element.name = data.fieldName;\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n element.setAttribute(\"exportValue\", data.exportValue);\n element.tabIndex = DEFAULT_TAB_INDEX;\n element.addEventListener(\"change\", event => {\n const {\n name,\n checked\n } = event.target;\n for (const checkbox of this._getElementsByName(name, id)) {\n const curChecked = checked && checkbox.exportValue === data.exportValue;\n if (checkbox.domElement) {\n checkbox.domElement.checked = curChecked;\n }\n storage.setValue(checkbox.id, {\n value: curChecked\n });\n }\n storage.setValue(id, {\n value: checked\n });\n });\n element.addEventListener(\"resetform\", event => {\n const defaultValue = data.defaultFieldValue || \"Off\";\n event.target.checked = defaultValue === data.exportValue;\n });\n if (this.enableScripting && this.hasJSActions) {\n element.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value(event) {\n event.target.checked = event.detail.value !== \"Off\";\n storage.setValue(id, {\n value: event.target.checked\n });\n }\n };\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n this._setEventListeners(element, null, [[\"change\", \"Validate\"], [\"change\", \"Action\"], [\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], event => event.target.checked);\n }\n this._setBackgroundColor(element);\n this._setDefaultPropertiesFromJS(element);\n this.container.append(element);\n return this.container;\n }\n}\nclass RadioButtonWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: parameters.renderForms\n });\n }\n render() {\n this.container.classList.add(\"buttonWidgetAnnotation\", \"radioButton\");\n const storage = this.annotationStorage;\n const data = this.data;\n const id = data.id;\n let value = storage.getValue(id, {\n value: data.fieldValue === data.buttonValue\n }).value;\n if (typeof value === \"string\") {\n value = value !== data.buttonValue;\n storage.setValue(id, {\n value\n });\n }\n const element = document.createElement(\"input\");\n GetElementsByNameSet.add(element);\n element.setAttribute(\"data-element-id\", id);\n element.disabled = data.readOnly;\n this._setRequired(element, this.data.required);\n element.type = \"radio\";\n element.name = data.fieldName;\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n element.tabIndex = DEFAULT_TAB_INDEX;\n element.addEventListener(\"change\", event => {\n const {\n name,\n checked\n } = event.target;\n for (const radio of this._getElementsByName(name, id)) {\n storage.setValue(radio.id, {\n value: false\n });\n }\n storage.setValue(id, {\n value: checked\n });\n });\n element.addEventListener(\"resetform\", event => {\n const defaultValue = data.defaultFieldValue;\n event.target.checked = defaultValue !== null && defaultValue !== undefined && defaultValue === data.buttonValue;\n });\n if (this.enableScripting && this.hasJSActions) {\n const pdfButtonValue = data.buttonValue;\n element.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value: event => {\n const checked = pdfButtonValue === event.detail.value;\n for (const radio of this._getElementsByName(event.target.name)) {\n const curChecked = checked && radio.id === id;\n if (radio.domElement) {\n radio.domElement.checked = curChecked;\n }\n storage.setValue(radio.id, {\n value: curChecked\n });\n }\n }\n };\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n this._setEventListeners(element, null, [[\"change\", \"Validate\"], [\"change\", \"Action\"], [\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], event => event.target.checked);\n }\n this._setBackgroundColor(element);\n this._setDefaultPropertiesFromJS(element);\n this.container.append(element);\n return this.container;\n }\n}\nclass PushButtonWidgetAnnotationElement extends LinkAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n ignoreBorder: parameters.data.hasAppearance\n });\n }\n render() {\n const container = super.render();\n container.classList.add(\"buttonWidgetAnnotation\", \"pushButton\");\n if (this.data.alternativeText) {\n container.title = this.data.alternativeText;\n }\n const linkElement = container.lastChild;\n if (this.enableScripting && this.hasJSActions && linkElement) {\n this._setDefaultPropertiesFromJS(linkElement);\n linkElement.addEventListener(\"updatefromsandbox\", jsEvent => {\n this._dispatchEventFromSandbox({}, jsEvent);\n });\n }\n return container;\n }\n}\nclass ChoiceWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: parameters.renderForms\n });\n }\n render() {\n this.container.classList.add(\"choiceWidgetAnnotation\");\n const storage = this.annotationStorage;\n const id = this.data.id;\n const storedData = storage.getValue(id, {\n value: this.data.fieldValue\n });\n const selectElement = document.createElement(\"select\");\n GetElementsByNameSet.add(selectElement);\n selectElement.setAttribute(\"data-element-id\", id);\n selectElement.disabled = this.data.readOnly;\n this._setRequired(selectElement, this.data.required);\n selectElement.name = this.data.fieldName;\n selectElement.tabIndex = DEFAULT_TAB_INDEX;\n let addAnEmptyEntry = this.data.combo && this.data.options.length > 0;\n if (!this.data.combo) {\n selectElement.size = this.data.options.length;\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\n }\n selectElement.addEventListener(\"resetform\", event => {\n const defaultValue = this.data.defaultFieldValue;\n for (const option of selectElement.options) {\n option.selected = option.value === defaultValue;\n }\n });\n for (const option of this.data.options) {\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n if (storedData.value.includes(option.exportValue)) {\n optionElement.setAttribute(\"selected\", true);\n addAnEmptyEntry = false;\n }\n selectElement.append(optionElement);\n }\n let removeEmptyEntry = null;\n if (addAnEmptyEntry) {\n const noneOptionElement = document.createElement(\"option\");\n noneOptionElement.value = \" \";\n noneOptionElement.setAttribute(\"hidden\", true);\n noneOptionElement.setAttribute(\"selected\", true);\n selectElement.prepend(noneOptionElement);\n removeEmptyEntry = () => {\n noneOptionElement.remove();\n selectElement.removeEventListener(\"input\", removeEmptyEntry);\n removeEmptyEntry = null;\n };\n selectElement.addEventListener(\"input\", removeEmptyEntry);\n }\n const getValue = isExport => {\n const name = isExport ? \"value\" : \"textContent\";\n const {\n options,\n multiple\n } = selectElement;\n if (!multiple) {\n return options.selectedIndex === -1 ? null : options[options.selectedIndex][name];\n }\n return Array.prototype.filter.call(options, option => option.selected).map(option => option[name]);\n };\n let selectedValues = getValue(false);\n const getItems = event => {\n const options = event.target.options;\n return Array.prototype.map.call(options, option => {\n return {\n displayValue: option.textContent,\n exportValue: option.value\n };\n });\n };\n if (this.enableScripting && this.hasJSActions) {\n selectElement.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value(event) {\n removeEmptyEntry?.();\n const value = event.detail.value;\n const values = new Set(Array.isArray(value) ? value : [value]);\n for (const option of selectElement.options) {\n option.selected = values.has(option.value);\n }\n storage.setValue(id, {\n value: getValue(true)\n });\n selectedValues = getValue(false);\n },\n multipleSelection(event) {\n selectElement.multiple = true;\n },\n remove(event) {\n const options = selectElement.options;\n const index = event.detail.remove;\n options[index].selected = false;\n selectElement.remove(index);\n if (options.length > 0) {\n const i = Array.prototype.findIndex.call(options, option => option.selected);\n if (i === -1) {\n options[0].selected = true;\n }\n }\n storage.setValue(id, {\n value: getValue(true),\n items: getItems(event)\n });\n selectedValues = getValue(false);\n },\n clear(event) {\n while (selectElement.length !== 0) {\n selectElement.remove(0);\n }\n storage.setValue(id, {\n value: null,\n items: []\n });\n selectedValues = getValue(false);\n },\n insert(event) {\n const {\n index,\n displayValue,\n exportValue\n } = event.detail.insert;\n const selectChild = selectElement.children[index];\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = displayValue;\n optionElement.value = exportValue;\n if (selectChild) {\n selectChild.before(optionElement);\n } else {\n selectElement.append(optionElement);\n }\n storage.setValue(id, {\n value: getValue(true),\n items: getItems(event)\n });\n selectedValues = getValue(false);\n },\n items(event) {\n const {\n items\n } = event.detail;\n while (selectElement.length !== 0) {\n selectElement.remove(0);\n }\n for (const item of items) {\n const {\n displayValue,\n exportValue\n } = item;\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = displayValue;\n optionElement.value = exportValue;\n selectElement.append(optionElement);\n }\n if (selectElement.options.length > 0) {\n selectElement.options[0].selected = true;\n }\n storage.setValue(id, {\n value: getValue(true),\n items: getItems(event)\n });\n selectedValues = getValue(false);\n },\n indices(event) {\n const indices = new Set(event.detail.indices);\n for (const option of event.target.options) {\n option.selected = indices.has(option.index);\n }\n storage.setValue(id, {\n value: getValue(true)\n });\n selectedValues = getValue(false);\n },\n editable(event) {\n event.target.disabled = !event.detail.editable;\n }\n };\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n selectElement.addEventListener(\"input\", event => {\n const exportValue = getValue(true);\n storage.setValue(id, {\n value: exportValue\n });\n event.preventDefault();\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value: selectedValues,\n changeEx: exportValue,\n willCommit: false,\n commitKey: 1,\n keyDown: false\n }\n });\n });\n this._setEventListeners(selectElement, null, [[\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"], [\"input\", \"Action\"], [\"input\", \"Validate\"]], event => event.target.value);\n } else {\n selectElement.addEventListener(\"input\", function (event) {\n storage.setValue(id, {\n value: getValue(true)\n });\n });\n }\n if (this.data.combo) {\n this._setTextStyle(selectElement);\n } else {}\n this._setBackgroundColor(selectElement);\n this._setDefaultPropertiesFromJS(selectElement);\n this.container.append(selectElement);\n return this.container;\n }\n}\nclass PopupAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const {\n data,\n elements\n } = parameters;\n super(parameters, {\n isRenderable: AnnotationElement._hasPopupData(data)\n });\n this.elements = elements;\n }\n render() {\n this.container.classList.add(\"popupAnnotation\");\n const popup = new PopupElement({\n container: this.container,\n color: this.data.color,\n titleObj: this.data.titleObj,\n modificationDate: this.data.modificationDate,\n contentsObj: this.data.contentsObj,\n richText: this.data.richText,\n rect: this.data.rect,\n parentRect: this.data.parentRect || null,\n parent: this.parent,\n elements: this.elements,\n open: this.data.open\n });\n const elementIds = [];\n for (const element of this.elements) {\n element.popup = popup;\n elementIds.push(element.data.id);\n element.addHighlightArea();\n }\n this.container.setAttribute(\"aria-controls\", elementIds.map(id => `${_util.AnnotationPrefix}${id}`).join(\",\"));\n return this.container;\n }\n}\nclass PopupElement {\n #dateTimePromise = null;\n #boundKeyDown = this.#keyDown.bind(this);\n #boundHide = this.#hide.bind(this);\n #boundShow = this.#show.bind(this);\n #boundToggle = this.#toggle.bind(this);\n #color = null;\n #container = null;\n #contentsObj = null;\n #elements = null;\n #parent = null;\n #parentRect = null;\n #pinned = false;\n #popup = null;\n #rect = null;\n #richText = null;\n #titleObj = null;\n #wasVisible = false;\n constructor({\n container,\n color,\n elements,\n titleObj,\n modificationDate,\n contentsObj,\n richText,\n parent,\n rect,\n parentRect,\n open\n }) {\n this.#container = container;\n this.#titleObj = titleObj;\n this.#contentsObj = contentsObj;\n this.#richText = richText;\n this.#parent = parent;\n this.#color = color;\n this.#rect = rect;\n this.#parentRect = parentRect;\n this.#elements = elements;\n const dateObject = _display_utils.PDFDateString.toDateObject(modificationDate);\n if (dateObject) {\n this.#dateTimePromise = parent.l10n.get(\"annotation_date_string\", {\n date: dateObject.toLocaleDateString(),\n time: dateObject.toLocaleTimeString()\n });\n }\n this.trigger = elements.flatMap(e => e.getElementsToTriggerPopup());\n for (const element of this.trigger) {\n element.addEventListener(\"click\", this.#boundToggle);\n element.addEventListener(\"mouseenter\", this.#boundShow);\n element.addEventListener(\"mouseleave\", this.#boundHide);\n element.classList.add(\"popupTriggerArea\");\n }\n for (const element of elements) {\n element.container?.addEventListener(\"keydown\", this.#boundKeyDown);\n }\n this.#container.hidden = true;\n if (open) {\n this.#toggle();\n }\n }\n render() {\n if (this.#popup) {\n return;\n }\n const {\n page: {\n view\n },\n viewport: {\n rawDims: {\n pageWidth,\n pageHeight,\n pageX,\n pageY\n }\n }\n } = this.#parent;\n const popup = this.#popup = document.createElement(\"div\");\n popup.className = \"popup\";\n if (this.#color) {\n const baseColor = popup.style.outlineColor = _util.Util.makeHexColor(...this.#color);\n if (CSS.supports(\"background-color\", \"color-mix(in srgb, red 30%, white)\")) {\n popup.style.backgroundColor = `color-mix(in srgb, ${baseColor} 30%, white)`;\n } else {\n const BACKGROUND_ENLIGHT = 0.7;\n popup.style.backgroundColor = _util.Util.makeHexColor(...this.#color.map(c => Math.floor(BACKGROUND_ENLIGHT * (255 - c) + c)));\n }\n }\n const header = document.createElement(\"span\");\n header.className = \"header\";\n const title = document.createElement(\"h1\");\n header.append(title);\n ({\n dir: title.dir,\n str: title.textContent\n } = this.#titleObj);\n popup.append(header);\n if (this.#dateTimePromise) {\n const modificationDate = document.createElement(\"span\");\n modificationDate.classList.add(\"popupDate\");\n this.#dateTimePromise.then(localized => {\n modificationDate.textContent = localized;\n });\n header.append(modificationDate);\n }\n const contentsObj = this.#contentsObj;\n const richText = this.#richText;\n if (richText?.str && (!contentsObj?.str || contentsObj.str === richText.str)) {\n _xfa_layer.XfaLayer.render({\n xfaHtml: richText.html,\n intent: \"richText\",\n div: popup\n });\n popup.lastChild.classList.add(\"richText\", \"popupContent\");\n } else {\n const contents = this._formatContents(contentsObj);\n popup.append(contents);\n }\n let useParentRect = !!this.#parentRect;\n let rect = useParentRect ? this.#parentRect : this.#rect;\n for (const element of this.#elements) {\n if (!rect || _util.Util.intersect(element.data.rect, rect) !== null) {\n rect = element.data.rect;\n useParentRect = true;\n break;\n }\n }\n const normalizedRect = _util.Util.normalizeRect([rect[0], view[3] - rect[1] + view[1], rect[2], view[3] - rect[3] + view[1]]);\n const HORIZONTAL_SPACE_AFTER_ANNOTATION = 5;\n const parentWidth = useParentRect ? rect[2] - rect[0] + HORIZONTAL_SPACE_AFTER_ANNOTATION : 0;\n const popupLeft = normalizedRect[0] + parentWidth;\n const popupTop = normalizedRect[1];\n const {\n style\n } = this.#container;\n style.left = `${100 * (popupLeft - pageX) / pageWidth}%`;\n style.top = `${100 * (popupTop - pageY) / pageHeight}%`;\n this.#container.append(popup);\n }\n _formatContents({\n str,\n dir\n }) {\n const p = document.createElement(\"p\");\n p.classList.add(\"popupContent\");\n p.dir = dir;\n const lines = str.split(/(?:\\r\\n?|\\n)/);\n for (let i = 0, ii = lines.length; i < ii; ++i) {\n const line = lines[i];\n p.append(document.createTextNode(line));\n if (i < ii - 1) {\n p.append(document.createElement(\"br\"));\n }\n }\n return p;\n }\n #keyDown(event) {\n if (event.altKey || event.shiftKey || event.ctrlKey || event.metaKey) {\n return;\n }\n if (event.key === \"Enter\" || event.key === \"Escape\" && this.#pinned) {\n this.#toggle();\n }\n }\n #toggle() {\n this.#pinned = !this.#pinned;\n if (this.#pinned) {\n this.#show();\n this.#container.addEventListener(\"click\", this.#boundToggle);\n this.#container.addEventListener(\"keydown\", this.#boundKeyDown);\n } else {\n this.#hide();\n this.#container.removeEventListener(\"click\", this.#boundToggle);\n this.#container.removeEventListener(\"keydown\", this.#boundKeyDown);\n }\n }\n #show() {\n if (!this.#popup) {\n this.render();\n }\n if (!this.isVisible) {\n this.#container.hidden = false;\n this.#container.style.zIndex = parseInt(this.#container.style.zIndex) + 1000;\n } else if (this.#pinned) {\n this.#container.classList.add(\"focused\");\n }\n }\n #hide() {\n this.#container.classList.remove(\"focused\");\n if (this.#pinned || !this.isVisible) {\n return;\n }\n this.#container.hidden = true;\n this.#container.style.zIndex = parseInt(this.#container.style.zIndex) - 1000;\n }\n forceHide() {\n this.#wasVisible = this.isVisible;\n if (!this.#wasVisible) {\n return;\n }\n this.#container.hidden = true;\n }\n maybeShow() {\n if (!this.#wasVisible) {\n return;\n }\n this.#wasVisible = false;\n this.#container.hidden = false;\n }\n get isVisible() {\n return this.#container.hidden === false;\n }\n}\nclass FreeTextAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n this.textContent = parameters.data.textContent;\n this.textPosition = parameters.data.textPosition;\n this.annotationEditorType = _util.AnnotationEditorType.FREETEXT;\n }\n render() {\n this.container.classList.add(\"freeTextAnnotation\");\n if (this.textContent) {\n const content = document.createElement(\"div\");\n content.classList.add(\"annotationTextContent\");\n content.setAttribute(\"role\", \"comment\");\n for (const line of this.textContent) {\n const lineSpan = document.createElement(\"span\");\n lineSpan.textContent = line;\n content.append(lineSpan);\n }\n this.container.append(content);\n }\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this._editOnDoubleClick();\n return this.container;\n }\n}\nexports.FreeTextAnnotationElement = FreeTextAnnotationElement;\nclass LineAnnotationElement extends AnnotationElement {\n #line = null;\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n }\n render() {\n this.container.classList.add(\"lineAnnotation\");\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n const line = this.#line = this.svgFactory.createElement(\"svg:line\");\n line.setAttribute(\"x1\", data.rect[2] - data.lineCoordinates[0]);\n line.setAttribute(\"y1\", data.rect[3] - data.lineCoordinates[1]);\n line.setAttribute(\"x2\", data.rect[2] - data.lineCoordinates[2]);\n line.setAttribute(\"y2\", data.rect[3] - data.lineCoordinates[3]);\n line.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n line.setAttribute(\"stroke\", \"transparent\");\n line.setAttribute(\"fill\", \"transparent\");\n svg.append(line);\n this.container.append(svg);\n if (!data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n return this.container;\n }\n getElementsToTriggerPopup() {\n return this.#line;\n }\n addHighlightArea() {\n this.container.classList.add(\"highlightArea\");\n }\n}\nclass SquareAnnotationElement extends AnnotationElement {\n #square = null;\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n }\n render() {\n this.container.classList.add(\"squareAnnotation\");\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n const borderWidth = data.borderStyle.width;\n const square = this.#square = this.svgFactory.createElement(\"svg:rect\");\n square.setAttribute(\"x\", borderWidth / 2);\n square.setAttribute(\"y\", borderWidth / 2);\n square.setAttribute(\"width\", width - borderWidth);\n square.setAttribute(\"height\", height - borderWidth);\n square.setAttribute(\"stroke-width\", borderWidth || 1);\n square.setAttribute(\"stroke\", \"transparent\");\n square.setAttribute(\"fill\", \"transparent\");\n svg.append(square);\n this.container.append(svg);\n if (!data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n return this.container;\n }\n getElementsToTriggerPopup() {\n return this.#square;\n }\n addHighlightArea() {\n this.container.classList.add(\"highlightArea\");\n }\n}\nclass CircleAnnotationElement extends AnnotationElement {\n #circle = null;\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n }\n render() {\n this.container.classList.add(\"circleAnnotation\");\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n const borderWidth = data.borderStyle.width;\n const circle = this.#circle = this.svgFactory.createElement(\"svg:ellipse\");\n circle.setAttribute(\"cx\", width / 2);\n circle.setAttribute(\"cy\", height / 2);\n circle.setAttribute(\"rx\", width / 2 - borderWidth / 2);\n circle.setAttribute(\"ry\", height / 2 - borderWidth / 2);\n circle.setAttribute(\"stroke-width\", borderWidth || 1);\n circle.setAttribute(\"stroke\", \"transparent\");\n circle.setAttribute(\"fill\", \"transparent\");\n svg.append(circle);\n this.container.append(svg);\n if (!data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n return this.container;\n }\n getElementsToTriggerPopup() {\n return this.#circle;\n }\n addHighlightArea() {\n this.container.classList.add(\"highlightArea\");\n }\n}\nclass PolylineAnnotationElement extends AnnotationElement {\n #polyline = null;\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n this.containerClassName = \"polylineAnnotation\";\n this.svgElementName = \"svg:polyline\";\n }\n render() {\n this.container.classList.add(this.containerClassName);\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n let points = [];\n for (const coordinate of data.vertices) {\n const x = coordinate.x - data.rect[0];\n const y = data.rect[3] - coordinate.y;\n points.push(x + \",\" + y);\n }\n points = points.join(\" \");\n const polyline = this.#polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"transparent\");\n svg.append(polyline);\n this.container.append(svg);\n if (!data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n return this.container;\n }\n getElementsToTriggerPopup() {\n return this.#polyline;\n }\n addHighlightArea() {\n this.container.classList.add(\"highlightArea\");\n }\n}\nclass PolygonAnnotationElement extends PolylineAnnotationElement {\n constructor(parameters) {\n super(parameters);\n this.containerClassName = \"polygonAnnotation\";\n this.svgElementName = \"svg:polygon\";\n }\n}\nclass CaretAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n }\n render() {\n this.container.classList.add(\"caretAnnotation\");\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n return this.container;\n }\n}\nclass InkAnnotationElement extends AnnotationElement {\n #polylines = [];\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n this.containerClassName = \"inkAnnotation\";\n this.svgElementName = \"svg:polyline\";\n this.annotationEditorType = _util.AnnotationEditorType.INK;\n }\n render() {\n this.container.classList.add(this.containerClassName);\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n for (const inkList of data.inkLists) {\n let points = [];\n for (const coordinate of inkList) {\n const x = coordinate.x - data.rect[0];\n const y = data.rect[3] - coordinate.y;\n points.push(`${x},${y}`);\n }\n points = points.join(\" \");\n const polyline = this.svgFactory.createElement(this.svgElementName);\n this.#polylines.push(polyline);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"transparent\");\n if (!data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n svg.append(polyline);\n }\n this.container.append(svg);\n return this.container;\n }\n getElementsToTriggerPopup() {\n return this.#polylines;\n }\n addHighlightArea() {\n this.container.classList.add(\"highlightArea\");\n }\n}\nexports.InkAnnotationElement = InkAnnotationElement;\nclass HighlightAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n render() {\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this.container.classList.add(\"highlightAnnotation\");\n return this.container;\n }\n}\nclass UnderlineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n render() {\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this.container.classList.add(\"underlineAnnotation\");\n return this.container;\n }\n}\nclass SquigglyAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n render() {\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this.container.classList.add(\"squigglyAnnotation\");\n return this.container;\n }\n}\nclass StrikeOutAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n render() {\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n this.container.classList.add(\"strikeoutAnnotation\");\n return this.container;\n }\n}\nclass StampAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: true\n });\n }\n render() {\n this.container.classList.add(\"stampAnnotation\");\n if (!this.data.popupRef && this.hasPopupData) {\n this._createPopup();\n }\n return this.container;\n }\n}\nexports.StampAnnotationElement = StampAnnotationElement;\nclass FileAttachmentAnnotationElement extends AnnotationElement {\n #trigger = null;\n constructor(parameters) {\n super(parameters, {\n isRenderable: true\n });\n const {\n filename,\n content\n } = this.data.file;\n this.filename = (0, _display_utils.getFilenameFromUrl)(filename, true);\n this.content = content;\n this.linkService.eventBus?.dispatch(\"fileattachmentannotation\", {\n source: this,\n filename,\n content\n });\n }\n render() {\n this.container.classList.add(\"fileAttachmentAnnotation\");\n const {\n container,\n data\n } = this;\n let trigger;\n if (data.hasAppearance || data.fillAlpha === 0) {\n trigger = document.createElement(\"div\");\n } else {\n trigger = document.createElement(\"img\");\n trigger.src = `${this.imageResourcesPath}annotation-${/paperclip/i.test(data.name) ? \"paperclip\" : \"pushpin\"}.svg`;\n if (data.fillAlpha && data.fillAlpha < 1) {\n trigger.style = `filter: opacity(${Math.round(data.fillAlpha * 100)}%);`;\n }\n }\n trigger.addEventListener(\"dblclick\", this.#download.bind(this));\n this.#trigger = trigger;\n const {\n isMac\n } = _util.FeatureTest.platform;\n container.addEventListener(\"keydown\", evt => {\n if (evt.key === \"Enter\" && (isMac ? evt.metaKey : evt.ctrlKey)) {\n this.#download();\n }\n });\n if (!data.popupRef && this.hasPopupData) {\n this._createPopup();\n } else {\n trigger.classList.add(\"popupTriggerArea\");\n }\n container.append(trigger);\n return container;\n }\n getElementsToTriggerPopup() {\n return this.#trigger;\n }\n addHighlightArea() {\n this.container.classList.add(\"highlightArea\");\n }\n #download() {\n this.downloadManager?.openOrDownloadData(this.container, this.content, this.filename);\n }\n}\nclass AnnotationLayer {\n #accessibilityManager = null;\n #annotationCanvasMap = null;\n #editableAnnotations = new Map();\n constructor({\n div,\n accessibilityManager,\n annotationCanvasMap,\n l10n,\n page,\n viewport\n }) {\n this.div = div;\n this.#accessibilityManager = accessibilityManager;\n this.#annotationCanvasMap = annotationCanvasMap;\n this.l10n = l10n;\n this.page = page;\n this.viewport = viewport;\n this.zIndex = 0;\n this.l10n ||= _displayL10n_utils.NullL10n;\n }\n #appendElement(element, id) {\n const contentElement = element.firstChild || element;\n contentElement.id = `${_util.AnnotationPrefix}${id}`;\n this.div.append(element);\n this.#accessibilityManager?.moveElementInDOM(this.div, element, contentElement, false);\n }\n async render(params) {\n const {\n annotations\n } = params;\n const layer = this.div;\n (0, _display_utils.setLayerDimensions)(layer, this.viewport);\n const popupToElements = new Map();\n const elementParams = {\n data: null,\n layer,\n linkService: params.linkService,\n downloadManager: params.downloadManager,\n imageResourcesPath: params.imageResourcesPath || \"\",\n renderForms: params.renderForms !== false,\n svgFactory: new _display_utils.DOMSVGFactory(),\n annotationStorage: params.annotationStorage || new _annotation_storage.AnnotationStorage(),\n enableScripting: params.enableScripting === true,\n hasJSActions: params.hasJSActions,\n fieldObjects: params.fieldObjects,\n parent: this,\n elements: null\n };\n for (const data of annotations) {\n if (data.noHTML) {\n continue;\n }\n const isPopupAnnotation = data.annotationType === _util.AnnotationType.POPUP;\n if (!isPopupAnnotation) {\n const {\n width,\n height\n } = getRectDims(data.rect);\n if (width <= 0 || height <= 0) {\n continue;\n }\n } else {\n const elements = popupToElements.get(data.id);\n if (!elements) {\n continue;\n }\n elementParams.elements = elements;\n }\n elementParams.data = data;\n const element = AnnotationElementFactory.create(elementParams);\n if (!element.isRenderable) {\n continue;\n }\n if (!isPopupAnnotation && data.popupRef) {\n const elements = popupToElements.get(data.popupRef);\n if (!elements) {\n popupToElements.set(data.popupRef, [element]);\n } else {\n elements.push(element);\n }\n }\n if (element.annotationEditorType > 0) {\n this.#editableAnnotations.set(element.data.id, element);\n }\n const rendered = element.render();\n if (data.hidden) {\n rendered.style.visibility = \"hidden\";\n }\n this.#appendElement(rendered, data.id);\n }\n this.#setAnnotationCanvasMap();\n await this.l10n.translate(layer);\n }\n update({\n viewport\n }) {\n const layer = this.div;\n this.viewport = viewport;\n (0, _display_utils.setLayerDimensions)(layer, {\n rotation: viewport.rotation\n });\n this.#setAnnotationCanvasMap();\n layer.hidden = false;\n }\n #setAnnotationCanvasMap() {\n if (!this.#annotationCanvasMap) {\n return;\n }\n const layer = this.div;\n for (const [id, canvas] of this.#annotationCanvasMap) {\n const element = layer.querySelector(`[data-annotation-id=\"${id}\"]`);\n if (!element) {\n continue;\n }\n const {\n firstChild\n } = element;\n if (!firstChild) {\n element.append(canvas);\n } else if (firstChild.nodeName === \"CANVAS\") {\n firstChild.replaceWith(canvas);\n } else {\n firstChild.before(canvas);\n }\n }\n this.#annotationCanvasMap.clear();\n }\n getEditableAnnotations() {\n return Array.from(this.#editableAnnotations.values());\n }\n getEditableAnnotation(id) {\n return this.#editableAnnotations.get(id);\n }\n}\nexports.AnnotationLayer = AnnotationLayer;\n\n/***/ }),\n/* 30 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.ColorConverters = void 0;\nfunction makeColorComp(n) {\n return Math.floor(Math.max(0, Math.min(1, n)) * 255).toString(16).padStart(2, \"0\");\n}\nfunction scaleAndClamp(x) {\n return Math.max(0, Math.min(255, 255 * x));\n}\nclass ColorConverters {\n static CMYK_G([c, y, m, k]) {\n return [\"G\", 1 - Math.min(1, 0.3 * c + 0.59 * m + 0.11 * y + k)];\n }\n static G_CMYK([g]) {\n return [\"CMYK\", 0, 0, 0, 1 - g];\n }\n static G_RGB([g]) {\n return [\"RGB\", g, g, g];\n }\n static G_rgb([g]) {\n g = scaleAndClamp(g);\n return [g, g, g];\n }\n static G_HTML([g]) {\n const G = makeColorComp(g);\n return `#${G}${G}${G}`;\n }\n static RGB_G([r, g, b]) {\n return [\"G\", 0.3 * r + 0.59 * g + 0.11 * b];\n }\n static RGB_rgb(color) {\n return color.map(scaleAndClamp);\n }\n static RGB_HTML(color) {\n return `#${color.map(makeColorComp).join(\"\")}`;\n }\n static T_HTML() {\n return \"#00000000\";\n }\n static T_rgb() {\n return [null];\n }\n static CMYK_RGB([c, y, m, k]) {\n return [\"RGB\", 1 - Math.min(1, c + k), 1 - Math.min(1, m + k), 1 - Math.min(1, y + k)];\n }\n static CMYK_rgb([c, y, m, k]) {\n return [scaleAndClamp(1 - Math.min(1, c + k)), scaleAndClamp(1 - Math.min(1, m + k)), scaleAndClamp(1 - Math.min(1, y + k))];\n }\n static CMYK_HTML(components) {\n const rgb = this.CMYK_RGB(components).slice(1);\n return this.RGB_HTML(rgb);\n }\n static RGB_CMYK([r, g, b]) {\n const c = 1 - r;\n const m = 1 - g;\n const y = 1 - b;\n const k = Math.min(c, m, y);\n return [\"CMYK\", c, m, y, k];\n }\n}\nexports.ColorConverters = ColorConverters;\n\n/***/ }),\n/* 31 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.NullL10n = void 0;\nexports.getL10nFallback = getL10nFallback;\nconst DEFAULT_L10N_STRINGS = {\n of_pages: \"of {{pagesCount}}\",\n page_of_pages: \"({{pageNumber}} of {{pagesCount}})\",\n document_properties_kb: \"{{size_kb}} KB ({{size_b}} bytes)\",\n document_properties_mb: \"{{size_mb}} MB ({{size_b}} bytes)\",\n document_properties_date_string: \"{{date}}, {{time}}\",\n document_properties_page_size_unit_inches: \"in\",\n document_properties_page_size_unit_millimeters: \"mm\",\n document_properties_page_size_orientation_portrait: \"portrait\",\n document_properties_page_size_orientation_landscape: \"landscape\",\n document_properties_page_size_name_a3: \"A3\",\n document_properties_page_size_name_a4: \"A4\",\n document_properties_page_size_name_letter: \"Letter\",\n document_properties_page_size_name_legal: \"Legal\",\n document_properties_page_size_dimension_string: \"{{width}} × {{height}} {{unit}} ({{orientation}})\",\n document_properties_page_size_dimension_name_string: \"{{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})\",\n document_properties_linearized_yes: \"Yes\",\n document_properties_linearized_no: \"No\",\n additional_layers: \"Additional Layers\",\n page_landmark: \"Page {{page}}\",\n thumb_page_title: \"Page {{page}}\",\n thumb_page_canvas: \"Thumbnail of Page {{page}}\",\n find_reached_top: \"Reached top of document, continued from bottom\",\n find_reached_bottom: \"Reached end of document, continued from top\",\n \"find_match_count[one]\": \"{{current}} of {{total}} match\",\n \"find_match_count[other]\": \"{{current}} of {{total}} matches\",\n \"find_match_count_limit[one]\": \"More than {{limit}} match\",\n \"find_match_count_limit[other]\": \"More than {{limit}} matches\",\n find_not_found: \"Phrase not found\",\n page_scale_width: \"Page Width\",\n page_scale_fit: \"Page Fit\",\n page_scale_auto: \"Automatic Zoom\",\n page_scale_actual: \"Actual Size\",\n page_scale_percent: \"{{scale}}%\",\n loading_error: \"An error occurred while loading the PDF.\",\n invalid_file_error: \"Invalid or corrupted PDF file.\",\n missing_file_error: \"Missing PDF file.\",\n unexpected_response_error: \"Unexpected server response.\",\n rendering_error: \"An error occurred while rendering the page.\",\n annotation_date_string: \"{{date}}, {{time}}\",\n printing_not_supported: \"Warning: Printing is not fully supported by this browser.\",\n printing_not_ready: \"Warning: The PDF is not fully loaded for printing.\",\n web_fonts_disabled: \"Web fonts are disabled: unable to use embedded PDF fonts.\",\n free_text2_default_content: \"Start typing…\",\n editor_free_text2_aria_label: \"Text Editor\",\n editor_ink2_aria_label: \"Draw Editor\",\n editor_ink_canvas_aria_label: \"User-created image\",\n editor_alt_text_button_label: \"Alt text\",\n editor_alt_text_edit_button_label: \"Edit alt text\",\n editor_alt_text_decorative_tooltip: \"Marked as decorative\"\n};\n{\n DEFAULT_L10N_STRINGS.print_progress_percent = \"{{progress}}%\";\n}\nfunction getL10nFallback(key, args) {\n switch (key) {\n case \"find_match_count\":\n key = `find_match_count[${args.total === 1 ? \"one\" : \"other\"}]`;\n break;\n case \"find_match_count_limit\":\n key = `find_match_count_limit[${args.limit === 1 ? \"one\" : \"other\"}]`;\n break;\n }\n return DEFAULT_L10N_STRINGS[key] || \"\";\n}\nfunction formatL10nValue(text, args) {\n if (!args) {\n return text;\n }\n return text.replaceAll(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, (all, name) => {\n return name in args ? args[name] : \"{{\" + name + \"}}\";\n });\n}\nconst NullL10n = {\n async getLanguage() {\n return \"en-us\";\n },\n async getDirection() {\n return \"ltr\";\n },\n async get(key, args = null, fallback = getL10nFallback(key, args)) {\n return formatL10nValue(fallback, args);\n },\n async translate(element) {}\n};\nexports.NullL10n = NullL10n;\n\n/***/ }),\n/* 32 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.XfaLayer = void 0;\nvar _xfa_text = __w_pdfjs_require__(25);\nclass XfaLayer {\n static setupStorage(html, id, element, storage, intent) {\n const storedData = storage.getValue(id, {\n value: null\n });\n switch (element.name) {\n case \"textarea\":\n if (storedData.value !== null) {\n html.textContent = storedData.value;\n }\n if (intent === \"print\") {\n break;\n }\n html.addEventListener(\"input\", event => {\n storage.setValue(id, {\n value: event.target.value\n });\n });\n break;\n case \"input\":\n if (element.attributes.type === \"radio\" || element.attributes.type === \"checkbox\") {\n if (storedData.value === element.attributes.xfaOn) {\n html.setAttribute(\"checked\", true);\n } else if (storedData.value === element.attributes.xfaOff) {\n html.removeAttribute(\"checked\");\n }\n if (intent === \"print\") {\n break;\n }\n html.addEventListener(\"change\", event => {\n storage.setValue(id, {\n value: event.target.checked ? event.target.getAttribute(\"xfaOn\") : event.target.getAttribute(\"xfaOff\")\n });\n });\n } else {\n if (storedData.value !== null) {\n html.setAttribute(\"value\", storedData.value);\n }\n if (intent === \"print\") {\n break;\n }\n html.addEventListener(\"input\", event => {\n storage.setValue(id, {\n value: event.target.value\n });\n });\n }\n break;\n case \"select\":\n if (storedData.value !== null) {\n html.setAttribute(\"value\", storedData.value);\n for (const option of element.children) {\n if (option.attributes.value === storedData.value) {\n option.attributes.selected = true;\n } else if (option.attributes.hasOwnProperty(\"selected\")) {\n delete option.attributes.selected;\n }\n }\n }\n html.addEventListener(\"input\", event => {\n const options = event.target.options;\n const value = options.selectedIndex === -1 ? \"\" : options[options.selectedIndex].value;\n storage.setValue(id, {\n value\n });\n });\n break;\n }\n }\n static setAttributes({\n html,\n element,\n storage = null,\n intent,\n linkService\n }) {\n const {\n attributes\n } = element;\n const isHTMLAnchorElement = html instanceof HTMLAnchorElement;\n if (attributes.type === \"radio\") {\n attributes.name = `${attributes.name}-${intent}`;\n }\n for (const [key, value] of Object.entries(attributes)) {\n if (value === null || value === undefined) {\n continue;\n }\n switch (key) {\n case \"class\":\n if (value.length) {\n html.setAttribute(key, value.join(\" \"));\n }\n break;\n case \"dataId\":\n break;\n case \"id\":\n html.setAttribute(\"data-element-id\", value);\n break;\n case \"style\":\n Object.assign(html.style, value);\n break;\n case \"textContent\":\n html.textContent = value;\n break;\n default:\n if (!isHTMLAnchorElement || key !== \"href\" && key !== \"newWindow\") {\n html.setAttribute(key, value);\n }\n }\n }\n if (isHTMLAnchorElement) {\n linkService.addLinkAttributes(html, attributes.href, attributes.newWindow);\n }\n if (storage && attributes.dataId) {\n this.setupStorage(html, attributes.dataId, element, storage);\n }\n }\n static render(parameters) {\n const storage = parameters.annotationStorage;\n const linkService = parameters.linkService;\n const root = parameters.xfaHtml;\n const intent = parameters.intent || \"display\";\n const rootHtml = document.createElement(root.name);\n if (root.attributes) {\n this.setAttributes({\n html: rootHtml,\n element: root,\n intent,\n linkService\n });\n }\n const stack = [[root, -1, rootHtml]];\n const rootDiv = parameters.div;\n rootDiv.append(rootHtml);\n if (parameters.viewport) {\n const transform = `matrix(${parameters.viewport.transform.join(\",\")})`;\n rootDiv.style.transform = transform;\n }\n if (intent !== \"richText\") {\n rootDiv.setAttribute(\"class\", \"xfaLayer xfaFont\");\n }\n const textDivs = [];\n while (stack.length > 0) {\n const [parent, i, html] = stack.at(-1);\n if (i + 1 === parent.children.length) {\n stack.pop();\n continue;\n }\n const child = parent.children[++stack.at(-1)[1]];\n if (child === null) {\n continue;\n }\n const {\n name\n } = child;\n if (name === \"#text\") {\n const node = document.createTextNode(child.value);\n textDivs.push(node);\n html.append(node);\n continue;\n }\n const childHtml = child?.attributes?.xmlns ? document.createElementNS(child.attributes.xmlns, name) : document.createElement(name);\n html.append(childHtml);\n if (child.attributes) {\n this.setAttributes({\n html: childHtml,\n element: child,\n storage,\n intent,\n linkService\n });\n }\n if (child.children && child.children.length > 0) {\n stack.push([child, -1, childHtml]);\n } else if (child.value) {\n const node = document.createTextNode(child.value);\n if (_xfa_text.XfaText.shouldBuildText(name)) {\n textDivs.push(node);\n }\n childHtml.append(node);\n }\n }\n for (const el of rootDiv.querySelectorAll(\".xfaNonInteractive input, .xfaNonInteractive textarea\")) {\n el.setAttribute(\"readOnly\", true);\n }\n return {\n textDivs\n };\n }\n static update(parameters) {\n const transform = `matrix(${parameters.viewport.transform.join(\",\")})`;\n parameters.div.style.transform = transform;\n parameters.div.hidden = false;\n }\n}\nexports.XfaLayer = XfaLayer;\n\n/***/ }),\n/* 33 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.InkEditor = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _editor = __w_pdfjs_require__(4);\nvar _annotation_layer = __w_pdfjs_require__(29);\nvar _display_utils = __w_pdfjs_require__(6);\nvar _tools = __w_pdfjs_require__(5);\nclass InkEditor extends _editor.AnnotationEditor {\n #baseHeight = 0;\n #baseWidth = 0;\n #boundCanvasPointermove = this.canvasPointermove.bind(this);\n #boundCanvasPointerleave = this.canvasPointerleave.bind(this);\n #boundCanvasPointerup = this.canvasPointerup.bind(this);\n #boundCanvasPointerdown = this.canvasPointerdown.bind(this);\n #currentPath2D = new Path2D();\n #disableEditing = false;\n #hasSomethingToDraw = false;\n #isCanvasInitialized = false;\n #observer = null;\n #realWidth = 0;\n #realHeight = 0;\n #requestFrameCallback = null;\n static _defaultColor = null;\n static _defaultOpacity = 1;\n static _defaultThickness = 1;\n static _type = \"ink\";\n constructor(params) {\n super({\n ...params,\n name: \"inkEditor\"\n });\n this.color = params.color || null;\n this.thickness = params.thickness || null;\n this.opacity = params.opacity || null;\n this.paths = [];\n this.bezierPath2D = [];\n this.allRawPaths = [];\n this.currentPath = [];\n this.scaleFactor = 1;\n this.translationX = this.translationY = 0;\n this.x = 0;\n this.y = 0;\n this._willKeepAspectRatio = true;\n }\n static initialize(l10n) {\n _editor.AnnotationEditor.initialize(l10n, {\n strings: [\"editor_ink_canvas_aria_label\", \"editor_ink2_aria_label\"]\n });\n }\n static updateDefaultParams(type, value) {\n switch (type) {\n case _util.AnnotationEditorParamsType.INK_THICKNESS:\n InkEditor._defaultThickness = value;\n break;\n case _util.AnnotationEditorParamsType.INK_COLOR:\n InkEditor._defaultColor = value;\n break;\n case _util.AnnotationEditorParamsType.INK_OPACITY:\n InkEditor._defaultOpacity = value / 100;\n break;\n }\n }\n updateParams(type, value) {\n switch (type) {\n case _util.AnnotationEditorParamsType.INK_THICKNESS:\n this.#updateThickness(value);\n break;\n case _util.AnnotationEditorParamsType.INK_COLOR:\n this.#updateColor(value);\n break;\n case _util.AnnotationEditorParamsType.INK_OPACITY:\n this.#updateOpacity(value);\n break;\n }\n }\n static get defaultPropertiesToUpdate() {\n return [[_util.AnnotationEditorParamsType.INK_THICKNESS, InkEditor._defaultThickness], [_util.AnnotationEditorParamsType.INK_COLOR, InkEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor], [_util.AnnotationEditorParamsType.INK_OPACITY, Math.round(InkEditor._defaultOpacity * 100)]];\n }\n get propertiesToUpdate() {\n return [[_util.AnnotationEditorParamsType.INK_THICKNESS, this.thickness || InkEditor._defaultThickness], [_util.AnnotationEditorParamsType.INK_COLOR, this.color || InkEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor], [_util.AnnotationEditorParamsType.INK_OPACITY, Math.round(100 * (this.opacity ?? InkEditor._defaultOpacity))]];\n }\n #updateThickness(thickness) {\n const savedThickness = this.thickness;\n this.addCommands({\n cmd: () => {\n this.thickness = thickness;\n this.#fitToContent();\n },\n undo: () => {\n this.thickness = savedThickness;\n this.#fitToContent();\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.INK_THICKNESS,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n #updateColor(color) {\n const savedColor = this.color;\n this.addCommands({\n cmd: () => {\n this.color = color;\n this.#redraw();\n },\n undo: () => {\n this.color = savedColor;\n this.#redraw();\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.INK_COLOR,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n #updateOpacity(opacity) {\n opacity /= 100;\n const savedOpacity = this.opacity;\n this.addCommands({\n cmd: () => {\n this.opacity = opacity;\n this.#redraw();\n },\n undo: () => {\n this.opacity = savedOpacity;\n this.#redraw();\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.INK_OPACITY,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n rebuild() {\n if (!this.parent) {\n return;\n }\n super.rebuild();\n if (this.div === null) {\n return;\n }\n if (!this.canvas) {\n this.#createCanvas();\n this.#createObserver();\n }\n if (!this.isAttachedToDOM) {\n this.parent.add(this);\n this.#setCanvasDims();\n }\n this.#fitToContent();\n }\n remove() {\n if (this.canvas === null) {\n return;\n }\n if (!this.isEmpty()) {\n this.commit();\n }\n this.canvas.width = this.canvas.height = 0;\n this.canvas.remove();\n this.canvas = null;\n this.#observer.disconnect();\n this.#observer = null;\n super.remove();\n }\n setParent(parent) {\n if (!this.parent && parent) {\n this._uiManager.removeShouldRescale(this);\n } else if (this.parent && parent === null) {\n this._uiManager.addShouldRescale(this);\n }\n super.setParent(parent);\n }\n onScaleChanging() {\n const [parentWidth, parentHeight] = this.parentDimensions;\n const width = this.width * parentWidth;\n const height = this.height * parentHeight;\n this.setDimensions(width, height);\n }\n enableEditMode() {\n if (this.#disableEditing || this.canvas === null) {\n return;\n }\n super.enableEditMode();\n this._isDraggable = false;\n this.canvas.addEventListener(\"pointerdown\", this.#boundCanvasPointerdown);\n }\n disableEditMode() {\n if (!this.isInEditMode() || this.canvas === null) {\n return;\n }\n super.disableEditMode();\n this._isDraggable = !this.isEmpty();\n this.div.classList.remove(\"editing\");\n this.canvas.removeEventListener(\"pointerdown\", this.#boundCanvasPointerdown);\n }\n onceAdded() {\n this._isDraggable = !this.isEmpty();\n }\n isEmpty() {\n return this.paths.length === 0 || this.paths.length === 1 && this.paths[0].length === 0;\n }\n #getInitialBBox() {\n const {\n parentRotation,\n parentDimensions: [width, height]\n } = this;\n switch (parentRotation) {\n case 90:\n return [0, height, height, width];\n case 180:\n return [width, height, width, height];\n case 270:\n return [width, 0, height, width];\n default:\n return [0, 0, width, height];\n }\n }\n #setStroke() {\n const {\n ctx,\n color,\n opacity,\n thickness,\n parentScale,\n scaleFactor\n } = this;\n ctx.lineWidth = thickness * parentScale / scaleFactor;\n ctx.lineCap = \"round\";\n ctx.lineJoin = \"round\";\n ctx.miterLimit = 10;\n ctx.strokeStyle = `${color}${(0, _tools.opacityToHex)(opacity)}`;\n }\n #startDrawing(x, y) {\n this.canvas.addEventListener(\"contextmenu\", _display_utils.noContextMenu);\n this.canvas.addEventListener(\"pointerleave\", this.#boundCanvasPointerleave);\n this.canvas.addEventListener(\"pointermove\", this.#boundCanvasPointermove);\n this.canvas.addEventListener(\"pointerup\", this.#boundCanvasPointerup);\n this.canvas.removeEventListener(\"pointerdown\", this.#boundCanvasPointerdown);\n this.isEditing = true;\n if (!this.#isCanvasInitialized) {\n this.#isCanvasInitialized = true;\n this.#setCanvasDims();\n this.thickness ||= InkEditor._defaultThickness;\n this.color ||= InkEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor;\n this.opacity ??= InkEditor._defaultOpacity;\n }\n this.currentPath.push([x, y]);\n this.#hasSomethingToDraw = false;\n this.#setStroke();\n this.#requestFrameCallback = () => {\n this.#drawPoints();\n if (this.#requestFrameCallback) {\n window.requestAnimationFrame(this.#requestFrameCallback);\n }\n };\n window.requestAnimationFrame(this.#requestFrameCallback);\n }\n #draw(x, y) {\n const [lastX, lastY] = this.currentPath.at(-1);\n if (this.currentPath.length > 1 && x === lastX && y === lastY) {\n return;\n }\n const currentPath = this.currentPath;\n let path2D = this.#currentPath2D;\n currentPath.push([x, y]);\n this.#hasSomethingToDraw = true;\n if (currentPath.length <= 2) {\n path2D.moveTo(...currentPath[0]);\n path2D.lineTo(x, y);\n return;\n }\n if (currentPath.length === 3) {\n this.#currentPath2D = path2D = new Path2D();\n path2D.moveTo(...currentPath[0]);\n }\n this.#makeBezierCurve(path2D, ...currentPath.at(-3), ...currentPath.at(-2), x, y);\n }\n #endPath() {\n if (this.currentPath.length === 0) {\n return;\n }\n const lastPoint = this.currentPath.at(-1);\n this.#currentPath2D.lineTo(...lastPoint);\n }\n #stopDrawing(x, y) {\n this.#requestFrameCallback = null;\n x = Math.min(Math.max(x, 0), this.canvas.width);\n y = Math.min(Math.max(y, 0), this.canvas.height);\n this.#draw(x, y);\n this.#endPath();\n let bezier;\n if (this.currentPath.length !== 1) {\n bezier = this.#generateBezierPoints();\n } else {\n const xy = [x, y];\n bezier = [[xy, xy.slice(), xy.slice(), xy]];\n }\n const path2D = this.#currentPath2D;\n const currentPath = this.currentPath;\n this.currentPath = [];\n this.#currentPath2D = new Path2D();\n const cmd = () => {\n this.allRawPaths.push(currentPath);\n this.paths.push(bezier);\n this.bezierPath2D.push(path2D);\n this.rebuild();\n };\n const undo = () => {\n this.allRawPaths.pop();\n this.paths.pop();\n this.bezierPath2D.pop();\n if (this.paths.length === 0) {\n this.remove();\n } else {\n if (!this.canvas) {\n this.#createCanvas();\n this.#createObserver();\n }\n this.#fitToContent();\n }\n };\n this.addCommands({\n cmd,\n undo,\n mustExec: true\n });\n }\n #drawPoints() {\n if (!this.#hasSomethingToDraw) {\n return;\n }\n this.#hasSomethingToDraw = false;\n const thickness = Math.ceil(this.thickness * this.parentScale);\n const lastPoints = this.currentPath.slice(-3);\n const x = lastPoints.map(xy => xy[0]);\n const y = lastPoints.map(xy => xy[1]);\n const xMin = Math.min(...x) - thickness;\n const xMax = Math.max(...x) + thickness;\n const yMin = Math.min(...y) - thickness;\n const yMax = Math.max(...y) + thickness;\n const {\n ctx\n } = this;\n ctx.save();\n ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n for (const path of this.bezierPath2D) {\n ctx.stroke(path);\n }\n ctx.stroke(this.#currentPath2D);\n ctx.restore();\n }\n #makeBezierCurve(path2D, x0, y0, x1, y1, x2, y2) {\n const prevX = (x0 + x1) / 2;\n const prevY = (y0 + y1) / 2;\n const x3 = (x1 + x2) / 2;\n const y3 = (y1 + y2) / 2;\n path2D.bezierCurveTo(prevX + 2 * (x1 - prevX) / 3, prevY + 2 * (y1 - prevY) / 3, x3 + 2 * (x1 - x3) / 3, y3 + 2 * (y1 - y3) / 3, x3, y3);\n }\n #generateBezierPoints() {\n const path = this.currentPath;\n if (path.length <= 2) {\n return [[path[0], path[0], path.at(-1), path.at(-1)]];\n }\n const bezierPoints = [];\n let i;\n let [x0, y0] = path[0];\n for (i = 1; i < path.length - 2; i++) {\n const [x1, y1] = path[i];\n const [x2, y2] = path[i + 1];\n const x3 = (x1 + x2) / 2;\n const y3 = (y1 + y2) / 2;\n const control1 = [x0 + 2 * (x1 - x0) / 3, y0 + 2 * (y1 - y0) / 3];\n const control2 = [x3 + 2 * (x1 - x3) / 3, y3 + 2 * (y1 - y3) / 3];\n bezierPoints.push([[x0, y0], control1, control2, [x3, y3]]);\n [x0, y0] = [x3, y3];\n }\n const [x1, y1] = path[i];\n const [x2, y2] = path[i + 1];\n const control1 = [x0 + 2 * (x1 - x0) / 3, y0 + 2 * (y1 - y0) / 3];\n const control2 = [x2 + 2 * (x1 - x2) / 3, y2 + 2 * (y1 - y2) / 3];\n bezierPoints.push([[x0, y0], control1, control2, [x2, y2]]);\n return bezierPoints;\n }\n #redraw() {\n if (this.isEmpty()) {\n this.#updateTransform();\n return;\n }\n this.#setStroke();\n const {\n canvas,\n ctx\n } = this;\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n this.#updateTransform();\n for (const path of this.bezierPath2D) {\n ctx.stroke(path);\n }\n }\n commit() {\n if (this.#disableEditing) {\n return;\n }\n super.commit();\n this.isEditing = false;\n this.disableEditMode();\n this.setInForeground();\n this.#disableEditing = true;\n this.div.classList.add(\"disabled\");\n this.#fitToContent(true);\n this.makeResizable();\n this.parent.addInkEditorIfNeeded(true);\n this.moveInDOM();\n this.div.focus({\n preventScroll: true\n });\n }\n focusin(event) {\n if (!this._focusEventsAllowed) {\n return;\n }\n super.focusin(event);\n this.enableEditMode();\n }\n canvasPointerdown(event) {\n if (event.button !== 0 || !this.isInEditMode() || this.#disableEditing) {\n return;\n }\n this.setInForeground();\n event.preventDefault();\n if (event.type !== \"mouse\") {\n this.div.focus();\n }\n this.#startDrawing(event.offsetX, event.offsetY);\n }\n canvasPointermove(event) {\n event.preventDefault();\n this.#draw(event.offsetX, event.offsetY);\n }\n canvasPointerup(event) {\n event.preventDefault();\n this.#endDrawing(event);\n }\n canvasPointerleave(event) {\n this.#endDrawing(event);\n }\n #endDrawing(event) {\n this.canvas.removeEventListener(\"pointerleave\", this.#boundCanvasPointerleave);\n this.canvas.removeEventListener(\"pointermove\", this.#boundCanvasPointermove);\n this.canvas.removeEventListener(\"pointerup\", this.#boundCanvasPointerup);\n this.canvas.addEventListener(\"pointerdown\", this.#boundCanvasPointerdown);\n setTimeout(() => {\n this.canvas.removeEventListener(\"contextmenu\", _display_utils.noContextMenu);\n }, 10);\n this.#stopDrawing(event.offsetX, event.offsetY);\n this.addToAnnotationStorage();\n this.setInBackground();\n }\n #createCanvas() {\n this.canvas = document.createElement(\"canvas\");\n this.canvas.width = this.canvas.height = 0;\n this.canvas.className = \"inkEditorCanvas\";\n _editor.AnnotationEditor._l10nPromise.get(\"editor_ink_canvas_aria_label\").then(msg => this.canvas?.setAttribute(\"aria-label\", msg));\n this.div.append(this.canvas);\n this.ctx = this.canvas.getContext(\"2d\");\n }\n #createObserver() {\n this.#observer = new ResizeObserver(entries => {\n const rect = entries[0].contentRect;\n if (rect.width && rect.height) {\n this.setDimensions(rect.width, rect.height);\n }\n });\n this.#observer.observe(this.div);\n }\n get isResizable() {\n return !this.isEmpty() && this.#disableEditing;\n }\n render() {\n if (this.div) {\n return this.div;\n }\n let baseX, baseY;\n if (this.width) {\n baseX = this.x;\n baseY = this.y;\n }\n super.render();\n _editor.AnnotationEditor._l10nPromise.get(\"editor_ink2_aria_label\").then(msg => this.div?.setAttribute(\"aria-label\", msg));\n const [x, y, w, h] = this.#getInitialBBox();\n this.setAt(x, y, 0, 0);\n this.setDims(w, h);\n this.#createCanvas();\n if (this.width) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.setAspectRatio(this.width * parentWidth, this.height * parentHeight);\n this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight);\n this.#isCanvasInitialized = true;\n this.#setCanvasDims();\n this.setDims(this.width * parentWidth, this.height * parentHeight);\n this.#redraw();\n this.div.classList.add(\"disabled\");\n } else {\n this.div.classList.add(\"editing\");\n this.enableEditMode();\n }\n this.#createObserver();\n return this.div;\n }\n #setCanvasDims() {\n if (!this.#isCanvasInitialized) {\n return;\n }\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.canvas.width = Math.ceil(this.width * parentWidth);\n this.canvas.height = Math.ceil(this.height * parentHeight);\n this.#updateTransform();\n }\n setDimensions(width, height) {\n const roundedWidth = Math.round(width);\n const roundedHeight = Math.round(height);\n if (this.#realWidth === roundedWidth && this.#realHeight === roundedHeight) {\n return;\n }\n this.#realWidth = roundedWidth;\n this.#realHeight = roundedHeight;\n this.canvas.style.visibility = \"hidden\";\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.width = width / parentWidth;\n this.height = height / parentHeight;\n this.fixAndSetPosition();\n if (this.#disableEditing) {\n this.#setScaleFactor(width, height);\n }\n this.#setCanvasDims();\n this.#redraw();\n this.canvas.style.visibility = \"visible\";\n this.fixDims();\n }\n #setScaleFactor(width, height) {\n const padding = this.#getPadding();\n const scaleFactorW = (width - padding) / this.#baseWidth;\n const scaleFactorH = (height - padding) / this.#baseHeight;\n this.scaleFactor = Math.min(scaleFactorW, scaleFactorH);\n }\n #updateTransform() {\n const padding = this.#getPadding() / 2;\n this.ctx.setTransform(this.scaleFactor, 0, 0, this.scaleFactor, this.translationX * this.scaleFactor + padding, this.translationY * this.scaleFactor + padding);\n }\n static #buildPath2D(bezier) {\n const path2D = new Path2D();\n for (let i = 0, ii = bezier.length; i < ii; i++) {\n const [first, control1, control2, second] = bezier[i];\n if (i === 0) {\n path2D.moveTo(...first);\n }\n path2D.bezierCurveTo(control1[0], control1[1], control2[0], control2[1], second[0], second[1]);\n }\n return path2D;\n }\n static #toPDFCoordinates(points, rect, rotation) {\n const [blX, blY, trX, trY] = rect;\n switch (rotation) {\n case 0:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n points[i] += blX;\n points[i + 1] = trY - points[i + 1];\n }\n break;\n case 90:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n const x = points[i];\n points[i] = points[i + 1] + blX;\n points[i + 1] = x + blY;\n }\n break;\n case 180:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n points[i] = trX - points[i];\n points[i + 1] += blY;\n }\n break;\n case 270:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n const x = points[i];\n points[i] = trX - points[i + 1];\n points[i + 1] = trY - x;\n }\n break;\n default:\n throw new Error(\"Invalid rotation\");\n }\n return points;\n }\n static #fromPDFCoordinates(points, rect, rotation) {\n const [blX, blY, trX, trY] = rect;\n switch (rotation) {\n case 0:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n points[i] -= blX;\n points[i + 1] = trY - points[i + 1];\n }\n break;\n case 90:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n const x = points[i];\n points[i] = points[i + 1] - blY;\n points[i + 1] = x - blX;\n }\n break;\n case 180:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n points[i] = trX - points[i];\n points[i + 1] -= blY;\n }\n break;\n case 270:\n for (let i = 0, ii = points.length; i < ii; i += 2) {\n const x = points[i];\n points[i] = trY - points[i + 1];\n points[i + 1] = trX - x;\n }\n break;\n default:\n throw new Error(\"Invalid rotation\");\n }\n return points;\n }\n #serializePaths(s, tx, ty, rect) {\n const paths = [];\n const padding = this.thickness / 2;\n const shiftX = s * tx + padding;\n const shiftY = s * ty + padding;\n for (const bezier of this.paths) {\n const buffer = [];\n const points = [];\n for (let j = 0, jj = bezier.length; j < jj; j++) {\n const [first, control1, control2, second] = bezier[j];\n const p10 = s * first[0] + shiftX;\n const p11 = s * first[1] + shiftY;\n const p20 = s * control1[0] + shiftX;\n const p21 = s * control1[1] + shiftY;\n const p30 = s * control2[0] + shiftX;\n const p31 = s * control2[1] + shiftY;\n const p40 = s * second[0] + shiftX;\n const p41 = s * second[1] + shiftY;\n if (j === 0) {\n buffer.push(p10, p11);\n points.push(p10, p11);\n }\n buffer.push(p20, p21, p30, p31, p40, p41);\n points.push(p20, p21);\n if (j === jj - 1) {\n points.push(p40, p41);\n }\n }\n paths.push({\n bezier: InkEditor.#toPDFCoordinates(buffer, rect, this.rotation),\n points: InkEditor.#toPDFCoordinates(points, rect, this.rotation)\n });\n }\n return paths;\n }\n #getBbox() {\n let xMin = Infinity;\n let xMax = -Infinity;\n let yMin = Infinity;\n let yMax = -Infinity;\n for (const path of this.paths) {\n for (const [first, control1, control2, second] of path) {\n const bbox = _util.Util.bezierBoundingBox(...first, ...control1, ...control2, ...second);\n xMin = Math.min(xMin, bbox[0]);\n yMin = Math.min(yMin, bbox[1]);\n xMax = Math.max(xMax, bbox[2]);\n yMax = Math.max(yMax, bbox[3]);\n }\n }\n return [xMin, yMin, xMax, yMax];\n }\n #getPadding() {\n return this.#disableEditing ? Math.ceil(this.thickness * this.parentScale) : 0;\n }\n #fitToContent(firstTime = false) {\n if (this.isEmpty()) {\n return;\n }\n if (!this.#disableEditing) {\n this.#redraw();\n return;\n }\n const bbox = this.#getBbox();\n const padding = this.#getPadding();\n this.#baseWidth = Math.max(_editor.AnnotationEditor.MIN_SIZE, bbox[2] - bbox[0]);\n this.#baseHeight = Math.max(_editor.AnnotationEditor.MIN_SIZE, bbox[3] - bbox[1]);\n const width = Math.ceil(padding + this.#baseWidth * this.scaleFactor);\n const height = Math.ceil(padding + this.#baseHeight * this.scaleFactor);\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.width = width / parentWidth;\n this.height = height / parentHeight;\n this.setAspectRatio(width, height);\n const prevTranslationX = this.translationX;\n const prevTranslationY = this.translationY;\n this.translationX = -bbox[0];\n this.translationY = -bbox[1];\n this.#setCanvasDims();\n this.#redraw();\n this.#realWidth = width;\n this.#realHeight = height;\n this.setDims(width, height);\n const unscaledPadding = firstTime ? padding / this.scaleFactor / 2 : 0;\n this.translate(prevTranslationX - this.translationX - unscaledPadding, prevTranslationY - this.translationY - unscaledPadding);\n }\n static deserialize(data, parent, uiManager) {\n if (data instanceof _annotation_layer.InkAnnotationElement) {\n return null;\n }\n const editor = super.deserialize(data, parent, uiManager);\n editor.thickness = data.thickness;\n editor.color = _util.Util.makeHexColor(...data.color);\n editor.opacity = data.opacity;\n const [pageWidth, pageHeight] = editor.pageDimensions;\n const width = editor.width * pageWidth;\n const height = editor.height * pageHeight;\n const scaleFactor = editor.parentScale;\n const padding = data.thickness / 2;\n editor.#disableEditing = true;\n editor.#realWidth = Math.round(width);\n editor.#realHeight = Math.round(height);\n const {\n paths,\n rect,\n rotation\n } = data;\n for (let {\n bezier\n } of paths) {\n bezier = InkEditor.#fromPDFCoordinates(bezier, rect, rotation);\n const path = [];\n editor.paths.push(path);\n let p0 = scaleFactor * (bezier[0] - padding);\n let p1 = scaleFactor * (bezier[1] - padding);\n for (let i = 2, ii = bezier.length; i < ii; i += 6) {\n const p10 = scaleFactor * (bezier[i] - padding);\n const p11 = scaleFactor * (bezier[i + 1] - padding);\n const p20 = scaleFactor * (bezier[i + 2] - padding);\n const p21 = scaleFactor * (bezier[i + 3] - padding);\n const p30 = scaleFactor * (bezier[i + 4] - padding);\n const p31 = scaleFactor * (bezier[i + 5] - padding);\n path.push([[p0, p1], [p10, p11], [p20, p21], [p30, p31]]);\n p0 = p30;\n p1 = p31;\n }\n const path2D = this.#buildPath2D(path);\n editor.bezierPath2D.push(path2D);\n }\n const bbox = editor.#getBbox();\n editor.#baseWidth = Math.max(_editor.AnnotationEditor.MIN_SIZE, bbox[2] - bbox[0]);\n editor.#baseHeight = Math.max(_editor.AnnotationEditor.MIN_SIZE, bbox[3] - bbox[1]);\n editor.#setScaleFactor(width, height);\n return editor;\n }\n serialize() {\n if (this.isEmpty()) {\n return null;\n }\n const rect = this.getRect(0, 0);\n const color = _editor.AnnotationEditor._colorManager.convert(this.ctx.strokeStyle);\n return {\n annotationType: _util.AnnotationEditorType.INK,\n color,\n thickness: this.thickness,\n opacity: this.opacity,\n paths: this.#serializePaths(this.scaleFactor / this.parentScale, this.translationX, this.translationY, rect),\n pageIndex: this.pageIndex,\n rect,\n rotation: this.rotation,\n structTreeParentId: this._structTreeParentId\n };\n }\n}\nexports.InkEditor = InkEditor;\n\n/***/ }),\n/* 34 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.StampEditor = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _editor = __w_pdfjs_require__(4);\nvar _display_utils = __w_pdfjs_require__(6);\nvar _annotation_layer = __w_pdfjs_require__(29);\nclass StampEditor extends _editor.AnnotationEditor {\n #bitmap = null;\n #bitmapId = null;\n #bitmapPromise = null;\n #bitmapUrl = null;\n #bitmapFile = null;\n #canvas = null;\n #observer = null;\n #resizeTimeoutId = null;\n #isSvg = false;\n #hasBeenAddedInUndoStack = false;\n static _type = \"stamp\";\n constructor(params) {\n super({\n ...params,\n name: \"stampEditor\"\n });\n this.#bitmapUrl = params.bitmapUrl;\n this.#bitmapFile = params.bitmapFile;\n }\n static initialize(l10n) {\n _editor.AnnotationEditor.initialize(l10n);\n }\n static get supportedTypes() {\n const types = [\"apng\", \"avif\", \"bmp\", \"gif\", \"jpeg\", \"png\", \"svg+xml\", \"webp\", \"x-icon\"];\n return (0, _util.shadow)(this, \"supportedTypes\", types.map(type => `image/${type}`));\n }\n static get supportedTypesStr() {\n return (0, _util.shadow)(this, \"supportedTypesStr\", this.supportedTypes.join(\",\"));\n }\n static isHandlingMimeForPasting(mime) {\n return this.supportedTypes.includes(mime);\n }\n static paste(item, parent) {\n parent.pasteEditor(_util.AnnotationEditorType.STAMP, {\n bitmapFile: item.getAsFile()\n });\n }\n #getBitmapFetched(data, fromId = false) {\n if (!data) {\n this.remove();\n return;\n }\n this.#bitmap = data.bitmap;\n if (!fromId) {\n this.#bitmapId = data.id;\n this.#isSvg = data.isSvg;\n }\n this.#createCanvas();\n }\n #getBitmapDone() {\n this.#bitmapPromise = null;\n this._uiManager.enableWaiting(false);\n if (this.#canvas) {\n this.div.focus();\n }\n }\n #getBitmap() {\n if (this.#bitmapId) {\n this._uiManager.enableWaiting(true);\n this._uiManager.imageManager.getFromId(this.#bitmapId).then(data => this.#getBitmapFetched(data, true)).finally(() => this.#getBitmapDone());\n return;\n }\n if (this.#bitmapUrl) {\n const url = this.#bitmapUrl;\n this.#bitmapUrl = null;\n this._uiManager.enableWaiting(true);\n this.#bitmapPromise = this._uiManager.imageManager.getFromUrl(url).then(data => this.#getBitmapFetched(data)).finally(() => this.#getBitmapDone());\n return;\n }\n if (this.#bitmapFile) {\n const file = this.#bitmapFile;\n this.#bitmapFile = null;\n this._uiManager.enableWaiting(true);\n this.#bitmapPromise = this._uiManager.imageManager.getFromFile(file).then(data => this.#getBitmapFetched(data)).finally(() => this.#getBitmapDone());\n return;\n }\n const input = document.createElement(\"input\");\n input.type = \"file\";\n input.accept = StampEditor.supportedTypesStr;\n this.#bitmapPromise = new Promise(resolve => {\n input.addEventListener(\"change\", async () => {\n if (!input.files || input.files.length === 0) {\n this.remove();\n } else {\n this._uiManager.enableWaiting(true);\n const data = await this._uiManager.imageManager.getFromFile(input.files[0]);\n this.#getBitmapFetched(data);\n }\n resolve();\n });\n input.addEventListener(\"cancel\", () => {\n this.remove();\n resolve();\n });\n }).finally(() => this.#getBitmapDone());\n input.click();\n }\n remove() {\n if (this.#bitmapId) {\n this.#bitmap = null;\n this._uiManager.imageManager.deleteId(this.#bitmapId);\n this.#canvas?.remove();\n this.#canvas = null;\n this.#observer?.disconnect();\n this.#observer = null;\n }\n super.remove();\n }\n rebuild() {\n if (!this.parent) {\n if (this.#bitmapId) {\n this.#getBitmap();\n }\n return;\n }\n super.rebuild();\n if (this.div === null) {\n return;\n }\n if (this.#bitmapId) {\n this.#getBitmap();\n }\n if (!this.isAttachedToDOM) {\n this.parent.add(this);\n }\n }\n onceAdded() {\n this._isDraggable = true;\n this.div.focus();\n }\n isEmpty() {\n return !(this.#bitmapPromise || this.#bitmap || this.#bitmapUrl || this.#bitmapFile);\n }\n get isResizable() {\n return true;\n }\n render() {\n if (this.div) {\n return this.div;\n }\n let baseX, baseY;\n if (this.width) {\n baseX = this.x;\n baseY = this.y;\n }\n super.render();\n this.div.hidden = true;\n if (this.#bitmap) {\n this.#createCanvas();\n } else {\n this.#getBitmap();\n }\n if (this.width) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight);\n }\n return this.div;\n }\n #createCanvas() {\n const {\n div\n } = this;\n let {\n width,\n height\n } = this.#bitmap;\n const [pageWidth, pageHeight] = this.pageDimensions;\n const MAX_RATIO = 0.75;\n if (this.width) {\n width = this.width * pageWidth;\n height = this.height * pageHeight;\n } else if (width > MAX_RATIO * pageWidth || height > MAX_RATIO * pageHeight) {\n const factor = Math.min(MAX_RATIO * pageWidth / width, MAX_RATIO * pageHeight / height);\n width *= factor;\n height *= factor;\n }\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.setDims(width * parentWidth / pageWidth, height * parentHeight / pageHeight);\n this._uiManager.enableWaiting(false);\n const canvas = this.#canvas = document.createElement(\"canvas\");\n div.append(canvas);\n div.hidden = false;\n this.#drawBitmap(width, height);\n this.#createObserver();\n if (!this.#hasBeenAddedInUndoStack) {\n this.parent.addUndoableEditor(this);\n this.#hasBeenAddedInUndoStack = true;\n }\n this._uiManager._eventBus.dispatch(\"reporttelemetry\", {\n source: this,\n details: {\n type: \"editing\",\n subtype: this.editorType,\n data: {\n action: \"inserted_image\"\n }\n }\n });\n this.addAltTextButton();\n }\n #setDimensions(width, height) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.width = width / parentWidth;\n this.height = height / parentHeight;\n this.setDims(width, height);\n if (this._initialOptions?.isCentered) {\n this.center();\n } else {\n this.fixAndSetPosition();\n }\n this._initialOptions = null;\n if (this.#resizeTimeoutId !== null) {\n clearTimeout(this.#resizeTimeoutId);\n }\n const TIME_TO_WAIT = 200;\n this.#resizeTimeoutId = setTimeout(() => {\n this.#resizeTimeoutId = null;\n this.#drawBitmap(width, height);\n }, TIME_TO_WAIT);\n }\n #scaleBitmap(width, height) {\n const {\n width: bitmapWidth,\n height: bitmapHeight\n } = this.#bitmap;\n let newWidth = bitmapWidth;\n let newHeight = bitmapHeight;\n let bitmap = this.#bitmap;\n while (newWidth > 2 * width || newHeight > 2 * height) {\n const prevWidth = newWidth;\n const prevHeight = newHeight;\n if (newWidth > 2 * width) {\n newWidth = newWidth >= 16384 ? Math.floor(newWidth / 2) - 1 : Math.ceil(newWidth / 2);\n }\n if (newHeight > 2 * height) {\n newHeight = newHeight >= 16384 ? Math.floor(newHeight / 2) - 1 : Math.ceil(newHeight / 2);\n }\n const offscreen = new OffscreenCanvas(newWidth, newHeight);\n const ctx = offscreen.getContext(\"2d\");\n ctx.drawImage(bitmap, 0, 0, prevWidth, prevHeight, 0, 0, newWidth, newHeight);\n bitmap = offscreen.transferToImageBitmap();\n }\n return bitmap;\n }\n #drawBitmap(width, height) {\n width = Math.ceil(width);\n height = Math.ceil(height);\n const canvas = this.#canvas;\n if (!canvas || canvas.width === width && canvas.height === height) {\n return;\n }\n canvas.width = width;\n canvas.height = height;\n const bitmap = this.#isSvg ? this.#bitmap : this.#scaleBitmap(width, height);\n const ctx = canvas.getContext(\"2d\");\n ctx.filter = this._uiManager.hcmFilter;\n ctx.drawImage(bitmap, 0, 0, bitmap.width, bitmap.height, 0, 0, width, height);\n }\n #serializeBitmap(toUrl) {\n if (toUrl) {\n if (this.#isSvg) {\n const url = this._uiManager.imageManager.getSvgUrl(this.#bitmapId);\n if (url) {\n return url;\n }\n }\n const canvas = document.createElement(\"canvas\");\n ({\n width: canvas.width,\n height: canvas.height\n } = this.#bitmap);\n const ctx = canvas.getContext(\"2d\");\n ctx.drawImage(this.#bitmap, 0, 0);\n return canvas.toDataURL();\n }\n if (this.#isSvg) {\n const [pageWidth, pageHeight] = this.pageDimensions;\n const width = Math.round(this.width * pageWidth * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS);\n const height = Math.round(this.height * pageHeight * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS);\n const offscreen = new OffscreenCanvas(width, height);\n const ctx = offscreen.getContext(\"2d\");\n ctx.drawImage(this.#bitmap, 0, 0, this.#bitmap.width, this.#bitmap.height, 0, 0, width, height);\n return offscreen.transferToImageBitmap();\n }\n return structuredClone(this.#bitmap);\n }\n #createObserver() {\n this.#observer = new ResizeObserver(entries => {\n const rect = entries[0].contentRect;\n if (rect.width && rect.height) {\n this.#setDimensions(rect.width, rect.height);\n }\n });\n this.#observer.observe(this.div);\n }\n static deserialize(data, parent, uiManager) {\n if (data instanceof _annotation_layer.StampAnnotationElement) {\n return null;\n }\n const editor = super.deserialize(data, parent, uiManager);\n const {\n rect,\n bitmapUrl,\n bitmapId,\n isSvg,\n accessibilityData\n } = data;\n if (bitmapId && uiManager.imageManager.isValidId(bitmapId)) {\n editor.#bitmapId = bitmapId;\n } else {\n editor.#bitmapUrl = bitmapUrl;\n }\n editor.#isSvg = isSvg;\n const [parentWidth, parentHeight] = editor.pageDimensions;\n editor.width = (rect[2] - rect[0]) / parentWidth;\n editor.height = (rect[3] - rect[1]) / parentHeight;\n if (accessibilityData) {\n editor.altTextData = accessibilityData;\n }\n return editor;\n }\n serialize(isForCopying = false, context = null) {\n if (this.isEmpty()) {\n return null;\n }\n const serialized = {\n annotationType: _util.AnnotationEditorType.STAMP,\n bitmapId: this.#bitmapId,\n pageIndex: this.pageIndex,\n rect: this.getRect(0, 0),\n rotation: this.rotation,\n isSvg: this.#isSvg,\n structTreeParentId: this._structTreeParentId\n };\n if (isForCopying) {\n serialized.bitmapUrl = this.#serializeBitmap(true);\n serialized.accessibilityData = this.altTextData;\n return serialized;\n }\n const {\n decorative,\n altText\n } = this.altTextData;\n if (!decorative && altText) {\n serialized.accessibilityData = {\n type: \"Figure\",\n alt: altText\n };\n }\n if (context === null) {\n return serialized;\n }\n context.stamps ||= new Map();\n const area = this.#isSvg ? (serialized.rect[2] - serialized.rect[0]) * (serialized.rect[3] - serialized.rect[1]) : null;\n if (!context.stamps.has(this.#bitmapId)) {\n context.stamps.set(this.#bitmapId, {\n area,\n serialized\n });\n serialized.bitmap = this.#serializeBitmap(false);\n } else if (this.#isSvg) {\n const prevData = context.stamps.get(this.#bitmapId);\n if (area > prevData.area) {\n prevData.area = area;\n prevData.serialized.bitmap.close();\n prevData.serialized.bitmap = this.#serializeBitmap(false);\n }\n }\n return serialized;\n }\n}\nexports.StampEditor = StampEditor;\n\n/***/ })\n/******/ \t]);\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __w_pdfjs_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.\n(() => {\nvar exports = __webpack_exports__;\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"AbortException\", ({\n enumerable: true,\n get: function () {\n return _util.AbortException;\n }\n}));\nObject.defineProperty(exports, \"AnnotationEditorLayer\", ({\n enumerable: true,\n get: function () {\n return _annotation_editor_layer.AnnotationEditorLayer;\n }\n}));\nObject.defineProperty(exports, \"AnnotationEditorParamsType\", ({\n enumerable: true,\n get: function () {\n return _util.AnnotationEditorParamsType;\n }\n}));\nObject.defineProperty(exports, \"AnnotationEditorType\", ({\n enumerable: true,\n get: function () {\n return _util.AnnotationEditorType;\n }\n}));\nObject.defineProperty(exports, \"AnnotationEditorUIManager\", ({\n enumerable: true,\n get: function () {\n return _tools.AnnotationEditorUIManager;\n }\n}));\nObject.defineProperty(exports, \"AnnotationLayer\", ({\n enumerable: true,\n get: function () {\n return _annotation_layer.AnnotationLayer;\n }\n}));\nObject.defineProperty(exports, \"AnnotationMode\", ({\n enumerable: true,\n get: function () {\n return _util.AnnotationMode;\n }\n}));\nObject.defineProperty(exports, \"CMapCompressionType\", ({\n enumerable: true,\n get: function () {\n return _util.CMapCompressionType;\n }\n}));\nObject.defineProperty(exports, \"DOMSVGFactory\", ({\n enumerable: true,\n get: function () {\n return _display_utils.DOMSVGFactory;\n }\n}));\nObject.defineProperty(exports, \"FeatureTest\", ({\n enumerable: true,\n get: function () {\n return _util.FeatureTest;\n }\n}));\nObject.defineProperty(exports, \"GlobalWorkerOptions\", ({\n enumerable: true,\n get: function () {\n return _worker_options.GlobalWorkerOptions;\n }\n}));\nObject.defineProperty(exports, \"ImageKind\", ({\n enumerable: true,\n get: function () {\n return _util.ImageKind;\n }\n}));\nObject.defineProperty(exports, \"InvalidPDFException\", ({\n enumerable: true,\n get: function () {\n return _util.InvalidPDFException;\n }\n}));\nObject.defineProperty(exports, \"MissingPDFException\", ({\n enumerable: true,\n get: function () {\n return _util.MissingPDFException;\n }\n}));\nObject.defineProperty(exports, \"OPS\", ({\n enumerable: true,\n get: function () {\n return _util.OPS;\n }\n}));\nObject.defineProperty(exports, \"PDFDataRangeTransport\", ({\n enumerable: true,\n get: function () {\n return _api.PDFDataRangeTransport;\n }\n}));\nObject.defineProperty(exports, \"PDFDateString\", ({\n enumerable: true,\n get: function () {\n return _display_utils.PDFDateString;\n }\n}));\nObject.defineProperty(exports, \"PDFWorker\", ({\n enumerable: true,\n get: function () {\n return _api.PDFWorker;\n }\n}));\nObject.defineProperty(exports, \"PasswordResponses\", ({\n enumerable: true,\n get: function () {\n return _util.PasswordResponses;\n }\n}));\nObject.defineProperty(exports, \"PermissionFlag\", ({\n enumerable: true,\n get: function () {\n return _util.PermissionFlag;\n }\n}));\nObject.defineProperty(exports, \"PixelsPerInch\", ({\n enumerable: true,\n get: function () {\n return _display_utils.PixelsPerInch;\n }\n}));\nObject.defineProperty(exports, \"PromiseCapability\", ({\n enumerable: true,\n get: function () {\n return _util.PromiseCapability;\n }\n}));\nObject.defineProperty(exports, \"RenderingCancelledException\", ({\n enumerable: true,\n get: function () {\n return _display_utils.RenderingCancelledException;\n }\n}));\nObject.defineProperty(exports, \"SVGGraphics\", ({\n enumerable: true,\n get: function () {\n return _api.SVGGraphics;\n }\n}));\nObject.defineProperty(exports, \"UnexpectedResponseException\", ({\n enumerable: true,\n get: function () {\n return _util.UnexpectedResponseException;\n }\n}));\nObject.defineProperty(exports, \"Util\", ({\n enumerable: true,\n get: function () {\n return _util.Util;\n }\n}));\nObject.defineProperty(exports, \"VerbosityLevel\", ({\n enumerable: true,\n get: function () {\n return _util.VerbosityLevel;\n }\n}));\nObject.defineProperty(exports, \"XfaLayer\", ({\n enumerable: true,\n get: function () {\n return _xfa_layer.XfaLayer;\n }\n}));\nObject.defineProperty(exports, \"build\", ({\n enumerable: true,\n get: function () {\n return _api.build;\n }\n}));\nObject.defineProperty(exports, \"createValidAbsoluteUrl\", ({\n enumerable: true,\n get: function () {\n return _util.createValidAbsoluteUrl;\n }\n}));\nObject.defineProperty(exports, \"getDocument\", ({\n enumerable: true,\n get: function () {\n return _api.getDocument;\n }\n}));\nObject.defineProperty(exports, \"getFilenameFromUrl\", ({\n enumerable: true,\n get: function () {\n return _display_utils.getFilenameFromUrl;\n }\n}));\nObject.defineProperty(exports, \"getPdfFilenameFromUrl\", ({\n enumerable: true,\n get: function () {\n return _display_utils.getPdfFilenameFromUrl;\n }\n}));\nObject.defineProperty(exports, \"getXfaPageViewport\", ({\n enumerable: true,\n get: function () {\n return _display_utils.getXfaPageViewport;\n }\n}));\nObject.defineProperty(exports, \"isDataScheme\", ({\n enumerable: true,\n get: function () {\n return _display_utils.isDataScheme;\n }\n}));\nObject.defineProperty(exports, \"isPdfFile\", ({\n enumerable: true,\n get: function () {\n return _display_utils.isPdfFile;\n }\n}));\nObject.defineProperty(exports, \"loadScript\", ({\n enumerable: true,\n get: function () {\n return _display_utils.loadScript;\n }\n}));\nObject.defineProperty(exports, \"noContextMenu\", ({\n enumerable: true,\n get: function () {\n return _display_utils.noContextMenu;\n }\n}));\nObject.defineProperty(exports, \"normalizeUnicode\", ({\n enumerable: true,\n get: function () {\n return _util.normalizeUnicode;\n }\n}));\nObject.defineProperty(exports, \"renderTextLayer\", ({\n enumerable: true,\n get: function () {\n return _text_layer.renderTextLayer;\n }\n}));\nObject.defineProperty(exports, \"setLayerDimensions\", ({\n enumerable: true,\n get: function () {\n return _display_utils.setLayerDimensions;\n }\n}));\nObject.defineProperty(exports, \"shadow\", ({\n enumerable: true,\n get: function () {\n return _util.shadow;\n }\n}));\nObject.defineProperty(exports, \"updateTextLayer\", ({\n enumerable: true,\n get: function () {\n return _text_layer.updateTextLayer;\n }\n}));\nObject.defineProperty(exports, \"version\", ({\n enumerable: true,\n get: function () {\n return _api.version;\n }\n}));\nvar _util = __w_pdfjs_require__(1);\nvar _api = __w_pdfjs_require__(2);\nvar _display_utils = __w_pdfjs_require__(6);\nvar _text_layer = __w_pdfjs_require__(26);\nvar _annotation_editor_layer = __w_pdfjs_require__(27);\nvar _tools = __w_pdfjs_require__(5);\nvar _annotation_layer = __w_pdfjs_require__(29);\nvar _worker_options = __w_pdfjs_require__(14);\nvar _xfa_layer = __w_pdfjs_require__(32);\nconst pdfjsVersion = '3.11.174';\nconst pdfjsBuild = 'ce8716743';\n})();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n//# sourceMappingURL=pdf.js.map"],"names":["__viteBrowserExternal","root","factory","globalThis","__webpack_modules__","__unused_webpack_module","exports","Object","defineProperty","value","VerbosityLevel","Util","UnknownErrorException","UnexpectedResponseException","TextRenderingMode","RenderingIntentFlag","PromiseCapability","PermissionFlag","PasswordResponses","PasswordException","PageActionEventType","OPS","MissingPDFException","MAX_IMAGE_SIZE_TO_CACHE","LINE_FACTOR","LINE_DESCENT_FACTOR","InvalidPDFException","ImageKind","IDENTITY_MATRIX","FormatError","FeatureTest","FONT_IDENTITY_MATRIX","DocumentActionEventType","CMapCompressionType","BaseException","BASELINE_FACTOR","AnnotationType","AnnotationReplyType","AnnotationPrefix","AnnotationMode","AnnotationFlag","AnnotationFieldFlag","AnnotationEditorType","AnnotationEditorPrefix","AnnotationEditorParamsType","AnnotationBorderStyleType","AnnotationActionEventType","AbortException","assert","cond","msg","unreachable","bytesToString","createValidAbsoluteUrl","url","baseUrl","options","addDefaultProtocol","startsWith","dots","match","length","tryConvertEncoding","stringToUTF8String","absoluteUrl","URL","protocol","_isValidProtocol","getModificationDate","date","Date","getUTCFullYear","toString","getUTCMonth","padStart","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","join","getUuid","crypto","randomUUID","buf","Uint8Array","getRandomValues","i","Math","floor","random","getVerbosityLevel","verbosity","info","INFOS","console","log","isArrayBuffer","v","byteLength","isArrayEqual","arr1","arr2","ii","isNodeJS","normalizeUnicode","str","NormalizeRegex","NormalizationMap","Map","replaceAll","_","p1","p2","normalize","get","objectFromMap","map","obj","create","key","objectSize","keys","setVerbosityLevel","level","Number","isInteger","shadow","string32","String","fromCharCode","stringToBytes","stringToPDFString","encoding","decoder","TextDecoder","fatal","buffer","decode","ex","warn","strBuf","code","PDFStringTranslateTable","charCodeAt","push","charAt","utf8StringToString","unescape","encodeURIComponent","process","versions","nw","electron","type","ANY","DISPLAY","PRINT","SAVE","ANNOTATIONS_FORMS","ANNOTATIONS_STORAGE","ANNOTATIONS_DISABLE","OPLIST","DISABLE","ENABLE","ENABLE_FORMS","ENABLE_STORAGE","NONE","FREETEXT","STAMP","INK","RESIZE","CREATE","FREETEXT_SIZE","FREETEXT_COLOR","FREETEXT_OPACITY","INK_COLOR","INK_THICKNESS","INK_OPACITY","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","FILL","STROKE","FILL_STROKE","INVISIBLE","FILL_ADD_TO_PATH","STROKE_ADD_TO_PATH","FILL_STROKE_ADD_TO_PATH","ADD_TO_PATH","FILL_STROKE_MASK","ADD_TO_PATH_FLAG","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","TEXT","LINK","LINE","SQUARE","CIRCLE","POLYGON","POLYLINE","HIGHLIGHT","UNDERLINE","SQUIGGLY","STRIKEOUT","CARET","POPUP","FILEATTACHMENT","SOUND","MOVIE","WIDGET","SCREEN","PRINTERMARK","TRAPNET","WATERMARK","THREED","REDACT","GROUP","REPLY","HIDDEN","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","REQUIRED","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","SOLID","DASHED","BEVELED","INSET","E","X","D","U","Fo","Bl","PO","PC","PV","PI","K","F","V","C","WC","WS","DS","WP","DP","O","ERRORS","WARNINGS","BINARY","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","save","restore","transform","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotation","endAnnotation","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","NEED_PASSWORD","INCORRECT_PASSWORD","Error","prop","nonSerializable","enumerable","configurable","writable","message","name","this","constructor","prototype","bytes","MAX_ARGUMENT_COUNT","apply","chunkEnd","min","chunk","subarray","super","details","status","isLittleEndian","buffer8","Uint32Array","isEvalSupported","Function","isOffscreenCanvasSupported","OffscreenCanvas","platform","navigator","isWin","isMac","includes","isCSSRoundSupported","_b","_a","CSS","supports","hexNumbers","Array","n","makeHexColor","r","g","b","scaleMinMax","minMax","temp","m1","m2","applyTransform","p","m","applyInverseTransform","d","getAxialAlignedBoundingBox","slice","p3","p4","max","inverseTransform","singularValueDecompose2dScale","transpose","a","c","first","second","sqrt","sx","sy","normalizeRect","rect","intersect","rect1","rect2","xLow","xHigh","yLow","yHigh","bezierBoundingBox","x0","y0","x1","y1","x2","y2","x3","y3","tvalues","bounds","t","t1","t2","b2ac","sqrtb2ac","abs","mt","j","jlen","decodeURIComponent","escape","_settled","WeakMap","__privateAdd","promise","Promise","resolve","reject","data","__privateSet","reason","settled","__privateGet","__w_pdfjs_require__","RenderTask","PDFWorkerUtil","PDFWorker","PDFPageProxy","PDFDocumentProxy","PDFDocumentLoadingTask","PDFDataRangeTransport","LoopbackPort","DefaultStandardFontDataFactory","DefaultFilterFactory","DefaultCanvasFactory","DefaultCMapReaderFactory","_displaySvg","SVGGraphics","build","getDocument","version","_util","_annotation_storage","_display_utils","_font_loader","_displayNode_utils","_canvas","_worker_options","_message_handler","_metadata","_optional_content_config","_transport_stream","_displayFetch_stream","_displayNetwork","_displayNode_stream","_xfa_text","DEFAULT_RANGE_CHUNK_SIZE","RENDERING_CANCELLED_TIMEOUT","DELAYED_CLEANUP_TIMEOUT","NodeCanvasFactory","DOMCanvasFactory","NodeCMapReaderFactory","DOMCMapReaderFactory","NodeFilterFactory","DOMFilterFactory","NodeStandardFontDataFactory","DOMStandardFontDataFactory","src","range","task","docId","getUrlProp","getDataProp","httpHeaders","withCredentials","password","rangeTransport","rangeChunkSize","worker","docBaseUrl","isDataScheme","cMapUrl","cMapPacked","CMapReaderFactory","standardFontDataUrl","StandardFontDataFactory","ignoreErrors","stopAtErrors","maxImageSize","canvasMaxAreaInBytes","disableFontFace","fontExtraProperties","enableXfa","ownerDocument","document","disableRange","disableStream","disableAutoFetch","pdfBug","NaN","useSystemFonts","useWorkerFetch","isValidFetchUrl","baseURI","canvasFactory","filterFactory","transportFactory","cMapReaderFactory","isCompressed","standardFontDataFactory","workerParams","port","GlobalWorkerOptions","workerPort","fromPort","_worker","fetchDocParams","apiVersion","evaluatorOptions","transportParams","styleElement","then","destroyed","workerIdPromise","_fetchDocument","networkStreamPromise","networkStream","params","PDFDataTransportStream","initialData","progressiveDone","contentDispositionFilename","PDFNodeStream","PDFFetchStream","PDFNetworkStream","all","workerId","messageHandler","MessageHandler","transport","WorkerTransport","_transport","send","catch","_capability","async","source","sendWithPromise","val","href","window","location","Buffer","isNaN","_PDFDocumentLoadingTask","__privateWrapper","_docId","onPassword","onProgress","destroy","_pendingDestroy","_c","_rangeListeners","_progressListeners","_progressiveReadListeners","_progressiveDoneListeners","_readyCapability","addRangeListener","listener","addProgressListener","addProgressiveReadListener","addProgressiveDoneListener","onDataRange","begin","onDataProgress","loaded","total","onDataProgressiveRead","onDataProgressiveDone","transportReady","requestDataRange","end","abort","pdfInfo","_pdfInfo","deprecated","getJSActions","js","jsArr","annotationStorage","numPages","fingerprints","isPureXfa","_htmlForXfa","allXfaHtml","getPage","pageNumber","getPageIndex","ref","getDestinations","getDestination","id","getPageLabels","getPageLayout","getPageMode","getViewerPreferences","getOpenAction","getAttachments","getDocJSActions","getOutline","getOptionalContentConfig","getPermissions","getMetadata","getMarkInfo","getData","saveDocument","getDownloadInfo","downloadInfoCapability","cleanup","keepLoadedFonts","startCleanup","loadingTask","loadingParams","getFieldObjects","hasJSActions","getCalculationOrderIds","pageIndex","pageInfo","_PDFPageProxy_instances","_delayedCleanupTimeout","_pendingCleanup","_pageIndex","_pageInfo","_stats","StatTimer","_pdfBug","commonObjs","objs","PDFObjects","_maybeCleanupAfterRender","_intentStates","rotate","userUnit","view","getViewport","scale","rotation","offsetX","offsetY","dontFlip","PageViewport","viewBox","getAnnotations","intent","intentArgs","getRenderingIntent","renderingIntent","getPageJSActions","getXfa","children","render","canvasContext","viewport","annotationMode","background","optionalContentConfigPromise","annotationCanvasMap","pageColors","printAnnotationStorage","time","__privateMethod","abortDelayedCleanup_fn","call","intentState","cacheKey","set","streamReaderCancelTimeout","clearTimeout","intentPrint","displayReadyCapability","operatorList","fnArray","argsArray","lastChunk","separateAnnots","_pumpOperatorList","complete","error","renderTasks","delete","internalRenderTask","tryCleanup_fn","capability","_abortOperatorList","timeEnd","InternalRenderTask","callback","useRequestAnimationFrame","Set","add","renderTask","transparency","optionalContentConfig","initializeGraphics","operatorListChanged","getOperatorList","opListTask","opListReadCapability","streamTextContent","includeMarkedContent","disableNormalization","sendWithStream","highWaterMark","size","textContent","items","getTextContent","xfa","XfaText","readableStream","reader","getReader","styles","pump","read","done","assign","getStructTree","_destroy","waitOn","values","force","completed","cancel","clear","resetStats","success","_startRenderPage","_renderPageChunk","operatorListChunk","annotationStorageSerializable","transfers","streamReader","RenderingCancelledException","delay","extraDelay","setTimeout","curCacheKey","curIntentState","stats","WeakSet","delayed","_listeners","_deferred","postMessage","transfer","event","structuredClone","addEventListener","removeEventListener","terminate","isWorkerDisabled","fallbackWorkerSrc","fakeWorkerId","require","pdfjsFilePath","currentScript","replace","isSameOrigin","otherUrl","base","origin","other","createCDNWrapper","wrapper","createObjectURL","Blob","_PDFWorker","_port","_webWorker","_messageHandler","_workerPorts","has","_initializeFromPort","_initialize","on","_mainThreadWorkerMessageHandler","workerSrc","Worker","terminateEarly","onWorkerError","_setupFakeWorker","sendTest","testObj","_setupFakeWorkerGlobal","WorkerMessageHandler","workerHandler","setup","cachedPort","pdfjsWorker","loader","mainWorkerMessageHandler","eval","loadScript","_WorkerTransport_instances","_methodPromises","_pageCache","_pagePromises","_passwordCapability","fontLoader","FontLoader","_params","destroyCapability","_networkStream","_fullReader","_lastProgress","setupMessageHandler","AnnotationStorage","isOpList","SerializableEmpty","PrintAnnotationStorage","serializable","hash","page","hasOwnProperty","resetModified","terminated","cancelAllRequests","sink","getFullReader","evt","onPull","close","ArrayBuffer","enqueue","onCancel","ready","readyReason","headersCapability","fullReader","headersReady","isStreamingSupported","isRangeSupported","contentLength","rangeReader","getRangeReader","_numPages","htmlForXfa","exception","updatePassword","exportedData","exportedError","inspectFont","FontInspector","enabled","font","fontAdded","FontFaceObject","bind","finally","imageData","pageProxy","bitmap","width","height","fetch","filename","cachedPromise","num","gen","results","OptionalContentConfig","metadata","Metadata","cacheSimpleMethod_fn","_PDFObjects_instances","_objs","objId","ensureObj_fn","_internalRenderTask","onContinue","form","canvas","_InternalRenderTask","operatorListIdx","running","graphicsReadyCallback","graphicsReady","_useRequestAnimationFrame","cancelled","_cancelBound","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","_next","_canvasInUse","StepperManager","stepper","init","nextBreakPoint","getNextBreakPoint","gfx","CanvasGraphics","beginDrawing","endDrawing","updateOperatorList","requestAnimationFrame","executeOperatorList","_editor","_murmurhash","freeze","_AnnotationStorage_instances","_modified","_storage","onSetModified","onResetModified","onAnnotationEditor","getValue","defaultValue","getRawValue","remove","AnnotationEditor","setValue","modified","entry","entries","setModified_fn","_type","getAll","setAll","print","MurmurHash3_64","context","hasBitmap","serialized","serialize","update","JSON","stringify","hexdigest","parent","_serializable","clone","_tools","_AnnotationEditor","parameters","_AnnotationEditor_instances","_altText","_altTextDecorative","_altTextButton","_altTextTooltip","_altTextTooltipTimeout","_keepAspectRatio","_resizersDiv","_boundFocusin","focusin","_boundFocusout","focusout","_hasBeenClicked","_isEditing","_isInEditMode","__publicField","_isDraggable","_zIndex","div","_uiManager","uiManager","annotationElementId","_willKeepAspectRatio","_initialOptions","isCentered","_structTreeParentId","rawDims","pageWidth","pageHeight","pageX","pageY","pageRotation","viewParameters","pageDimensions","pageTranslation","parentDimensions","x","y","isAttachedToDOM","deleted","editorType","getPrototypeOf","_defaultLineColor","_colorManager","getHexCode","deleteAnnotationElement","editor","fakeEditor","FakeEditor","getNextId","addToAnnotationStorage","initialize","l10n","_l10nPromise","strings","_borderLineWidth","style","getComputedStyle","documentElement","parseFloat","getPropertyValue","updateDefaultParams","_value","defaultPropertiesToUpdate","isHandlingMimeForPasting","mime","paste","item","propertiesToUpdate","classList","toggle","center","parentRotation","fixAndSetPosition","addCommands","currentLayer","setInBackground","zIndex","setInForeground","setParent","_focusEventsAllowed","setSelected","target","relatedTarget","closest","preventDefault","isMultipleSelection","commitOrRemove","isEmpty","commit","setAt","tx","ty","screenToPageTranslation","translate","translate_fn","translateInPage","scrollIntoView","block","drag","parentWidth","parentHeight","getBoundingClientRect","findNewParent","bx","by","getBaseTranslation_fn","left","toFixed","top","moveInDOM","_AnnotationEditor_static","rotatePoint_fn","pageTranslationToScreen","parentScale","realScale","scaledWidth","scaledHeight","round","setDims","SMALL_EDITOR_SIZE","fixDims","widthPercent","endsWith","heightPercent","getInitialTranslation","addAltTextButton","altText","createElement","className","setAttribute","tabIndex","noContextMenu","stopPropagation","editAltText","capture","setAltTextButtonState_fn","append","PERCENT","getClientDimensions","altTextData","decorative","maxWidth","maxHeight","bindEvents","pointerdown","button","ctrlKey","moveEditorInDOM","_setParentAndPosition","changeParent","getRect","shiftX","shiftY","getRectInCurrentCoords","onceAdded","enableEditMode","disableEditMode","isInEditMode","shouldGetKeyboardEvents","needsToBeRebuilt","rebuild","isForCopying","deserialize","removeEditor","isResizable","makeResizable","createResizers_fn","select","unselect","contains","activeElement","focus","updateParams","disableEditing","hidden","enableEditing","enterInEditMode","contentDiv","isEditing","setActiveEditor","setAspectRatio","aspectRatio","MIN_SIZE","angle","getRotationMatrix_fn","classes","prepend","resizerPointerdown_fn","boundResizerPointermove","resizerPointermove_fn","savedDraggable","pointerMoveOptions","passive","savedX","savedY","savedWidth","savedHeight","savedParentCursor","cursor","savedCursor","pointerUpCallback","newX","newY","newWidth","newHeight","cmd","undo","mustExec","minWidth","minHeight","rotationMatrix","transf","invRotationMatrix","getPoint","getOpposite","isDiagonal","isHorizontal","w","h","point","oppositePoint","transfOppositePoint","oppositeX","oppositeY","ratioX","ratioY","deltaX","deltaY","movementX","movementY","oldDiag","hypot","tooltip","DELAY_TO_SHOW_TOOLTIP","_eventBus","dispatch","subtype","action","innerText","parentNode","setUpDragSession_fn","isSelected","pointerMoveCallback","setUpDragSession","e","dragSelectedEditors","endDragSession","shiftKey","metaKey","toggleSelected","ColorManager","KeyboardManager","CommandManager","AnnotationEditorUIManager","element","names","opacityToHex","opacity","IdManager","_id","getId","_ImageManager","_ImageManager_instances","_baseId","_cache","_isSVGFittingCanvas","ctx","getContext","image","Image","drawImage","getImageData","getFromFile","file","lastModified","get_fn","getFromUrl","getFromId","refCounter","getSvgUrl","isSvg","svgUrl","deleteId","isValidId","rawData","response","ok","statusText","blob","mustRemoveAspectRatioPromise","fileReader","FileReader","imageElement","imagePromise","onload","result","onerror","readAsDataURL","createImageBitmap","ImageManager","maxSize","_commands","_locked","_maxSize","_position","overwriteIfSameType","keepUndo","next","splice","redo","hasSomethingToUndo","hasSomethingToRedo","callbacks","_KeyboardManager_instances","allKeys","isMacKey","split","at","exec","self","serialize_fn","bubbles","args","checker","altKey","_ColorManager","_colors","colors","getColorValues","convert","color","rgb","getRGB","matchMedia","matches","RGB","every","_colorsMapping","_AnnotationEditorUIManager","container","viewer","altTextManager","eventBus","pdfDocument","_AnnotationEditorUIManager_instances","_activeEditor","_allEditors","_allLayers","_altTextManager","_annotationStorage","_commandManager","_currentPageIndex","_deletedAnnotationsElementIds","_draggingEditors","_editorTypes","_editorsToRescale","_filterFactory","_idManager","_isEnabled","_isWaiting","_lastActiveElement","_mode","_selectedEditors","_pageColors","_boundBlur","blur","_boundFocus","_boundCopy","copy","_boundCut","cut","_boundPaste","_boundKeydown","keydown","_boundOnEditingAction","onEditingAction","_boundOnPageChanging","onPageChanging","_boundOnScaleChanging","onScaleChanging","_boundOnRotationChanging","onRotationChanging","_previousStates","hasSelectedEditor","_translation","_translationTimeoutId","_container","_viewer","_on","PixelsPerInch","PDF_TO_CSS_UNITS","_keyboardManager","proto","arrowChecker","hasSomethingToControl","small","TRANSLATE_SMALL","big","TRANSLATE_BIG","selectAll","unselectAll","translateSelectedEditors","removeKeyboardManager_fn","removeFocusManager_fn","_off","layer","hcmFilter","addHCMFilter","foreground","direction","focusMainContainer","findParent","layerX","layerY","disableUserSelect","addShouldRescale","removeShouldRescale","pagesRotation","hasSelection","lastEditor","lastActiveElement","once","addEditListeners","addKeyboardManager_fn","addCopyPasteListeners_fn","removeEditListeners","removeCopyPasteListeners_fn","editors","clipboardData","setData","parse","isArray","newEditors","deserializedEditor","getActive","setEditingState","addFocusManager_fn","isEmpty_fn","registerEditorTypes","types","dispatchUpdateUI_fn","getLayer","currentPageIndex","addLayer","enable","disable","removeLayer","updateMode","mode","editId","disableAll_fn","enableAll_fn","updateToolbar","addNewEditor","enableWaiting","mustWait","disableClick","enableClick","getEditors","getEditor","addEditor","addDeletedAnnotationElement","isDeletedAnnotationElement","removeDeletedAnnotationElement","ed","selectEditors_fn","noCommit","totalX","totalY","savedPageIndex","newPageIndex","mustBeAddedInUndoStack","move","addOrRebuild","isActive","getMode","imageManager","dispatchUpdateStates_fn","some","addEditorToLayer_fn","PDFDateString","DOMSVGFactory","span","visibility","body","computedColor","getCurrentTransform","f","getTransform","getCurrentTransformInverse","invertSelf","getFilenameFromUrl","onlyStripPath","substring","lastIndexOf","getPdfFilenameFromUrl","defaultFilename","reFilename","splitURI","suggestedFilename","getXfaPageViewport","xfaPage","attributes","parseInt","isPdfFile","test","removeScriptElement","script","head","setLayerDimensions","mustFlip","mustRotate","useRound","widthStr","heightStr","_base_factory","SVG_NS","_PixelsPerInch","PDF","pdfDateStringRegex","BaseFilterFactory","_DOMFilterFactory_instances","__cache","__defs","_document","_hcmFilter","_hcmKey","_hcmUrl","_hcmHighlightFilter","_hcmHighlightKey","_hcmHighlightUrl","addFilter","maps","tableR","tableG","tableB","cache_get","mapR","mapG","mapB","bufferR","bufferG","bufferB","filter","createFilter_fn","addTransferMapConversion_fn","fgColor","bgColor","fgRGB","getRGB_fn","bgRGB","defs_get","table","getSteps","start","arr","addHighlightHCMFilter","newFgColor","newBgColor","fgGray","bgGray","newFgRGB","newBgRGB","fg","bg","step","newStart","newStep","prev","k","keepHCM","contain","position","svg","createElementNS","addGrayConversion_fn","feColorMatrix","appendFeFunc_fn","feComponentTransfer","func","feFunc","rTable","gTable","bTable","BaseCanvasFactory","_createCanvas","fetchData","asTypedArray","arrayBuffer","text","request","XMLHttpRequest","open","responseType","onreadystatechange","readyState","DONE","responseText","BaseCMapReaderFactory","_fetchData","compressionType","cMapData","BaseStandardFontDataFactory","BaseSVGFactory","_createSVG","centerX","centerY","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","convertToViewportPoint","convertToViewportRectangle","topLeft","bottomRight","convertToPdfPoint","trim","toLowerCase","colorRGB","started","now","times","outBuf","longest","padEnd","toDateObject","input","RegExp","year","month","day","hour","minute","universalTimeRelation","offsetHour","offsetMinute","UTC","reset","canvasAndContext","skipDimensions","SEED","MASK_HIGH","MASK_LOW","seed","h1","h2","blockCounts","tailLength","dataUint32","k1","k2","C1","C2","C1_LOW","C2_LOW","_systemFonts","nativeFontFaces","loadingRequests","loadTestFontId","addNativeFontFace","nativeFontFace","fonts","removeNativeFontFace","insertRule","rule","getElementsByTagName","styleSheet","sheet","cssRules","loadSystemFont","loadedName","isFontLoadingAPISupported","fontFace","FontFace","load","baseFontName","attached","missingFile","systemFontInfo","createNativeFontFace","family","createFontFaceRule","isSyncFontLoadingSupported","_queueLoadingCallback","_prepareFontLoadEvent","hasFonts","supported","userAgent","otherRequest","shift","_loadTestFont","testFont","atob","int32","offset","spliceString","s","insert","called","XXXX_VALUE","checksum","btoa","fontFamily","isFontReady","fillText","translatedData","compiledGlyphs","_inspectFont","cssFontInfo","css","weight","fontWeight","italicAngle","mimetype","getPathGenerator","character","cmds","jsBuf","current","require$$0","readFile","require$$1","createCanvas","_pattern_helper","_image_utils","MAX_GROUP_SIZE","FULL_CHUNK_HEIGHT","CachedCanvases","cache","getCanvas","canvasEntry","drawImageAtIntegerCoords","srcImg","srcX","srcY","srcW","srcH","destX","destY","destW","destH","tlX","rTlX","tlY","rTlY","brX","rWidth","brY","rHeight","setTransform","sign","CanvasExtraState","alphaIsShape","fontSize","fontSizeScale","textMatrix","textMatrixScale","fontMatrix","leading","lineX","lineY","charSpacing","wordSpacing","textHScale","textRenderingMode","textRise","fillColor","strokeColor","patternFill","fillAlpha","strokeAlpha","lineWidth","activeSMask","transferMaps","startNewPathAndClipBox","clipBox","setCurrentPoint","updatePathMinMax","minX","minY","maxX","maxY","updateRectMinMax","updateScalingPathMinMax","updateCurvePathMinMax","box","getPathBoundingBox","pathType","PathType","xStrokePad","yStrokePad","updateClipFromPath","isEmptyClip","Infinity","getClippedPathBoundingBox","putBinaryImageData","imgData","ImageData","putImageData","partialChunkHeight","fullChunks","totalChunks","chunkImgData","createImageData","destPos","srcPos","dest","thisChunkHeight","elemsInThisChunk","kind","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","srcDiff","kEnd","kEndUnrolled","mask","srcByte","putBinaryImageMask","convertBlackAndWhiteToRGBA","nonBlackColor","copyCtxState","sourceCtx","destCtx","properties","property","setLineDash","getLineDash","lineDashOffset","resetCtxToDefault","strokeStyle","fillStyle","fillRule","globalAlpha","lineCap","lineJoin","miterLimit","globalCompositeOperation","composeSMaskBackdrop","r0","g0","b0","alpha","alpha_","composeSMaskAlpha","maskData","layerData","transferMap","composeSMaskLuminosity","composeSMask","smask","layerCtx","layerBox","layerOffsetX","layerOffsetY","layerWidth","layerHeight","maskCtx","backdrop","maskOffsetX","maskOffsetY","hasBackdrop","composeFn","chunkSize","ceil","row","chunkHeight","genericComposeSMask","getImageSmoothingEnabled","interpolate","fround","actualScale","devicePixelRatio","LINE_CAP_STYLES","LINE_JOIN_STYLES","NORMAL_CLIP","EO_CLIP","_CanvasGraphics_instances","restoreInitialState_fn","stateStack","inSMaskMode","transparentCanvas","compositeCtx","drawFilter_fn","hcmFilterId","savedFilter","_CanvasGraphics","canvasCtx","markedContentStack","pendingClip","pendingEOFill","res","xobjs","groupStack","processingType3","baseTransform","baseTransformStack","groupLevel","smaskStack","smaskCounter","tempSMask","suspendedCtx","contentVisible","cachedCanvases","cachedPatterns","viewportScale","outputScaleX","outputScaleY","_cachedScaleForStroking","_cachedGetSinglePixelWidth","_cachedBitmapsMap","getObject","fallback","savedFillStyle","fillRect","executionStartIdx","continueCallback","argsArrayLen","chunkOperations","endTime","steps","fnId","breakIt","depObjId","objsPool","HTMLCanvasElement","_scaleImage","img","tmpCanvas","tmpCtx","widthScale","heightScale","paintWidth","paintHeight","tmpCanvasId","clearRect","_createMaskCanvas","isPatternFill","currentTransform","scaled","maskCanvas","count","mainKey","cachedImage","maskToCanvas","cord1","cord2","drawnWidth","drawnHeight","fillCanvas","fillCtx","imageSmoothingEnabled","inverse","getPattern","limit","dashArray","dashPhase","flatness","states","checkSMaskState","beginSMaskMode","endSMaskMode","cacheId","scratchCanvas","_removeMirroring","__originalSave","__originalRestore","__originalRotate","__originalScale","__originalTranslate","__originalTransform","__originalSetTransform","__originalResetTransform","resetTransform","__originalClip","__originalMoveTo","__originalLineTo","__originalBezierCurveTo","bezierCurveTo","__originalRect","__originalClosePath","__originalBeginPath","beginPath","cp1x","cp1y","cp2x","cp2y","mirrorContextOperations","compose","dirtyBox","old","pop","ops","startX","startY","isScalingMatrix","minMaxForBezier","xw","yh","consumePath","rescaleAndStroke","needRestore","paths","pendingTextPaths","path","addToPath","spacing","fontRefName","fontObj","fontDirection","isType3Font","typeface","fallbackName","bold","italic","browserFontSize","rise","paintChar","patternTransform","fillStrokeMode","isAddToPathSet","strokeText","isFontSubpixelAAEnabled","glyphs","showType3Text","glyphsLength","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","pattern","getSinglePixelWidth","isInvalidPDFjsFont","chars","glyph","unicode","restoreNeeded","isSpace","fontChar","accent","scaledX","scaledY","vmetric","vx","vy","remeasure","measuredWidth","measureText","characterScaleX","isInFont","scaledAccentX","scaledAccentY","spacingLength","charProcOperatorList","operatorListId","xWidth","yWidth","llx","lly","urx","ury","getColorN_Pattern","IR","canvasGraphicsFactory","createCanvasGraphics","TilingPattern","_getPattern","arguments","matrix","getShadingPattern","SHADING","inv","bbox","group","currentCtx","isolated","knockout","canvasBounds","scaleX","scaleY","groupCtx","startTransformInverse","currentMtx","hasOwnCanvas","canvasWidth","canvasHeight","annotationCanvas","savedCtx","compiled","POINT_TYPES","width1","j0","points","lineSize","pos","elem","sum","Int32Array","Path2D","p0","pp","compileType3Glyph","skewX","skewY","positions","trans","images","applyTransferMapsToCanvas","applyTransferMapsToBitmap","imgToPaint","HTMLElement","tag","visible","isVisible","isContentVisible","absDet","normX","normY","getScaleForStroking","scaledLineWidth","scaledXLineWidth","scaledYLineWidth","baseArea","saveRestore","dashes","op","RadialAxialShadingPattern","MeshShadingPattern","DummyShadingPattern","applyBoundingBox","region","BaseShadingPattern","_bbox","_colorStops","_p0","_p1","_r0","_r1","_createGradient","grad","createLinearGradient","createRadialGradient","colorStop","addColorStop","owner","ownerBBox","createPattern","domMatrix","DOMMatrix","drawTriangle","c1","c2","c3","coords","rowSize","tmp","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","xa","car","cag","cab","xb","cbr","cbg","cbb","x1_","x2_","drawFigure","figure","ps","cs","verticesPerRow","rows","cols","q","_coords","_figures","_bounds","_background","_createMeshCanvas","combinedScale","backgroundColor","boundsWidth","boundsHeight","paddedWidth","BORDER_SIZE","paddedHeight","matrixScale","temporaryPatternCanvas","PaintType","_TilingPattern","xstep","ystep","paintType","tilingType","createPatternCanvas","curMatrixScale","dimx","getSizeAndScale","dimy","graphics","setFillAndStrokeStyleToContext","adjustedX0","adjustedY0","adjustedX1","adjustedY1","clipBbox","realOutputSize","MAX_PATTERN_SIZE","bboxWidth","bboxHeight","cssColor","convertToRGBA","len32","src32","s1","s2","s3","jj","convertRGBToRGBA","grayToRGBA","inverseDecode","zeroMapping","oneMapping","widthInSource","widthRemainder","CallbackKind","StreamKind","wrapReason","_MessageHandler_instances","createStreamSink_fn","streamId","sourceName","targetName","comObj","actionHandler","streamSink","isCancelled","lastDesiredSize","desiredSize","sinkCapability","stream","streamSinks","processStreamMessage_fn","streamController","streamControllers","startCall","pullCall","isClosed","controller","deleteStreamController_fn","cancelCall","allSettled","callbackId","callbackCapabilities","_onComObjOnMessage","cbSourceName","cbTargetName","actionName","handler","ah","queueingStrategy","ReadableStream","startCapability","pull","pullCapability","cancelCapability","_metadataMap","_data","parsedData","getRaw","INTERNAL","Symbol","OptionalContentGroup","_visible","_setVisible","internal","_cachedGetHash","_groups","_initialHash","_order","_OptionalContentConfig_instances","evaluateVisibilityExpression_fn","array","operator","state","creator","order","groups","baseState","off","getHash","expression","policy","ids","setVisibility","hasInitialVisibility","getOrder","getGroups","getGroup","pdfDataRangeTransport","_queuedChunks","_progressiveDone","_contentDispositionFilename","_pdfDataRangeTransport","_isStreamingSupported","_isRangeSupported","_contentLength","_fullRequestReader","_rangeReaders","_onReceiveData","_onProgress","_onProgressiveDone","_enqueue","found","_begin","_progressiveDataLength","_loaded","_d","_removeRangeReader","indexOf","queuedChunks","PDFDataTransportStreamReader","PDFDataTransportStreamRangeReader","_stream","_done","_filename","_requests","_headersReady","requestCapability","_end","_queuedChunk","_network_utils","createFetchOptions","headers","abortController","method","signal","credentials","redirect","createHeaders","Headers","getArrayBuffer","isHttp","_rangeRequestReaders","PDFFetchStreamReader","PDFFetchStreamRangeReader","_reader","_withCredentials","_headersCapability","_disableRange","_rangeChunkSize","_abortController","AbortController","_headers","validateResponseStatus","createResponseStatusError","getResponseHeader","allowRangeRequests","suggestedLength","validateRangeRequestCapabilities","extractFilenameFromHeader","_readCapability","contentDisposition","_content_disposition","getFilenameFromContentDispositionHeader","returnValues","needsEncodingFixup","toParamRegExp","rfc2616unquote","rfc5987decode","rfc2047decode","fixupEncoding","contentDispositionStr","iter","quot","part","parts","rfc2231getparam","attributePattern","flags","textdecode","quotindex","extvalue","encodingend","charset","hex","NetworkManager","currXhrId","pendingRequests","requestRange","listeners","requestFull","xhr","xhrId","pendingRequest","setRequestHeader","expectedStatus","onError","onStateChange","onprogress","onHeadersReceived","onDone","xhrStatus","rangeHeader","getRequestXhr","isPendingRequest","abortRequest","_source","_manager","_onRangeRequestReaderClosed","PDFNetworkStreamFullRequestReader","PDFNetworkStreamRangeRequestReader","onClosed","manager","_onHeadersReceived","_onDone","_onError","_url","_fullRequestId","_headersReceivedCapability","_cachedChunks","_storedError","fullRequestXhrId","fullRequestXhr","lengthComputable","_requestId","_close","fileUriRegex","sourceUrl","require$$2","parsedUrl","host","parseUrl","isFsUrl","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","_readableStream","_error","_setReadableStream","BaseRangeReader","createRequestOptions","auth","hostname","handleResponse","statusCode","_request","http","require$$3","https","require$$4","_httpHeaders","Range","fs","lstat","stat","createReadStream","SVG_DEFAULTS","contentType","forceDataSchema","digits","b1","b2","b3","convertImgDataToPng","PNG_HEADER","crcTable","writePngChunk","len","crc","crc32","deflateSyncUncompressed","literals","maxBlockLength","deflateBlocks","idat","pi","adler","adler32","encode","isMask","bitDepth","colorType","offsetLiterals","offsetBytes","ihdr","node","from","output","require$$5","deflateSync","pngLength","CHUNK_WRAPPER_SIZE","SVGExtraState","dependencies","activeClipUrl","clipGroup","maskId","pf","pm","acos","clipCount","maskCount","shadingCount","svgFactory","transformMatrix","transformStack","extraStack","embedFonts","embeddedFonts","cssStyle","_operatorIdMapping","tgrp","executeOpTree","loadDependencies","getSVG","svgElement","convertOpList","operatorIdMapping","opList","fn","opTree","opListElement","opListToTree","opTreeElement","lineMatrix","xcoords","ycoords","tspan","setAttributeNS","txtElement","txtgrp","fontStyle","lineWidthScale","_setStrokeAttributes","_ensureTransformGroup","addFontStyle","defs","hasChildNodes","setStrokeAlpha","setFillAlpha","_makeColorN_Pattern","_makeShadingPattern","_makeTilingPattern","tilingId","tx0","ty0","tx1","ty1","xscale","yscale","txstep","tystep","tiling","childNodes","shadingId","colorStops","gradient","point0","point1","focalPoint","circlePoint","focalRadius","circleRadius","stop","getAttributeNS","clipId","clipPath","clipElement","cloneNode","imgSrc","cliprect","imgEl","definitions","rootGroup","_ensureClipGroup","walk","shouldBuildText","child","TextLayerRenderTask","renderTextLayer","textContentSource","textContentStream","scaleFactor","_render","updateTextLayer","textDivs","textDivProperties","mustRescale","getCtx","prevFontSize","prevFontFamily","layout","DEFAULT_FONT_SIZE","ascentCache","appendText","geom","textDiv","hasText","hasEOL","_textDivs","_transform","atan2","fontName","fontHeight","fontAscent","cachedAscent","metrics","ascent","fontBoundingBoxAscent","descent","fontBoundingBoxDescent","ratio","pixels","getAscent","_isOffscreenCanvasSupported","sin","cos","scaleFactorStr","divStyle","_rootContainer","_pageWidth","_pageHeight","dir","_fontInspectorEnabled","dataset","shouldScaleText","absScaleX","absScaleY","_textDivProperties","_isReadableStream","_layoutText","textContentItemsStr","_textContentSource","_textContentItemsStr","_canceled","_layoutTextParams","_processItems","styleCache","br","AnnotationEditorLayer","_freetext","_ink","_stamp","_AnnotationEditorLayer","accessibilityManager","annotationLayer","_AnnotationEditorLayer_instances","_accessibilityManager","_allowClick","_annotationLayer","_boundPointerup","pointerup","_boundPointerdown","_editors","_hadPointerDown","_isCleaningUp","_isDisabling","editorTypes","FreeTextEditor","InkEditor","StampEditor","_initialized","cleanup_fn","addInkEditorIfNeeded","isCommitting","createAndAddNewEditor_fn","pointerEvents","annotationElementIds","editables","getEditableAnnotations","editable","hide","hiddenAnnotationIds","getEditableAnnotation","show","attach","detach","removePointerInTextLayer","moveElementInDOM","addUndoableEditor","pasteEditor","getCenterPoint_fn","createNewEditor_fn","annotationType","annotationEditorType","innerWidth","innerHeight","_annotation_layer","_FreeTextEditor","_FreeTextEditor_instances","_boundEditorDivBlur","editorDivBlur","_boundEditorDivFocus","editorDivFocus","_boundEditorDivInput","editorDivInput","_boundEditorDivKeydown","editorDivKeydown","_color","_content","_editorDivId","_fontSize","_initialData","_defaultColor","_defaultFontSize","_translateEmpty","_internalPadding","overlayDiv","editorDiv","contentEditable","removeAttribute","preventScroll","cheatInitialRect_fn","savedText","newText","extractText_fn","trimEnd","setText","setContent_fn","setEditorDimensions_fn","dblclick","baseX","baseY","posX","posY","FreeTextAnnotationElement","defaultAppearanceData","fontColor","textPosition","padding","structTreeParentId","hasElementChanged_fn","updateFontSize_fn","setFontsize","savedFontsize","updateColor_fn","savedColor","divs","savedDisplay","display","replaceChildren","line","createTextNode","StampAnnotationElement","InkAnnotationElement","AnnotationLayer","_scripting_utils","_displayL10n_utils","_xfa_layer","DEFAULT_TAB_INDEX","GetElementsByNameSet","getRectDims","AnnotationElementFactory","LinkAnnotationElement","TextAnnotationElement","fieldType","TextWidgetAnnotationElement","radioButton","RadioButtonWidgetAnnotationElement","checkBox","CheckboxWidgetAnnotationElement","PushButtonWidgetAnnotationElement","ChoiceWidgetAnnotationElement","SignatureWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","LineAnnotationElement","SquareAnnotationElement","CircleAnnotationElement","PolylineAnnotationElement","CaretAnnotationElement","PolygonAnnotationElement","HighlightAnnotationElement","UnderlineAnnotationElement","SquigglyAnnotationElement","StrikeOutAnnotationElement","FileAttachmentAnnotationElement","AnnotationElement","_hasBorder","_AnnotationElement","isRenderable","ignoreBorder","createQuadrilaterals","linkService","downloadManager","imageResourcesPath","renderForms","enableScripting","_fieldObjects","fieldObjects","_createContainer","_createQuadrilaterals","_hasPopupData","titleObj","contentsObj","richText","hasPopupData","popupRef","noRotate","setRotation","borderStyle","borderWidth","horizontalRadius","horizontalCornerRadius","verticalRadius","verticalCornerRadius","radius","borderRadius","borderBottomStyle","borderColor","elementWidth","elementHeight","_commonActions","setColor","jsName","styleName","detail","colorArray","ColorConverters","noView","noPrint","userName","title","readonly","disabled","required","_setRequired","textColor","_dispatchEventFromSandbox","actions","jsEvent","commonActions","_setDefaultPropertiesFromJS","storedData","quadPoints","rectBlX","rectBlY","rectTrX","rectTrY","trX","trY","blX","blY","svgBuffer","rectWidth","rectHeight","backgroundImage","_createPopup","popup","modificationDate","parentRect","elements","_getElementsByName","skipId","fields","fieldObj","exportValues","exportValue","domElement","querySelector","getElementsByName","getAttribute","maybeShow","forceHide","getElementsToTriggerPopup","addHighlightArea","triggers","_editOnDoubleClick","_LinkAnnotationElement_instances","isTooltipOnly","link","isBound","addLinkAttributes","newWindow","_bindNamedAction","attachment","_bindAttachment","setOCGState","bindSetOCGState_fn","_bindLink","Action","_bindJSAction","resetForm","_bindResetFormAction","destination","getDestinationHash","onclick","goToDestination","setInternalLink_fn","getAnchorUrl","executeNamedAction","openOrDownloadData","content","otherClickAction","resetFormFields","refs","resetFormRefs","include","allFields","fieldIds","fieldName","field","storage","allIds","dispatchEvent","Event","executeSetOCGState","alt","l10nId","l10nArgs","alternativeText","showElementAndHideCanvas","previousSibling","nodeName","_getKeyModifier","_setEventListener","elementData","baseName","eventName","valueGetter","modifier","focused","_setEventListeners","getter","Blur","Focus","_setBackgroundColor","_setTextStyle","TEXT_ALIGNMENT","computedFontSize","roundToOneDecimal","multiLine","lineHeight","textAlignment","textAlign","isRequired","hasAppearance","fieldValue","setPropertyOnSiblings","keyInStorage","maxLen","charLimit","fieldFormattedValues","formattedValue","comb","userValue","lastCommittedValue","commitKey","doNotScroll","overflowY","overflowX","readOnly","maxLength","defaultFieldValue","blurListener","scrollLeft","selRange","setSelectionRange","willCommit","selStart","selectionStart","selEnd","selectionEnd","_blurListener","Keystroke","inputType","change","combWidth","letterSpacing","verticalAlign","checked","checkbox","curChecked","buttonValue","radio","pdfButtonValue","linkElement","lastChild","selectElement","addAnEmptyEntry","combo","multiSelect","multiple","option","selected","optionElement","displayValue","removeEmptyEntry","noneOptionElement","isExport","selectedIndex","selectedValues","getItems","multipleSelection","index","findIndex","selectChild","before","indices","changeEx","keyDown","PopupElement","elementIds","_PopupElement_instances","_dateTimePromise","_boundKeyDown","keyDown_fn","_boundHide","hide_fn","_boundShow","show_fn","_boundToggle","toggle_fn","_contentsObj","_elements","_parent","_parentRect","_pinned","_popup","_rect","_richText","_titleObj","_wasVisible","dateObject","toLocaleDateString","toLocaleTimeString","trigger","flatMap","baseColor","outlineColor","BACKGROUND_ENLIGHT","header","localized","contents","_formatContents","XfaLayer","xfaHtml","html","useParentRect","normalizedRect","popupLeft","popupTop","lines","lineSpan","_line","lineCoordinates","_square","square","_circle","circle","_polyline","containerClassName","svgElementName","coordinate","vertices","polyline","_polylines","inkList","inkLists","_FileAttachmentAnnotationElement_instances","_trigger","download_fn","_annotationCanvasMap","_editableAnnotations","_AnnotationLayer_instances","appendElement_fn","contentElement","firstChild","setAnnotationCanvasMap_fn","replaceWith","NullL10n","annotations","popupToElements","elementParams","noHTML","isPopupAnnotation","rendered","makeColorComp","scaleAndClamp","CMYK_G","G_CMYK","G_RGB","G_rgb","G_HTML","G","RGB_G","RGB_rgb","RGB_HTML","T_HTML","T_rgb","CMYK_RGB","CMYK_rgb","CMYK_HTML","components","RGB_CMYK","getL10nFallback","DEFAULT_L10N_STRINGS","of_pages","page_of_pages","document_properties_kb","document_properties_mb","document_properties_date_string","document_properties_page_size_unit_inches","document_properties_page_size_unit_millimeters","document_properties_page_size_orientation_portrait","document_properties_page_size_orientation_landscape","document_properties_page_size_name_a3","document_properties_page_size_name_a4","document_properties_page_size_name_letter","document_properties_page_size_name_legal","document_properties_page_size_dimension_string","document_properties_page_size_dimension_name_string","document_properties_linearized_yes","document_properties_linearized_no","additional_layers","page_landmark","thumb_page_title","thumb_page_canvas","find_reached_top","find_reached_bottom","find_not_found","page_scale_width","page_scale_fit","page_scale_auto","page_scale_actual","page_scale_percent","loading_error","invalid_file_error","missing_file_error","unexpected_response_error","rendering_error","annotation_date_string","printing_not_supported","printing_not_ready","web_fonts_disabled","free_text2_default_content","editor_free_text2_aria_label","editor_ink2_aria_label","editor_ink_canvas_aria_label","editor_alt_text_button_label","editor_alt_text_edit_button_label","editor_alt_text_decorative_tooltip","print_progress_percent","formatL10nValue","setupStorage","xfaOn","xfaOff","setAttributes","isHTMLAnchorElement","HTMLAnchorElement","dataId","rootHtml","stack","rootDiv","childHtml","xmlns","el","querySelectorAll","_InkEditor","_InkEditor_instances","_baseHeight","_baseWidth","_boundCanvasPointermove","canvasPointermove","_boundCanvasPointerleave","canvasPointerleave","_boundCanvasPointerup","canvasPointerup","_boundCanvasPointerdown","canvasPointerdown","_currentPath2D","_disableEditing","_hasSomethingToDraw","_isCanvasInitialized","_observer","_realWidth","_realHeight","_requestFrameCallback","thickness","bezierPath2D","allRawPaths","currentPath","translationX","translationY","_defaultThickness","_defaultOpacity","createCanvas_fn","createObserver_fn","setCanvasDims_fn","fitToContent_fn","disconnect","setDimensions","startDrawing_fn","draw_fn","getInitialBBox_fn","redraw_fn","roundedWidth","roundedHeight","setScaleFactor_fn","bezier","_InkEditor_static","fromPDFCoordinates_fn","p10","p11","p20","p21","p30","p31","path2D","buildPath2D_fn","getBbox_fn","serializePaths_fn","updateThickness_fn","savedThickness","updateOpacity_fn","savedOpacity","setStroke_fn","drawPoints_fn","lastX","lastY","makeBezierCurve_fn","endPath_fn","lastPoint","stopDrawing_fn","generateBezierPoints_fn","xy","lastPoints","prevX","prevY","bezierPoints","control1","control2","updateTransform_fn","endDrawing_fn","ResizeObserver","contentRect","observe","getPadding_fn","scaleFactorW","scaleFactorH","toPDFCoordinates_fn","p40","p41","xMin","xMax","yMin","yMax","firstTime","prevTranslationX","prevTranslationY","unscaledPadding","_StampEditor","_StampEditor_instances","_bitmap","_bitmapId","_bitmapPromise","_bitmapUrl","_bitmapFile","_resizeTimeoutId","_isSvg","_hasBeenAddedInUndoStack","bitmapUrl","bitmapFile","supportedTypes","supportedTypesStr","getAsFile","getBitmap_fn","bitmapId","accessibilityData","serializeBitmap_fn","stamps","area","prevData","getBitmapFetched_fn","fromId","getBitmapDone_fn","accept","files","click","MAX_RATIO","factor","drawBitmap_fn","setDimensions_fn","scaleBitmap_fn","bitmapWidth","bitmapHeight","prevWidth","prevHeight","offscreen","transferToImageBitmap","toUrl","toDataURL","__webpack_module_cache__","moduleId","cachedModule","module","__webpack_exports__","_annotation_editor_layer","_api","_text_layer","pdfjsLib"],"mappings":"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","x_google_ignoreList":[1]}