SGGL_SHJ/SGGL/FineUIPro.Web/HJGL/JoinMarking/assets/pdfjs-DXqArq6h.js

24 lines
270 KiB
JavaScript

import{g as getAugmentedNamespace}from"./pdf-lib-AfLQbX6n.js";function commonjsRequire(t){throw new Error('Could not dynamically require "'+t+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var pdf={exports:{}};const __viteBrowserExternal={},__viteBrowserExternal$1=Object.freeze(Object.defineProperty({__proto__:null,default:__viteBrowserExternal},Symbol.toStringTag,{value:"Module"})),require$$5=getAugmentedNamespace(__viteBrowserExternal$1);
/**
* @licstart The following is the entire license notice for the
* JavaScript code in this page
*
* Copyright 2022 Mozilla Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* @licend The above is the entire license notice for the
* JavaScript code in this page
*/
(function(module,exports$1){var factory;globalThis,factory=()=>(()=>{var __webpack_modules__=[,(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.VerbosityLevel=e.Util=e.UnknownErrorException=e.UnexpectedResponseException=e.UNSUPPORTED_FEATURES=e.TextRenderingMode=e.StreamType=e.RenderingIntentFlag=e.PermissionFlag=e.PasswordResponses=e.PasswordException=e.PageActionEventType=e.OPS=e.MissingPDFException=e.LINE_FACTOR=e.LINE_DESCENT_FACTOR=e.InvalidPDFException=e.ImageKind=e.IDENTITY_MATRIX=e.FormatError=e.FontType=e.FeatureTest=e.FONT_IDENTITY_MATRIX=e.DocumentActionEventType=e.CMapCompressionType=e.BaseException=e.AnnotationType=e.AnnotationStateModelType=e.AnnotationReviewState=e.AnnotationReplyType=e.AnnotationMode=e.AnnotationMarkedState=e.AnnotationFlag=e.AnnotationFieldFlag=e.AnnotationEditorType=e.AnnotationEditorPrefix=e.AnnotationEditorParamsType=e.AnnotationBorderStyleType=e.AnnotationActionEventType=e.AbortException=void 0,e.arrayByteLength=h,e.arraysToBytes=function(t){const e=t.length;if(1===e&&t[0]instanceof Uint8Array)return t[0];let s=0;for(let r=0;r<e;r++)s+=h(t[r]);let i=0;const n=new Uint8Array(s);for(let r=0;r<e;r++){let e=t[r];e instanceof Uint8Array||(e="string"==typeof e?c(e):new Uint8Array(e));const s=e.byteLength;n.set(e,i),i+=s}return n},e.assert=function(t,e){t||a(e)},e.bytesToString=function(t){"object"==typeof t&&null!==t&&void 0!==t.length||a("Invalid argument for bytesToString");const e=t.length,s=8192;if(e<s)return String.fromCharCode.apply(null,t);const i=[];for(let n=0;n<e;n+=s){const r=Math.min(n+s,e),a=t.subarray(n,r);i.push(String.fromCharCode.apply(null,a))}return i.join("")},e.createPromiseCapability=function(){const t=Object.create(null);let e=!1;return Object.defineProperty(t,"settled",{get:()=>e}),t.promise=new Promise(function(s,i){t.resolve=function(t){e=!0,s(t)},t.reject=function(t){e=!0,i(t)}}),t},e.createValidAbsoluteUrl=function(t,e=null,s=null){if(!t)return null;try{if(s&&"string"==typeof t){if(s.addDefaultProtocol&&t.startsWith("www.")){const e=t.match(/\./g);e&&e.length>=2&&(t=`http://${t}`)}if(s.tryConvertEncoding)try{t=g(t)}catch(i){}}const n=e?new URL(t,e):new URL(t);if(function(t){if(!t)return!1;switch(t.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}(n))return n}catch(i){}return null},e.escapeString=function(t){return t.replace(/([()\\\n\r])/g,t=>"\n"===t?"\\n":"\r"===t?"\\r":`\\${t}`)},e.getModificationDate=function(t=new Date){return[t.getUTCFullYear().toString(),(t.getUTCMonth()+1).toString().padStart(2,"0"),t.getUTCDate().toString().padStart(2,"0"),t.getUTCHours().toString().padStart(2,"0"),t.getUTCMinutes().toString().padStart(2,"0"),t.getUTCSeconds().toString().padStart(2,"0")].join("")},e.getVerbosityLevel=function(){return n},e.info=function(t){n>=i.INFOS&&console.log(`Info: ${t}`)},e.isArrayBuffer=function(t){return"object"==typeof t&&null!==t&&void 0!==t.byteLength},e.isArrayEqual=function(t,e){if(t.length!==e.length)return!1;for(let s=0,i=t.length;s<i;s++)if(t[s]!==e[s])return!1;return!0},e.isAscii=function(t){return/^[\x00-\x7F]*$/.test(t)},e.objectFromMap=function(t){const e=Object.create(null);for(const[s,i]of t)e[s]=i;return e},e.objectSize=function(t){return Object.keys(t).length},e.setVerbosityLevel=function(t){Number.isInteger(t)&&(n=t)},e.shadow=o,e.string32=function(t){return String.fromCharCode(t>>24&255,t>>16&255,t>>8&255,255&t)},e.stringToBytes=c,e.stringToPDFString=function(t){if(t[0]>="ï"){let e;if("þ"===t[0]&&"ÿ"===t[1]?e="utf-16be":"ÿ"===t[0]&&"þ"===t[1]?e="utf-16le":"ï"===t[0]&&"»"===t[1]&&"¿"===t[2]&&(e="utf-8"),e)try{const s=new TextDecoder(e,{fatal:!0}),i=c(t);return s.decode(i)}catch(s){r(`stringToPDFString: "${s}".`)}}const e=[];for(let i=0,n=t.length;i<n;i++){const s=p[t.charCodeAt(i)];e.push(s?String.fromCharCode(s):t.charAt(i))}return e.join("")},e.stringToUTF16BEString=function(t){const e=["þÿ"];for(let s=0,i=t.length;s<i;s++){const i=t.charCodeAt(s);e.push(String.fromCharCode(i>>8&255),String.fromCharCode(255&i))}return e.join("")},e.stringToUTF8String=g,e.unreachable=a,e.utf8StringToString=function(t){return unescape(encodeURIComponent(t))},e.warn=r,s(2),e.IDENTITY_MATRIX=[1,0,0,1,0,0],e.FONT_IDENTITY_MATRIX=[.001,0,0,.001,0,0],e.LINE_FACTOR=1.35,e.LINE_DESCENT_FACTOR=.35,e.RenderingIntentFlag={ANY:1,DISPLAY:2,PRINT:4,ANNOTATIONS_FORMS:16,ANNOTATIONS_STORAGE:32,ANNOTATIONS_DISABLE:64,OPLIST:256},e.AnnotationMode={DISABLE:0,ENABLE:1,ENABLE_FORMS:2,ENABLE_STORAGE:3},e.AnnotationEditorPrefix="pdfjs_internal_editor_",e.AnnotationEditorType={DISABLE:-1,NONE:0,FREETEXT:3,INK:15},e.AnnotationEditorParamsType={FREETEXT_SIZE:1,FREETEXT_COLOR:2,FREETEXT_OPACITY:3,INK_COLOR:11,INK_THICKNESS:12,INK_OPACITY:13},e.PermissionFlag={PRINT:4,MODIFY_CONTENTS:8,COPY:16,MODIFY_ANNOTATIONS:32,FILL_INTERACTIVE_FORMS:256,COPY_FOR_ACCESSIBILITY:512,ASSEMBLE:1024,PRINT_HIGH_QUALITY:2048},e.TextRenderingMode={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_ADD_TO_PATH:4,STROKE_ADD_TO_PATH:5,FILL_STROKE_ADD_TO_PATH:6,ADD_TO_PATH:7,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4},e.ImageKind={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},e.AnnotationType={TEXT:1,LINK:2,FREETEXT:3,LINE:4,SQUARE:5,CIRCLE:6,POLYGON:7,POLYLINE:8,HIGHLIGHT:9,UNDERLINE:10,SQUIGGLY:11,STRIKEOUT:12,STAMP:13,CARET:14,INK:15,POPUP:16,FILEATTACHMENT:17,SOUND:18,MOVIE:19,WIDGET:20,SCREEN:21,PRINTERMARK:22,TRAPNET:23,WATERMARK:24,THREED:25,REDACT:26},e.AnnotationStateModelType={MARKED:"Marked",REVIEW:"Review"},e.AnnotationMarkedState={MARKED:"Marked",UNMARKED:"Unmarked"},e.AnnotationReviewState={ACCEPTED:"Accepted",REJECTED:"Rejected",CANCELLED:"Cancelled",COMPLETED:"Completed",NONE:"None"},e.AnnotationReplyType={GROUP:"Group",REPLY:"R"},e.AnnotationFlag={INVISIBLE:1,HIDDEN:2,PRINT:4,NOZOOM:8,NOROTATE:16,NOVIEW:32,READONLY:64,LOCKED:128,TOGGLENOVIEW:256,LOCKEDCONTENTS:512},e.AnnotationFieldFlag={READONLY:1,REQUIRED:2,NOEXPORT:4,MULTILINE:4096,PASSWORD:8192,NOTOGGLETOOFF:16384,RADIO:32768,PUSHBUTTON:65536,COMBO:131072,EDIT:262144,SORT:524288,FILESELECT:1048576,MULTISELECT:2097152,DONOTSPELLCHECK:4194304,DONOTSCROLL:8388608,COMB:16777216,RICHTEXT:33554432,RADIOSINUNISON:33554432,COMMITONSELCHANGE:67108864},e.AnnotationBorderStyleType={SOLID:1,DASHED:2,BEVELED:3,INSET:4,UNDERLINE:5},e.AnnotationActionEventType={E:"Mouse Enter",X:"Mouse Exit",D:"Mouse Down",U:"Mouse Up",Fo:"Focus",Bl:"Blur",PO:"PageOpen",PC:"PageClose",PV:"PageVisible",PI:"PageInvisible",K:"Keystroke",F:"Format",V:"Validate",C:"Calculate"},e.DocumentActionEventType={WC:"WillClose",WS:"WillSave",DS:"DidSave",WP:"WillPrint",DP:"DidPrint"},e.PageActionEventType={O:"PageOpen",C:"PageClose"},e.StreamType={UNKNOWN:"UNKNOWN",FLATE:"FLATE",LZW:"LZW",DCT:"DCT",JPX:"JPX",JBIG:"JBIG",A85:"A85",AHX:"AHX",CCF:"CCF",RLX:"RLX"},e.FontType={UNKNOWN:"UNKNOWN",TYPE1:"TYPE1",TYPE1STANDARD:"TYPE1STANDARD",TYPE1C:"TYPE1C",CIDFONTTYPE0:"CIDFONTTYPE0",CIDFONTTYPE0C:"CIDFONTTYPE0C",TRUETYPE:"TRUETYPE",CIDFONTTYPE2:"CIDFONTTYPE2",TYPE3:"TYPE3",OPENTYPE:"OPENTYPE",TYPE0:"TYPE0",MMTYPE1:"MMTYPE1"};const i={ERRORS:0,WARNINGS:1,INFOS:5};e.VerbosityLevel=i,e.CMapCompressionType={NONE:0,BINARY:1,STREAM:2},e.OPS={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotations:78,endAnnotations:79,beginAnnotation:80,endAnnotation:81,paintJpegXObject:82,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91},e.UNSUPPORTED_FEATURES={unknown:"unknown",forms:"forms",javaScript:"javaScript",signatures:"signatures",smask:"smask",shadingPattern:"shadingPattern",font:"font",errorTilingPattern:"errorTilingPattern",errorExtGState:"errorExtGState",errorXObject:"errorXObject",errorFontLoadType3:"errorFontLoadType3",errorFontState:"errorFontState",errorFontMissing:"errorFontMissing",errorFontTranslate:"errorFontTranslate",errorColorSpace:"errorColorSpace",errorOperatorList:"errorOperatorList",errorFontToUnicode:"errorFontToUnicode",errorFontLoadNative:"errorFontLoadNative",errorFontBuildPath:"errorFontBuildPath",errorFontGetPath:"errorFontGetPath",errorMarkedContent:"errorMarkedContent",errorContentSubStream:"errorContentSubStream"},e.PasswordResponses={NEED_PASSWORD:1,INCORRECT_PASSWORD:2};let n=i.WARNINGS;function r(t){n>=i.WARNINGS&&console.log(`Warning: ${t}`)}function a(t){throw new Error(t)}function o(t,e,s){return Object.defineProperty(t,e,{value:s,enumerable:!0,configurable:!0,writable:!1}),s}const l=function(){function t(e,s){this.constructor===t&&a("Cannot initialize BaseException."),this.message=e,this.name=s}return t.prototype=new Error,t.constructor=t,t}();function c(t){"string"!=typeof t&&a("Invalid argument for stringToBytes");const e=t.length,s=new Uint8Array(e);for(let i=0;i<e;++i)s[i]=255&t.charCodeAt(i);return s}function h(t){return void 0!==t.length?t.length:void 0!==t.byteLength?t.byteLength:void a("Invalid argument for arrayByteLength")}e.BaseException=l,e.PasswordException=class extends l{constructor(t,e){super(t,"PasswordException"),this.code=e}},e.UnknownErrorException=class extends l{constructor(t,e){super(t,"UnknownErrorException"),this.details=e}},e.InvalidPDFException=class extends l{constructor(t){super(t,"InvalidPDFException")}},e.MissingPDFException=class extends l{constructor(t){super(t,"MissingPDFException")}},e.UnexpectedResponseException=class extends l{constructor(t,e){super(t,"UnexpectedResponseException"),this.status=e}},e.FormatError=class extends l{constructor(t){super(t,"FormatError")}},e.AbortException=class extends l{constructor(t){super(t,"AbortException")}},e.FeatureTest=class{static get isLittleEndian(){return o(this,"isLittleEndian",function(){const t=new Uint8Array(4);return t[0]=1,1===new Uint32Array(t.buffer,0,1)[0]}())}static get isEvalSupported(){return o(this,"isEvalSupported",function(){try{return new Function(""),!0}catch(t){return!1}}())}static get isOffscreenCanvasSupported(){return o(this,"isOffscreenCanvasSupported","undefined"!=typeof OffscreenCanvas)}};const d=[...Array(256).keys()].map(t=>t.toString(16).padStart(2,"0"));class u{static makeHexColor(t,e,s){return`#${d[t]}${d[e]}${d[s]}`}static scaleMinMax(t,e){let s;t[0]?(t[0]<0&&(s=e[0],e[0]=e[1],e[1]=s),e[0]*=t[0],e[1]*=t[0],t[3]<0&&(s=e[2],e[2]=e[3],e[3]=s),e[2]*=t[3],e[3]*=t[3]):(s=e[0],e[0]=e[2],e[2]=s,s=e[1],e[1]=e[3],e[3]=s,t[1]<0&&(s=e[2],e[2]=e[3],e[3]=s),e[2]*=t[1],e[3]*=t[1],t[2]<0&&(s=e[0],e[0]=e[1],e[1]=s),e[0]*=t[2],e[1]*=t[2]),e[0]+=t[4],e[1]+=t[4],e[2]+=t[5],e[3]+=t[5]}static transform(t,e){return[t[0]*e[0]+t[2]*e[1],t[1]*e[0]+t[3]*e[1],t[0]*e[2]+t[2]*e[3],t[1]*e[2]+t[3]*e[3],t[0]*e[4]+t[2]*e[5]+t[4],t[1]*e[4]+t[3]*e[5]+t[5]]}static applyTransform(t,e){return[t[0]*e[0]+t[1]*e[2]+e[4],t[0]*e[1]+t[1]*e[3]+e[5]]}static applyInverseTransform(t,e){const s=e[0]*e[3]-e[1]*e[2];return[(t[0]*e[3]-t[1]*e[2]+e[2]*e[5]-e[4]*e[3])/s,(-t[0]*e[1]+t[1]*e[0]+e[4]*e[1]-e[5]*e[0])/s]}static getAxialAlignedBoundingBox(t,e){const s=u.applyTransform(t,e),i=u.applyTransform(t.slice(2,4),e),n=u.applyTransform([t[0],t[3]],e),r=u.applyTransform([t[2],t[1]],e);return[Math.min(s[0],i[0],n[0],r[0]),Math.min(s[1],i[1],n[1],r[1]),Math.max(s[0],i[0],n[0],r[0]),Math.max(s[1],i[1],n[1],r[1])]}static inverseTransform(t){const e=t[0]*t[3]-t[1]*t[2];return[t[3]/e,-t[1]/e,-t[2]/e,t[0]/e,(t[2]*t[5]-t[4]*t[3])/e,(t[4]*t[1]-t[5]*t[0])/e]}static apply3dTransform(t,e){return[t[0]*e[0]+t[1]*e[1]+t[2]*e[2],t[3]*e[0]+t[4]*e[1]+t[5]*e[2],t[6]*e[0]+t[7]*e[1]+t[8]*e[2]]}static singularValueDecompose2dScale(t){const e=[t[0],t[2],t[1],t[3]],s=t[0]*e[0]+t[1]*e[2],i=t[0]*e[1]+t[1]*e[3],n=t[2]*e[0]+t[3]*e[2],r=t[2]*e[1]+t[3]*e[3],a=(s+r)/2,o=Math.sqrt((s+r)**2-4*(s*r-n*i))/2,l=a+o||1,c=a-o||1;return[Math.sqrt(l),Math.sqrt(c)]}static normalizeRect(t){const e=t.slice(0);return t[0]>t[2]&&(e[0]=t[2],e[2]=t[0]),t[1]>t[3]&&(e[1]=t[3],e[3]=t[1]),e}static intersect(t,e){const s=Math.max(Math.min(t[0],t[2]),Math.min(e[0],e[2])),i=Math.min(Math.max(t[0],t[2]),Math.max(e[0],e[2]));if(s>i)return null;const n=Math.max(Math.min(t[1],t[3]),Math.min(e[1],e[3])),r=Math.min(Math.max(t[1],t[3]),Math.max(e[1],e[3]));return n>r?null:[s,n,i,r]}static bezierBoundingBox(t,e,s,i,n,r,a,o){const l=[],c=[[],[]];let h,d,u,p,g,m,f,b;for(let v=0;v<2;++v)if(0===v?(d=6*t-12*s+6*n,h=-3*t+9*s-9*n+3*a,u=3*s-3*t):(d=6*e-12*i+6*r,h=-3*e+9*i-9*r+3*o,u=3*i-3*e),Math.abs(h)<1e-12){if(Math.abs(d)<1e-12)continue;p=-u/d,0<p&&p<1&&l.push(p)}else f=d*d-4*u*h,b=Math.sqrt(f),f<0||(g=(-d+b)/(2*h),0<g&&g<1&&l.push(g),m=(-d-b)/(2*h),0<m&&m<1&&l.push(m));let _,A=l.length;const y=A;for(;A--;)p=l[A],_=1-p,c[0][A]=_*_*_*t+3*_*_*p*s+3*_*p*p*n+p*p*p*a,c[1][A]=_*_*_*e+3*_*_*p*i+3*_*p*p*r+p*p*p*o;return c[0][y]=t,c[1][y]=e,c[0][y+1]=a,c[1][y+1]=o,c[0].length=c[1].length=y+2,[Math.min(...c[0]),Math.min(...c[1]),Math.max(...c[0]),Math.max(...c[1])]}}e.Util=u;const p=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,728,711,710,729,733,731,730,732,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,8226,8224,8225,8230,8212,8211,402,8260,8249,8250,8722,8240,8222,8220,8221,8216,8217,8218,8482,64257,64258,321,338,352,376,381,305,322,339,353,382,0,8364];function g(t){return decodeURIComponent(escape(t))}},(t,e,s)=>{s(3)},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.isNodeJS=void 0;const s=!("object"!=typeof process||process+""!="[object process]"||process.versions.nw||process.versions.electron&&process.type&&"browser"!==process.type);e.isNodeJS=s},(__unused_webpack_module,exports$1,__w_pdfjs_require__)=>{Object.defineProperty(exports$1,"__esModule",{value:!0}),exports$1.build=exports$1.RenderTask=exports$1.PDFWorkerUtil=exports$1.PDFWorker=exports$1.PDFPageProxy=exports$1.PDFDocumentProxy=exports$1.PDFDocumentLoadingTask=exports$1.PDFDataRangeTransport=exports$1.LoopbackPort=exports$1.DefaultStandardFontDataFactory=exports$1.DefaultCanvasFactory=exports$1.DefaultCMapReaderFactory=void 0,exports$1.getDocument=getDocument,exports$1.setPDFNetworkStreamFactory=setPDFNetworkStreamFactory,exports$1.version=void 0;var _util=__w_pdfjs_require__(1),_annotation_storage=__w_pdfjs_require__(5),_display_utils=__w_pdfjs_require__(8),_font_loader=__w_pdfjs_require__(11),_canvas=__w_pdfjs_require__(12),_worker_options=__w_pdfjs_require__(15),_is_node=__w_pdfjs_require__(3),_message_handler=__w_pdfjs_require__(16),_metadata=__w_pdfjs_require__(17),_optional_content_config=__w_pdfjs_require__(18),_transport_stream=__w_pdfjs_require__(19),_xfa_text=__w_pdfjs_require__(20);const DEFAULT_RANGE_CHUNK_SIZE=65536,RENDERING_CANCELLED_TIMEOUT=100;let DefaultCanvasFactory=_display_utils.DOMCanvasFactory;exports$1.DefaultCanvasFactory=DefaultCanvasFactory;let DefaultCMapReaderFactory=_display_utils.DOMCMapReaderFactory;exports$1.DefaultCMapReaderFactory=DefaultCMapReaderFactory;let DefaultStandardFontDataFactory=_display_utils.DOMStandardFontDataFactory,createPDFNetworkStream;if(exports$1.DefaultStandardFontDataFactory=DefaultStandardFontDataFactory,_is_node.isNodeJS){const{NodeCanvasFactory:t,NodeCMapReaderFactory:e,NodeStandardFontDataFactory:s}=__w_pdfjs_require__(21);exports$1.DefaultCanvasFactory=DefaultCanvasFactory=t,exports$1.DefaultCMapReaderFactory=DefaultCMapReaderFactory=e,exports$1.DefaultStandardFontDataFactory=DefaultStandardFontDataFactory=s}function setPDFNetworkStreamFactory(t){createPDFNetworkStream=t}function getDocument(t){const e=new PDFDocumentLoadingTask;let s;if("string"==typeof t||t instanceof URL)s={url:t};else if((0,_util.isArrayBuffer)(t))s={data:t};else if(t instanceof PDFDataRangeTransport)s={range:t};else{if("object"!=typeof t)throw new Error("Invalid parameter in getDocument, need either string, URL, TypedArray, or parameter object.");if(!t.url&&!t.data&&!t.range)throw new Error("Invalid parameter object: need either .data, .range or .url");s=t}const i=Object.create(null);let n=null,r=null;for(const l in s){const t=s[l];switch(l){case"url":if("undefined"!=typeof window)try{i[l]=new URL(t,window.location).href;continue}catch(o){(0,_util.warn)(`Cannot create valid URL: "${o}".`)}else if("string"==typeof t||t instanceof URL){i[l]=t.toString();continue}throw new Error("Invalid PDF url data: either string or URL-object is expected in the url property.");case"range":n=t;continue;case"worker":r=t;continue;case"data":if(_is_node.isNodeJS&&"undefined"!=typeof Buffer&&t instanceof Buffer)i[l]=new Uint8Array(t);else{if(t instanceof Uint8Array)break;if("string"==typeof t)i[l]=(0,_util.stringToBytes)(t);else if("object"!=typeof t||null===t||isNaN(t.length)){if(!(0,_util.isArrayBuffer)(t))throw new Error("Invalid PDF binary data: either TypedArray, string, or array-like object is expected in the data property.");i[l]=new Uint8Array(t)}else i[l]=new Uint8Array(t)}continue}i[l]=t}if(i.CMapReaderFactory=i.CMapReaderFactory||DefaultCMapReaderFactory,i.StandardFontDataFactory=i.StandardFontDataFactory||DefaultStandardFontDataFactory,i.ignoreErrors=!0!==i.stopAtErrors,i.fontExtraProperties=!0===i.fontExtraProperties,i.pdfBug=!0===i.pdfBug,i.enableXfa=!0===i.enableXfa,(!Number.isInteger(i.rangeChunkSize)||i.rangeChunkSize<1)&&(i.rangeChunkSize=DEFAULT_RANGE_CHUNK_SIZE),("string"!=typeof i.docBaseUrl||(0,_display_utils.isDataScheme)(i.docBaseUrl))&&(i.docBaseUrl=null),(!Number.isInteger(i.maxImageSize)||i.maxImageSize<-1)&&(i.maxImageSize=-1),"string"!=typeof i.cMapUrl&&(i.cMapUrl=null),"string"!=typeof i.standardFontDataUrl&&(i.standardFontDataUrl=null),"boolean"!=typeof i.useWorkerFetch&&(i.useWorkerFetch=i.CMapReaderFactory===_display_utils.DOMCMapReaderFactory&&i.StandardFontDataFactory===_display_utils.DOMStandardFontDataFactory),"boolean"!=typeof i.isEvalSupported&&(i.isEvalSupported=!0),"boolean"!=typeof i.disableFontFace&&(i.disableFontFace=_is_node.isNodeJS),"boolean"!=typeof i.useSystemFonts&&(i.useSystemFonts=!_is_node.isNodeJS&&!i.disableFontFace),"object"==typeof i.ownerDocument&&null!==i.ownerDocument||(i.ownerDocument=globalThis.document),"boolean"!=typeof i.disableRange&&(i.disableRange=!1),"boolean"!=typeof i.disableStream&&(i.disableStream=!1),"boolean"!=typeof i.disableAutoFetch&&(i.disableAutoFetch=!1),(0,_util.setVerbosityLevel)(i.verbosity),!r){const t={verbosity:i.verbosity,port:_worker_options.GlobalWorkerOptions.workerPort};r=t.port?PDFWorker.fromPort(t):new PDFWorker(t),e._worker=r}const a=e.docId;return r.promise.then(function(){if(e.destroyed)throw new Error("Loading aborted");const t=_fetchDocument(r,i,n,a),s=new Promise(function(t){let e;n?e=new _transport_stream.PDFDataTransportStream({length:i.length,initialData:i.initialData,progressiveDone:i.progressiveDone,contentDispositionFilename:i.contentDispositionFilename,disableRange:i.disableRange,disableStream:i.disableStream},n):i.data||(e=createPDFNetworkStream({url:i.url,length:i.length,httpHeaders:i.httpHeaders,withCredentials:i.withCredentials,rangeChunkSize:i.rangeChunkSize,disableRange:i.disableRange,disableStream:i.disableStream})),t(e)});return Promise.all([t,s]).then(function([t,s]){if(e.destroyed)throw new Error("Loading aborted");const n=new _message_handler.MessageHandler(a,t,r.port),o=new WorkerTransport(n,e,s,i);e._transport=o,n.send("Ready",null)})}).catch(e._capability.reject),e}async function _fetchDocument(t,e,s,i){if(t.destroyed)throw new Error("Worker was destroyed");s&&(e.length=s.length,e.initialData=s.initialData,e.progressiveDone=s.progressiveDone,e.contentDispositionFilename=s.contentDispositionFilename);const n=await t.messageHandler.sendWithPromise("GetDocRequest",{docId:i,apiVersion:"2.16.105",source:{data:e.data,url:e.url,password:e.password,disableAutoFetch:e.disableAutoFetch,rangeChunkSize:e.rangeChunkSize,length:e.length},maxImageSize:e.maxImageSize,disableFontFace:e.disableFontFace,docBaseUrl:e.docBaseUrl,ignoreErrors:e.ignoreErrors,isEvalSupported:e.isEvalSupported,fontExtraProperties:e.fontExtraProperties,enableXfa:e.enableXfa,useSystemFonts:e.useSystemFonts,cMapUrl:e.useWorkerFetch?e.cMapUrl:null,standardFontDataUrl:e.useWorkerFetch?e.standardFontDataUrl:null});if(e.data&&(e.data=null),t.destroyed)throw new Error("Worker was destroyed");return n}class PDFDocumentLoadingTask{static#t=0;constructor(){this._capability=(0,_util.createPromiseCapability)(),this._transport=null,this._worker=null,this.docId="d"+PDFDocumentLoadingTask.#t++,this.destroyed=!1,this.onPassword=null,this.onProgress=null,this.onUnsupportedFeature=null}get promise(){return this._capability.promise}async destroy(){this.destroyed=!0,await(this._transport?.destroy()),this._transport=null,this._worker&&(this._worker.destroy(),this._worker=null)}}exports$1.PDFDocumentLoadingTask=PDFDocumentLoadingTask;class PDFDataRangeTransport{constructor(t,e,s=!1,i=null){this.length=t,this.initialData=e,this.progressiveDone=s,this.contentDispositionFilename=i,this._rangeListeners=[],this._progressListeners=[],this._progressiveReadListeners=[],this._progressiveDoneListeners=[],this._readyCapability=(0,_util.createPromiseCapability)()}addRangeListener(t){this._rangeListeners.push(t)}addProgressListener(t){this._progressListeners.push(t)}addProgressiveReadListener(t){this._progressiveReadListeners.push(t)}addProgressiveDoneListener(t){this._progressiveDoneListeners.push(t)}onDataRange(t,e){for(const s of this._rangeListeners)s(t,e)}onDataProgress(t,e){this._readyCapability.promise.then(()=>{for(const s of this._progressListeners)s(t,e)})}onDataProgressiveRead(t){this._readyCapability.promise.then(()=>{for(const e of this._progressiveReadListeners)e(t)})}onDataProgressiveDone(){this._readyCapability.promise.then(()=>{for(const t of this._progressiveDoneListeners)t()})}transportReady(){this._readyCapability.resolve()}requestDataRange(t,e){(0,_util.unreachable)("Abstract method PDFDataRangeTransport.requestDataRange")}abort(){}}exports$1.PDFDataRangeTransport=PDFDataRangeTransport;class PDFDocumentProxy{constructor(t,e){this._pdfInfo=t,this._transport=e,Object.defineProperty(this,"fingerprint",{get(){return(0,_display_utils.deprecated)("`PDFDocumentProxy.fingerprint`, please use `PDFDocumentProxy.fingerprints` instead."),this.fingerprints[0]}}),Object.defineProperty(this,"getStats",{value:async()=>((0,_display_utils.deprecated)("`PDFDocumentProxy.getStats`, please use the `PDFDocumentProxy.stats`-getter instead."),this.stats||{streamTypes:{},fontTypes:{}})})}get annotationStorage(){return this._transport.annotationStorage}get numPages(){return this._pdfInfo.numPages}get fingerprints(){return this._pdfInfo.fingerprints}get stats(){return this._transport.stats}get isPureXfa(){return!!this._transport._htmlForXfa}get allXfaHtml(){return this._transport._htmlForXfa}getPage(t){return this._transport.getPage(t)}getPageIndex(t){return this._transport.getPageIndex(t)}getDestinations(){return this._transport.getDestinations()}getDestination(t){return this._transport.getDestination(t)}getPageLabels(){return this._transport.getPageLabels()}getPageLayout(){return this._transport.getPageLayout()}getPageMode(){return this._transport.getPageMode()}getViewerPreferences(){return this._transport.getViewerPreferences()}getOpenAction(){return this._transport.getOpenAction()}getAttachments(){return this._transport.getAttachments()}getJavaScript(){return this._transport.getJavaScript()}getJSActions(){return this._transport.getDocJSActions()}getOutline(){return this._transport.getOutline()}getOptionalContentConfig(){return this._transport.getOptionalContentConfig()}getPermissions(){return this._transport.getPermissions()}getMetadata(){return this._transport.getMetadata()}getMarkInfo(){return this._transport.getMarkInfo()}getData(){return this._transport.getData()}getDownloadInfo(){return this._transport.downloadInfoCapability.promise}cleanup(t=!1){return this._transport.startCleanup(t||this.isPureXfa)}destroy(){return this.loadingTask.destroy()}get loadingParams(){return this._transport.loadingParams}get loadingTask(){return this._transport.loadingTask}saveDocument(){return this._transport.annotationStorage.size<=0&&(0,_display_utils.deprecated)("saveDocument called while `annotationStorage` is empty, please use the getData-method instead."),this._transport.saveDocument()}getFieldObjects(){return this._transport.getFieldObjects()}hasJSActions(){return this._transport.hasJSActions()}getCalculationOrderIds(){return this._transport.getCalculationOrderIds()}}exports$1.PDFDocumentProxy=PDFDocumentProxy;class PDFPageProxy{constructor(t,e,s,i,n=!1){this._pageIndex=t,this._pageInfo=e,this._ownerDocument=i,this._transport=s,this._stats=n?new _display_utils.StatTimer:null,this._pdfBug=n,this.commonObjs=s.commonObjs,this.objs=new PDFObjects,this._bitmaps=new Set,this.cleanupAfterRender=!1,this.pendingCleanup=!1,this._intentStates=new Map,this._annotationPromises=new Map,this.destroyed=!1}get pageNumber(){return this._pageIndex+1}get rotate(){return this._pageInfo.rotate}get ref(){return this._pageInfo.ref}get userUnit(){return this._pageInfo.userUnit}get view(){return this._pageInfo.view}getViewport({scale:t,rotation:e=this.rotate,offsetX:s=0,offsetY:i=0,dontFlip:n=!1}={}){return new _display_utils.PageViewport({viewBox:this.view,scale:t,rotation:e,offsetX:s,offsetY:i,dontFlip:n})}getAnnotations({intent:t="display"}={}){const e=this._transport.getRenderingIntent(t);let s=this._annotationPromises.get(e.cacheKey);return s||(s=this._transport.getAnnotations(this._pageIndex,e.renderingIntent),this._annotationPromises.set(e.cacheKey,s),s=s.then(t=>{for(const e of t)void 0!==e.titleObj&&Object.defineProperty(e,"title",{get:()=>((0,_display_utils.deprecated)("`title`-property on annotation, please use `titleObj` instead."),e.titleObj.str)}),void 0!==e.contentsObj&&Object.defineProperty(e,"contents",{get:()=>((0,_display_utils.deprecated)("`contents`-property on annotation, please use `contentsObj` instead."),e.contentsObj.str)});return t})),s}getJSActions(){return this._jsActionsPromise||=this._transport.getPageJSActions(this._pageIndex)}async getXfa(){return this._transport._htmlForXfa?.children[this._pageIndex]||null}render({canvasContext:t,viewport:e,intent:s="display",annotationMode:i=_util.AnnotationMode.ENABLE,transform:n=null,imageLayer:r=null,canvasFactory:a=null,background:o=null,optionalContentConfigPromise:l=null,annotationCanvasMap:c=null,pageColors:h=null,printAnnotationStorage:d=null}){void 0!==arguments[0]?.renderInteractiveForms&&((0,_display_utils.deprecated)("render no longer accepts the `renderInteractiveForms`-option, please use the `annotationMode`-option instead."),!0===arguments[0].renderInteractiveForms&&i===_util.AnnotationMode.ENABLE&&(i=_util.AnnotationMode.ENABLE_FORMS)),void 0!==arguments[0]?.includeAnnotationStorage&&((0,_display_utils.deprecated)("render no longer accepts the `includeAnnotationStorage`-option, please use the `annotationMode`-option instead."),!0===arguments[0].includeAnnotationStorage&&i===_util.AnnotationMode.ENABLE&&(i=_util.AnnotationMode.ENABLE_STORAGE)),this._stats&&this._stats.time("Overall");const u=this._transport.getRenderingIntent(s,i,d);this.pendingCleanup=!1,l||(l=this._transport.getOptionalContentConfig());let p=this._intentStates.get(u.cacheKey);p||(p=Object.create(null),this._intentStates.set(u.cacheKey,p)),p.streamReaderCancelTimeout&&(clearTimeout(p.streamReaderCancelTimeout),p.streamReaderCancelTimeout=null);const g=a||new DefaultCanvasFactory({ownerDocument:this._ownerDocument}),m=!!(u.renderingIntent&_util.RenderingIntentFlag.PRINT);p.displayReadyCapability||(p.displayReadyCapability=(0,_util.createPromiseCapability)(),p.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},this._stats&&this._stats.time("Page Request"),this._pumpOperatorList(u));const f=t=>{p.renderTasks.delete(b),(this.cleanupAfterRender||m)&&(this.pendingCleanup=!0),this._tryCleanup(),t?(b.capability.reject(t),this._abortOperatorList({intentState:p,reason:t instanceof Error?t:new Error(t)})):b.capability.resolve(),this._stats&&(this._stats.timeEnd("Rendering"),this._stats.timeEnd("Overall"))},b=new InternalRenderTask({callback:f,params:{canvasContext:t,viewport:e,transform:n,imageLayer:r,background:o},objs:this.objs,commonObjs:this.commonObjs,annotationCanvasMap:c,operatorList:p.operatorList,pageIndex:this._pageIndex,canvasFactory:g,useRequestAnimationFrame:!m,pdfBug:this._pdfBug,pageColors:h});(p.renderTasks||=new Set).add(b);const _=b.task;return Promise.all([p.displayReadyCapability.promise,l]).then(([t,e])=>{this.pendingCleanup?f():(this._stats&&this._stats.time("Rendering"),b.initializeGraphics({transparency:t,optionalContentConfig:e}),b.operatorListChanged())}).catch(f),_}getOperatorList({intent:t="display",annotationMode:e=_util.AnnotationMode.ENABLE,printAnnotationStorage:s=null}={}){const i=this._transport.getRenderingIntent(t,e,s,!0);let n,r=this._intentStates.get(i.cacheKey);return r||(r=Object.create(null),this._intentStates.set(i.cacheKey,r)),r.opListReadCapability||(n=Object.create(null),n.operatorListChanged=function(){r.operatorList.lastChunk&&(r.opListReadCapability.resolve(r.operatorList),r.renderTasks.delete(n))},r.opListReadCapability=(0,_util.createPromiseCapability)(),(r.renderTasks||=new Set).add(n),r.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},this._stats&&this._stats.time("Page Request"),this._pumpOperatorList(i)),r.opListReadCapability.promise}streamTextContent({disableCombineTextItems:t=!1,includeMarkedContent:e=!1}={}){return this._transport.messageHandler.sendWithStream("GetTextContent",{pageIndex:this._pageIndex,combineTextItems:!0!==t,includeMarkedContent:!0===e},{highWaterMark:100,size:t=>t.items.length})}getTextContent(t={}){if(this._transport._htmlForXfa)return this.getXfa().then(t=>_xfa_text.XfaText.textContent(t));const e=this.streamTextContent(t);return new Promise(function(t,s){const i=e.getReader(),n={items:[],styles:Object.create(null)};!function e(){i.read().then(function({value:s,done:i}){i?t(n):(Object.assign(n.styles,s.styles),n.items.push(...s.items),e())},s)}()})}getStructTree(){return this._structTreePromise||=this._transport.getStructTree(this._pageIndex)}_destroy(){this.destroyed=!0;const t=[];for(const e of this._intentStates.values())if(this._abortOperatorList({intentState:e,reason:new Error("Page was destroyed."),force:!0}),!e.opListReadCapability)for(const s of e.renderTasks)t.push(s.completed),s.cancel();this.objs.clear();for(const e of this._bitmaps)e.close();return this._bitmaps.clear(),this._annotationPromises.clear(),this._jsActionsPromise=null,this._structTreePromise=null,this.pendingCleanup=!1,Promise.all(t)}cleanup(t=!1){return this.pendingCleanup=!0,this._tryCleanup(t)}_tryCleanup(t=!1){if(!this.pendingCleanup)return!1;for(const{renderTasks:e,operatorList:s}of this._intentStates.values())if(e.size>0||!s.lastChunk)return!1;this._intentStates.clear(),this.objs.clear(),this._annotationPromises.clear(),this._jsActionsPromise=null,this._structTreePromise=null,t&&this._stats&&(this._stats=new _display_utils.StatTimer);for(const e of this._bitmaps)e.close();return this._bitmaps.clear(),this.pendingCleanup=!1,!0}_startRenderPage(t,e){const s=this._intentStates.get(e);s&&(this._stats&&this._stats.timeEnd("Page Request"),s.displayReadyCapability&&s.displayReadyCapability.resolve(t))}_renderPageChunk(t,e){for(let s=0,i=t.length;s<i;s++)e.operatorList.fnArray.push(t.fnArray[s]),e.operatorList.argsArray.push(t.argsArray[s]);e.operatorList.lastChunk=t.lastChunk,e.operatorList.separateAnnots=t.separateAnnots;for(const s of e.renderTasks)s.operatorListChanged();t.lastChunk&&this._tryCleanup()}_pumpOperatorList({renderingIntent:t,cacheKey:e,annotationStorageMap:s}){const i=this._transport.messageHandler.sendWithStream("GetOperatorList",{pageIndex:this._pageIndex,intent:t,cacheKey:e,annotationStorage:s}).getReader(),n=this._intentStates.get(e);n.streamReader=i;const r=()=>{i.read().then(({value:t,done:e})=>{e?n.streamReader=null:this._transport.destroyed||(this._renderPageChunk(t,n),r())},t=>{if(n.streamReader=null,!this._transport.destroyed){if(n.operatorList){n.operatorList.lastChunk=!0;for(const t of n.renderTasks)t.operatorListChanged();this._tryCleanup()}if(n.displayReadyCapability)n.displayReadyCapability.reject(t);else{if(!n.opListReadCapability)throw t;n.opListReadCapability.reject(t)}}})};r()}_abortOperatorList({intentState:t,reason:e,force:s=!1}){if(t.streamReader){if(!s){if(t.renderTasks.size>0)return;if(e instanceof _display_utils.RenderingCancelledException)return void(t.streamReaderCancelTimeout=setTimeout(()=>{this._abortOperatorList({intentState:t,reason:e,force:!0}),t.streamReaderCancelTimeout=null},RENDERING_CANCELLED_TIMEOUT))}if(t.streamReader.cancel(new _util.AbortException(e.message)).catch(()=>{}),t.streamReader=null,!this._transport.destroyed){for(const[e,s]of this._intentStates)if(s===t){this._intentStates.delete(e);break}this.cleanup()}}}get stats(){return this._stats}}exports$1.PDFPageProxy=PDFPageProxy;class LoopbackPort{constructor(){this._listeners=[],this._deferred=Promise.resolve()}postMessage(t,e){const s={data:structuredClone(t,e)};this._deferred.then(()=>{for(const t of this._listeners)t.call(this,s)})}addEventListener(t,e){this._listeners.push(e)}removeEventListener(t,e){const s=this._listeners.indexOf(e);this._listeners.splice(s,1)}terminate(){this._listeners.length=0}}exports$1.LoopbackPort=LoopbackPort;const PDFWorkerUtil={isWorkerDisabled:!1,fallbackWorkerSrc:null,fakeWorkerId:0};if(exports$1.PDFWorkerUtil=PDFWorkerUtil,_is_node.isNodeJS&&"function"==typeof commonjsRequire)PDFWorkerUtil.isWorkerDisabled=!0,PDFWorkerUtil.fallbackWorkerSrc="./pdf.worker.js";else if("object"==typeof document){const t=document?.currentScript?.src;t&&(PDFWorkerUtil.fallbackWorkerSrc=t.replace(/(\.(?:min\.)?js)(\?.*)?$/i,".worker$1$2"))}PDFWorkerUtil.isSameOrigin=function(t,e){let s;try{if(s=new URL(t),!s.origin||"null"===s.origin)return!1}catch(n){return!1}const i=new URL(e,s);return s.origin===i.origin},PDFWorkerUtil.createCDNWrapper=function(t){const e=`importScripts("${t}");`;return URL.createObjectURL(new Blob([e]))};class PDFWorker{static#e=new WeakMap;constructor({name:t=null,port:e=null,verbosity:s=(0,_util.getVerbosityLevel)()}={}){if(e&&PDFWorker.#e.has(e))throw new Error("Cannot use more than one PDFWorker per port.");if(this.name=t,this.destroyed=!1,this.verbosity=s,this._readyCapability=(0,_util.createPromiseCapability)(),this._port=null,this._webWorker=null,this._messageHandler=null,e)return PDFWorker.#e.set(e,this),void this._initializeFromPort(e);this._initialize()}get promise(){return this._readyCapability.promise}get port(){return this._port}get messageHandler(){return this._messageHandler}_initializeFromPort(t){this._port=t,this._messageHandler=new _message_handler.MessageHandler("main","worker",t),this._messageHandler.on("ready",function(){}),this._readyCapability.resolve()}_initialize(){if(!PDFWorkerUtil.isWorkerDisabled&&!PDFWorker._mainThreadWorkerMessageHandler){let{workerSrc:e}=PDFWorker;try{PDFWorkerUtil.isSameOrigin(window.location.href,e)||(e=PDFWorkerUtil.createCDNWrapper(new URL(e,window.location).href));const t=new Worker(e),s=new _message_handler.MessageHandler("main","worker",t),i=()=>{t.removeEventListener("error",n),s.destroy(),t.terminate(),this.destroyed?this._readyCapability.reject(new Error("Worker was destroyed")):this._setupFakeWorker()},n=()=>{this._webWorker||i()};t.addEventListener("error",n),s.on("test",e=>{t.removeEventListener("error",n),this.destroyed?i():e?(this._messageHandler=s,this._port=t,this._webWorker=t,this._readyCapability.resolve(),s.send("configure",{verbosity:this.verbosity})):(this._setupFakeWorker(),s.destroy(),t.terminate())}),s.on("ready",e=>{if(t.removeEventListener("error",n),this.destroyed)i();else try{r()}catch(s){this._setupFakeWorker()}});const r=()=>{const t=new Uint8Array;s.send("test",t,[t.buffer])};return void r()}catch(t){(0,_util.info)("The worker has been disabled.")}}this._setupFakeWorker()}_setupFakeWorker(){PDFWorkerUtil.isWorkerDisabled||((0,_util.warn)("Setting up fake worker."),PDFWorkerUtil.isWorkerDisabled=!0),PDFWorker._setupFakeWorkerGlobal.then(t=>{if(this.destroyed)return void this._readyCapability.reject(new Error("Worker was destroyed"));const e=new LoopbackPort;this._port=e;const s="fake"+PDFWorkerUtil.fakeWorkerId++,i=new _message_handler.MessageHandler(s+"_worker",s,e);t.setup(i,e);const n=new _message_handler.MessageHandler(s,s+"_worker",e);this._messageHandler=n,this._readyCapability.resolve(),n.send("configure",{verbosity:this.verbosity})}).catch(t=>{this._readyCapability.reject(new Error(`Setting up fake worker failed: "${t.message}".`))})}destroy(){this.destroyed=!0,this._webWorker&&(this._webWorker.terminate(),this._webWorker=null),PDFWorker.#e.delete(this._port),this._port=null,this._messageHandler&&(this._messageHandler.destroy(),this._messageHandler=null)}static fromPort(t){if(!t?.port)throw new Error("PDFWorker.fromPort - invalid method signature.");return this.#e.has(t.port)?this.#e.get(t.port):new PDFWorker(t)}static get workerSrc(){if(_worker_options.GlobalWorkerOptions.workerSrc)return _worker_options.GlobalWorkerOptions.workerSrc;if(null!==PDFWorkerUtil.fallbackWorkerSrc)return _is_node.isNodeJS||(0,_display_utils.deprecated)('No "GlobalWorkerOptions.workerSrc" specified.'),PDFWorkerUtil.fallbackWorkerSrc;throw new Error('No "GlobalWorkerOptions.workerSrc" specified.')}static get _mainThreadWorkerMessageHandler(){try{return globalThis.pdfjsWorker?.WorkerMessageHandler||null}catch(t){return null}}static get _setupFakeWorkerGlobal(){const loader=async()=>{const mainWorkerMessageHandler=this._mainThreadWorkerMessageHandler;if(mainWorkerMessageHandler)return mainWorkerMessageHandler;if(_is_node.isNodeJS&&"function"==typeof commonjsRequire){const worker=eval("require")(this.workerSrc);return worker.WorkerMessageHandler}return await(0,_display_utils.loadScript)(this.workerSrc),window.pdfjsWorker.WorkerMessageHandler};return(0,_util.shadow)(this,"_setupFakeWorkerGlobal",loader())}}exports$1.PDFWorker=PDFWorker,PDFWorker.getWorkerSrc=function(){return(0,_display_utils.deprecated)("`PDFWorker.getWorkerSrc()`, please use `PDFWorker.workerSrc` instead."),this.workerSrc};class WorkerTransport{#s=null;#i=new Map;#n=new Map;#r=null;constructor(t,e,s,i){this.messageHandler=t,this.loadingTask=e,this.commonObjs=new PDFObjects,this.fontLoader=new _font_loader.FontLoader({docId:e.docId,onUnsupportedFeature:this._onUnsupportedFeature.bind(this),ownerDocument:i.ownerDocument,styleElement:i.styleElement}),this._params=i,i.useWorkerFetch||(this.CMapReaderFactory=new i.CMapReaderFactory({baseUrl:i.cMapUrl,isCompressed:i.cMapPacked}),this.StandardFontDataFactory=new i.StandardFontDataFactory({baseUrl:i.standardFontDataUrl})),this.destroyed=!1,this.destroyCapability=null,this._passwordCapability=null,this._networkStream=s,this._fullReader=null,this._lastProgress=null,this.downloadInfoCapability=(0,_util.createPromiseCapability)(),this.setupMessageHandler()}get annotationStorage(){return(0,_util.shadow)(this,"annotationStorage",new _annotation_storage.AnnotationStorage)}get stats(){return this.#s}getRenderingIntent(t,e=_util.AnnotationMode.ENABLE,s=null,i=!1){let n=_util.RenderingIntentFlag.DISPLAY,r=null;switch(t){case"any":n=_util.RenderingIntentFlag.ANY;break;case"display":break;case"print":n=_util.RenderingIntentFlag.PRINT;break;default:(0,_util.warn)(`getRenderingIntent - invalid intent: ${t}`)}switch(e){case _util.AnnotationMode.DISABLE:n+=_util.RenderingIntentFlag.ANNOTATIONS_DISABLE;break;case _util.AnnotationMode.ENABLE:break;case _util.AnnotationMode.ENABLE_FORMS:n+=_util.RenderingIntentFlag.ANNOTATIONS_FORMS;break;case _util.AnnotationMode.ENABLE_STORAGE:n+=_util.RenderingIntentFlag.ANNOTATIONS_STORAGE,r=(n&_util.RenderingIntentFlag.PRINT&&s instanceof _annotation_storage.PrintAnnotationStorage?s:this.annotationStorage).serializable;break;default:(0,_util.warn)(`getRenderingIntent - invalid annotationMode: ${e}`)}return i&&(n+=_util.RenderingIntentFlag.OPLIST),{renderingIntent:n,cacheKey:`${n}_${_annotation_storage.AnnotationStorage.getHash(r)}`,annotationStorageMap:r}}destroy(){if(this.destroyCapability)return this.destroyCapability.promise;this.destroyed=!0,this.destroyCapability=(0,_util.createPromiseCapability)(),this._passwordCapability&&this._passwordCapability.reject(new Error("Worker was destroyed during onPassword callback"));const t=[];for(const s of this.#i.values())t.push(s._destroy());this.#i.clear(),this.#n.clear(),this.hasOwnProperty("annotationStorage")&&this.annotationStorage.resetModified();const e=this.messageHandler.sendWithPromise("Terminate",null);return t.push(e),Promise.all(t).then(()=>{this.commonObjs.clear(),this.fontLoader.clear(),this.#r=null,this._getFieldObjectsPromise=null,this._hasJSActionsPromise=null,this._networkStream&&this._networkStream.cancelAllRequests(new _util.AbortException("Worker was terminated.")),this.messageHandler&&(this.messageHandler.destroy(),this.messageHandler=null),this.destroyCapability.resolve()},this.destroyCapability.reject),this.destroyCapability.promise}setupMessageHandler(){const{messageHandler:t,loadingTask:e}=this;t.on("GetReader",(t,e)=>{(0,_util.assert)(this._networkStream,"GetReader - no `IPDFStream` instance available."),this._fullReader=this._networkStream.getFullReader(),this._fullReader.onProgress=t=>{this._lastProgress={loaded:t.loaded,total:t.total}},e.onPull=()=>{this._fullReader.read().then(function({value:t,done:s}){s?e.close():((0,_util.assert)((0,_util.isArrayBuffer)(t),"GetReader - expected an ArrayBuffer."),e.enqueue(new Uint8Array(t),1,[t]))}).catch(t=>{e.error(t)})},e.onCancel=t=>{this._fullReader.cancel(t),e.ready.catch(t=>{if(!this.destroyed)throw t})}}),t.on("ReaderHeadersReady",t=>{const s=(0,_util.createPromiseCapability)(),i=this._fullReader;return i.headersReady.then(()=>{i.isStreamingSupported&&i.isRangeSupported||(this._lastProgress&&e.onProgress?.(this._lastProgress),i.onProgress=t=>{e.onProgress?.({loaded:t.loaded,total:t.total})}),s.resolve({isStreamingSupported:i.isStreamingSupported,isRangeSupported:i.isRangeSupported,contentLength:i.contentLength})},s.reject),s.promise}),t.on("GetRangeReader",(t,e)=>{(0,_util.assert)(this._networkStream,"GetRangeReader - no `IPDFStream` instance available.");const s=this._networkStream.getRangeReader(t.begin,t.end);s?(e.onPull=()=>{s.read().then(function({value:t,done:s}){s?e.close():((0,_util.assert)((0,_util.isArrayBuffer)(t),"GetRangeReader - expected an ArrayBuffer."),e.enqueue(new Uint8Array(t),1,[t]))}).catch(t=>{e.error(t)})},e.onCancel=t=>{s.cancel(t),e.ready.catch(t=>{if(!this.destroyed)throw t})}):e.close()}),t.on("GetDoc",({pdfInfo:t})=>{this._numPages=t.numPages,this._htmlForXfa=t.htmlForXfa,delete t.htmlForXfa,e._capability.resolve(new PDFDocumentProxy(t,this))}),t.on("DocException",function(t){let s;switch(t.name){case"PasswordException":s=new _util.PasswordException(t.message,t.code);break;case"InvalidPDFException":s=new _util.InvalidPDFException(t.message);break;case"MissingPDFException":s=new _util.MissingPDFException(t.message);break;case"UnexpectedResponseException":s=new _util.UnexpectedResponseException(t.message,t.status);break;case"UnknownErrorException":s=new _util.UnknownErrorException(t.message,t.details);break;default:(0,_util.unreachable)("DocException - expected a valid Error.")}e._capability.reject(s)}),t.on("PasswordRequest",t=>{if(this._passwordCapability=(0,_util.createPromiseCapability)(),e.onPassword){const i=t=>{t instanceof Error?this._passwordCapability.reject(t):this._passwordCapability.resolve({password:t})};try{e.onPassword(i,t.code)}catch(s){this._passwordCapability.reject(s)}}else this._passwordCapability.reject(new _util.PasswordException(t.message,t.code));return this._passwordCapability.promise}),t.on("DataLoaded",t=>{e.onProgress?.({loaded:t.length,total:t.length}),this.downloadInfoCapability.resolve(t)}),t.on("StartRenderPage",t=>{this.destroyed||this.#i.get(t.pageIndex)._startRenderPage(t.transparency,t.cacheKey)}),t.on("commonobj",([e,s,i])=>{if(!this.destroyed&&!this.commonObjs.has(e))switch(s){case"Font":const n=this._params;if("error"in i){const t=i.error;(0,_util.warn)(`Error during font loading: ${t}`),this.commonObjs.resolve(e,t);break}let r=null;n.pdfBug&&globalThis.FontInspector?.enabled&&(r={registerFont(t,e){globalThis.FontInspector.fontAdded(t,e)}});const a=new _font_loader.FontFaceObject(i,{isEvalSupported:n.isEvalSupported,disableFontFace:n.disableFontFace,ignoreErrors:n.ignoreErrors,onUnsupportedFeature:this._onUnsupportedFeature.bind(this),fontRegistry:r});this.fontLoader.bind(a).catch(s=>t.sendWithPromise("FontFallback",{id:e})).finally(()=>{!n.fontExtraProperties&&a.data&&(a.data=null),this.commonObjs.resolve(e,a)});break;case"FontPath":case"Image":this.commonObjs.resolve(e,i);break;default:throw new Error(`Got unknown common object type ${s}`)}}),t.on("obj",([t,e,s,i])=>{if(this.destroyed)return;const n=this.#i.get(e);if(!n.objs.has(t))switch(s){case"Image":n.objs.resolve(t,i);const e=8e6;if(i){let t;if(i.bitmap){const{bitmap:e,width:s,height:r}=i;t=s*r*4,n._bitmaps.add(e)}else t=i.data?.length||0;t>e&&(n.cleanupAfterRender=!0)}break;case"Pattern":n.objs.resolve(t,i);break;default:throw new Error(`Got unknown object type ${s}`)}}),t.on("DocProgress",t=>{this.destroyed||e.onProgress?.({loaded:t.loaded,total:t.total})}),t.on("DocStats",t=>{this.destroyed||(this.#s=Object.freeze({streamTypes:Object.freeze(t.streamTypes),fontTypes:Object.freeze(t.fontTypes)}))}),t.on("UnsupportedFeature",this._onUnsupportedFeature.bind(this)),t.on("FetchBuiltInCMap",t=>this.destroyed?Promise.reject(new Error("Worker was destroyed.")):this.CMapReaderFactory?this.CMapReaderFactory.fetch(t):Promise.reject(new Error("CMapReaderFactory not initialized, see the `useWorkerFetch` parameter."))),t.on("FetchStandardFontData",t=>this.destroyed?Promise.reject(new Error("Worker was destroyed.")):this.StandardFontDataFactory?this.StandardFontDataFactory.fetch(t):Promise.reject(new Error("StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter.")))}_onUnsupportedFeature({featureId:t}){this.destroyed||this.loadingTask.onUnsupportedFeature?.(t)}getData(){return this.messageHandler.sendWithPromise("GetData",null)}getPage(t){if(!Number.isInteger(t)||t<=0||t>this._numPages)return Promise.reject(new Error("Invalid page request."));const e=t-1,s=this.#n.get(e);if(s)return s;const i=this.messageHandler.sendWithPromise("GetPage",{pageIndex:e}).then(t=>{if(this.destroyed)throw new Error("Transport destroyed");const s=new PDFPageProxy(e,t,this,this._params.ownerDocument,this._params.pdfBug);return this.#i.set(e,s),s});return this.#n.set(e,i),i}getPageIndex(t){return"object"!=typeof t||null===t||!Number.isInteger(t.num)||t.num<0||!Number.isInteger(t.gen)||t.gen<0?Promise.reject(new Error("Invalid pageIndex request.")):this.messageHandler.sendWithPromise("GetPageIndex",{num:t.num,gen:t.gen})}getAnnotations(t,e){return this.messageHandler.sendWithPromise("GetAnnotations",{pageIndex:t,intent:e})}saveDocument(){return this.messageHandler.sendWithPromise("SaveDocument",{isPureXfa:!!this._htmlForXfa,numPages:this._numPages,annotationStorage:this.annotationStorage.serializable,filename:this._fullReader?.filename??null}).finally(()=>{this.annotationStorage.resetModified()})}getFieldObjects(){return this._getFieldObjectsPromise||=this.messageHandler.sendWithPromise("GetFieldObjects",null)}hasJSActions(){return this._hasJSActionsPromise||=this.messageHandler.sendWithPromise("HasJSActions",null)}getCalculationOrderIds(){return this.messageHandler.sendWithPromise("GetCalculationOrderIds",null)}getDestinations(){return this.messageHandler.sendWithPromise("GetDestinations",null)}getDestination(t){return"string"!=typeof t?Promise.reject(new Error("Invalid destination request.")):this.messageHandler.sendWithPromise("GetDestination",{id:t})}getPageLabels(){return this.messageHandler.sendWithPromise("GetPageLabels",null)}getPageLayout(){return this.messageHandler.sendWithPromise("GetPageLayout",null)}getPageMode(){return this.messageHandler.sendWithPromise("GetPageMode",null)}getViewerPreferences(){return this.messageHandler.sendWithPromise("GetViewerPreferences",null)}getOpenAction(){return this.messageHandler.sendWithPromise("GetOpenAction",null)}getAttachments(){return this.messageHandler.sendWithPromise("GetAttachments",null)}getJavaScript(){return this.messageHandler.sendWithPromise("GetJavaScript",null)}getDocJSActions(){return this.messageHandler.sendWithPromise("GetDocJSActions",null)}getPageJSActions(t){return this.messageHandler.sendWithPromise("GetPageJSActions",{pageIndex:t})}getStructTree(t){return this.messageHandler.sendWithPromise("GetStructTree",{pageIndex:t})}getOutline(){return this.messageHandler.sendWithPromise("GetOutline",null)}getOptionalContentConfig(){return this.messageHandler.sendWithPromise("GetOptionalContentConfig",null).then(t=>new _optional_content_config.OptionalContentConfig(t))}getPermissions(){return this.messageHandler.sendWithPromise("GetPermissions",null)}getMetadata(){return this.#r||=this.messageHandler.sendWithPromise("GetMetadata",null).then(t=>({info:t[0],metadata:t[1]?new _metadata.Metadata(t[1]):null,contentDispositionFilename:this._fullReader?.filename??null,contentLength:this._fullReader?.contentLength??null}))}getMarkInfo(){return this.messageHandler.sendWithPromise("GetMarkInfo",null)}async startCleanup(t=!1){if(await this.messageHandler.sendWithPromise("Cleanup",null),!this.destroyed){for(const t of this.#i.values())if(!t.cleanup())throw new Error(`startCleanup: Page ${t.pageNumber} is currently rendering.`);this.commonObjs.clear(),t||this.fontLoader.clear(),this.#r=null,this._getFieldObjectsPromise=null,this._hasJSActionsPromise=null}}get loadingParams(){const t=this._params;return(0,_util.shadow)(this,"loadingParams",{disableAutoFetch:t.disableAutoFetch,enableXfa:t.enableXfa})}}class PDFObjects{#a=Object.create(null);#o(t){const e=this.#a[t];return e||(this.#a[t]={capability:(0,_util.createPromiseCapability)(),data:null})}get(t,e=null){if(e){const s=this.#o(t);return s.capability.promise.then(()=>e(s.data)),null}const s=this.#a[t];if(!s?.capability.settled)throw new Error(`Requesting object that isn't resolved yet ${t}.`);return s.data}has(t){const e=this.#a[t];return e?.capability.settled||!1}resolve(t,e=null){const s=this.#o(t);s.data=e,s.capability.resolve()}clear(){this.#a=Object.create(null)}}class RenderTask{#l=null;constructor(t){this.#l=t,this.onContinue=null}get promise(){return this.#l.capability.promise}cancel(){this.#l.cancel()}get separateAnnots(){const{separateAnnots:t}=this.#l.operatorList;if(!t)return!1;const{annotationCanvasMap:e}=this.#l;return t.form||t.canvas&&e?.size>0}}exports$1.RenderTask=RenderTask;class InternalRenderTask{static#c=new WeakSet;constructor({callback:t,params:e,objs:s,commonObjs:i,annotationCanvasMap:n,operatorList:r,pageIndex:a,canvasFactory:o,useRequestAnimationFrame:l=!1,pdfBug:c=!1,pageColors:h=null}){this.callback=t,this.params=e,this.objs=s,this.commonObjs=i,this.annotationCanvasMap=n,this.operatorListIdx=null,this.operatorList=r,this._pageIndex=a,this.canvasFactory=o,this._pdfBug=c,this.pageColors=h,this.running=!1,this.graphicsReadyCallback=null,this.graphicsReady=!1,this._useRequestAnimationFrame=!0===l&&"undefined"!=typeof window,this.cancelled=!1,this.capability=(0,_util.createPromiseCapability)(),this.task=new RenderTask(this),this._cancelBound=this.cancel.bind(this),this._continueBound=this._continue.bind(this),this._scheduleNextBound=this._scheduleNext.bind(this),this._nextBound=this._next.bind(this),this._canvas=e.canvasContext.canvas}get completed(){return this.capability.promise.catch(function(){})}initializeGraphics({transparency:t=!1,optionalContentConfig:e}){if(this.cancelled)return;if(this._canvas){if(InternalRenderTask.#c.has(this._canvas))throw new Error("Cannot use the same canvas during multiple render() operations. Use different canvas or ensure previous operations were cancelled or completed.");InternalRenderTask.#c.add(this._canvas)}this._pdfBug&&globalThis.StepperManager?.enabled&&(this.stepper=globalThis.StepperManager.create(this._pageIndex),this.stepper.init(this.operatorList),this.stepper.nextBreakPoint=this.stepper.getNextBreakPoint());const{canvasContext:s,viewport:i,transform:n,imageLayer:r,background:a}=this.params;this.gfx=new _canvas.CanvasGraphics(s,this.commonObjs,this.objs,this.canvasFactory,r,e,this.annotationCanvasMap,this.pageColors),this.gfx.beginDrawing({transform:n,viewport:i,transparency:t,background:a}),this.operatorListIdx=0,this.graphicsReady=!0,this.graphicsReadyCallback&&this.graphicsReadyCallback()}cancel(t=null){this.running=!1,this.cancelled=!0,this.gfx&&this.gfx.endDrawing(),this._canvas&&InternalRenderTask.#c.delete(this._canvas),this.callback(t||new _display_utils.RenderingCancelledException(`Rendering cancelled, page ${this._pageIndex+1}`,"canvas"))}operatorListChanged(){this.graphicsReady?(this.stepper&&this.stepper.updateOperatorList(this.operatorList),this.running||this._continue()):this.graphicsReadyCallback||(this.graphicsReadyCallback=this._continueBound)}_continue(){this.running=!0,this.cancelled||(this.task.onContinue?this.task.onContinue(this._scheduleNextBound):this._scheduleNext())}_scheduleNext(){this._useRequestAnimationFrame?window.requestAnimationFrame(()=>{this._nextBound().catch(this._cancelBound)}):Promise.resolve().then(this._nextBound).catch(this._cancelBound)}async _next(){this.cancelled||(this.operatorListIdx=this.gfx.executeOperatorList(this.operatorList,this.operatorListIdx,this._continueBound,this.stepper),this.operatorListIdx===this.operatorList.argsArray.length&&(this.running=!1,this.operatorList.lastChunk&&(this.gfx.endDrawing(),this._canvas&&InternalRenderTask.#c.delete(this._canvas),this.callback())))}}const version="2.16.105";exports$1.version=version;const build="172ccdbe5";exports$1.build=build},(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.PrintAnnotationStorage=e.AnnotationStorage=void 0;var i=s(1),n=s(6),r=s(10);class a{constructor(){this._storage=new Map,this._modified=!1,this.onSetModified=null,this.onResetModified=null,this.onAnnotationEditor=null}getValue(t,e){const s=this._storage.get(t);return void 0===s?e:Object.assign(e,s)}getRawValue(t){return this._storage.get(t)}remove(t){if(this._storage.delete(t),0===this._storage.size&&this.resetModified(),"function"==typeof this.onAnnotationEditor){for(const t of this._storage.values())if(t instanceof n.AnnotationEditor)return;this.onAnnotationEditor(null)}}setValue(t,e){const s=this._storage.get(t);let i=!1;if(void 0!==s)for(const[n,r]of Object.entries(e))s[n]!==r&&(i=!0,s[n]=r);else i=!0,this._storage.set(t,e);i&&this.#h(),e instanceof n.AnnotationEditor&&"function"==typeof this.onAnnotationEditor&&this.onAnnotationEditor(e.constructor._type)}has(t){return this._storage.has(t)}getAll(){return this._storage.size>0?(0,i.objectFromMap)(this._storage):null}get size(){return this._storage.size}#h(){this._modified||(this._modified=!0,"function"==typeof this.onSetModified&&this.onSetModified())}resetModified(){this._modified&&(this._modified=!1,"function"==typeof this.onResetModified&&this.onResetModified())}get print(){return new o(this)}get serializable(){if(0===this._storage.size)return null;const t=new Map;for(const[e,s]of this._storage){const i=s instanceof n.AnnotationEditor?s.serialize():s;i&&t.set(e,i)}return t}static getHash(t){if(!t)return"";const e=new r.MurmurHash3_64;for(const[s,i]of t)e.update(`${s}:${JSON.stringify(i)}`);return e.hexdigest()}}e.AnnotationStorage=a;class o extends a{#d=null;constructor(t){super(),this.#d=structuredClone(t.serializable)}get print(){(0,i.unreachable)("Should not call PrintAnnotationStorage.print")}get serializable(){return this.#d}}e.PrintAnnotationStorage=o},(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.AnnotationEditor=void 0;var i=s(7),n=s(1);class r{#u=this.focusin.bind(this);#p=this.focusout.bind(this);#g=!1;#m=!1;#f=!1;#b=r._zIndex++;static _colorManager=new i.ColorManager;static _zIndex=1;constructor(t){this.constructor===r&&(0,n.unreachable)("Cannot initialize AnnotationEditor."),this.parent=t.parent,this.id=t.id,this.width=this.height=null,this.pageIndex=t.parent.pageIndex,this.name=t.name,this.div=null;const[e,s]=this.parent.viewportBaseDimensions;this.x=t.x/e,this.y=t.y/s,this.rotation=this.parent.viewport.rotation,this.isAttachedToDOM=!1}static get _defaultLineColor(){return(0,n.shadow)(this,"_defaultLineColor",this._colorManager.getHexCode("CanvasText"))}setInBackground(){this.div.style.zIndex=0}setInForeground(){this.div.style.zIndex=this.#b}focusin(t){this.#g?this.#g=!1:this.parent.setSelected(this)}focusout(t){if(!this.isAttachedToDOM)return;const e=t.relatedTarget;e?.closest(`#${this.id}`)||(t.preventDefault(),this.parent.isMultipleSelection||this.commitOrRemove())}commitOrRemove(){this.isEmpty()?this.remove():this.commit()}commit(){this.parent.addToAnnotationStorage(this)}dragstart(t){const e=this.parent.div.getBoundingClientRect();this.startX=t.clientX-e.x,this.startY=t.clientY-e.y,t.dataTransfer.setData("text/plain",this.id),t.dataTransfer.effectAllowed="move"}setAt(t,e,s,i){const[n,r]=this.parent.viewportBaseDimensions;[s,i]=this.screenToPageTranslation(s,i),this.x=(t+s)/n,this.y=(e+i)/r,this.div.style.left=100*this.x+"%",this.div.style.top=100*this.y+"%"}translate(t,e){const[s,i]=this.parent.viewportBaseDimensions;[t,e]=this.screenToPageTranslation(t,e),this.x+=t/s,this.y+=e/i,this.div.style.left=100*this.x+"%",this.div.style.top=100*this.y+"%"}screenToPageTranslation(t,e){const{rotation:s}=this.parent.viewport;switch(s){case 90:return[e,-t];case 180:return[-t,-e];case 270:return[-e,t];default:return[t,e]}}setDims(t,e){const[s,i]=this.parent.viewportBaseDimensions;this.div.style.width=100*t/s+"%",this.div.style.height=100*e/i+"%"}getInitialTranslation(){return[0,0]}render(){this.div=document.createElement("div"),this.div.setAttribute("data-editor-rotation",(360-this.rotation)%360),this.div.className=this.name,this.div.setAttribute("id",this.id),this.div.setAttribute("tabIndex",0),this.setInForeground(),this.div.addEventListener("focusin",this.#u),this.div.addEventListener("focusout",this.#p);const[t,e]=this.getInitialTranslation();return this.translate(t,e),(0,i.bindEvents)(this,this.div,["dragstart","pointerdown"]),this.div}pointerdown(t){const e=i.KeyboardManager.platform.isMac;0!==t.button||t.ctrlKey&&e?t.preventDefault():(t.ctrlKey&&!e||t.shiftKey||t.metaKey&&e?this.parent.toggleSelected(this):this.parent.setSelected(this),this.#g=!0)}getRect(t,e){const[s,i]=this.parent.viewportBaseDimensions,[n,r]=this.parent.pageDimensions,a=n*t/s,o=r*e/i,l=this.x*n,c=this.y*r,h=this.width*n,d=this.height*r;switch(this.rotation){case 0:return[l+a,r-c-o-d,l+a+h,r-c-o];case 90:return[l+o,r-c+a,l+o+d,r-c+a+h];case 180:return[l-a-h,r-c+o,l-a,r-c+o+d];case 270:return[l-o-d,r-c-a-h,l-o,r-c-a];default:throw new Error("Invalid rotation")}}getRectInCurrentCoords(t,e){const[s,i,n,r]=t,a=n-s,o=r-i;switch(this.rotation){case 0:return[s,e-r,a,o];case 90:return[s,e-i,o,a];case 180:return[n,e-i,a,o];case 270:return[n,e-r,o,a];default:throw new Error("Invalid rotation")}}onceAdded(){}isEmpty(){return!1}enableEditMode(){this.#f=!0}disableEditMode(){this.#f=!1}isInEditMode(){return this.#f}shouldGetKeyboardEvents(){return!1}needsToBeRebuilt(){return this.div&&!this.isAttachedToDOM}rebuild(){this.div?.addEventListener("focusin",this.#u)}serialize(){(0,n.unreachable)("An editor must be serializable")}static deserialize(t,e){const s=new this.prototype.constructor({parent:e,id:e.getNextId()});s.rotation=t.rotation;const[i,n]=e.pageDimensions,[r,a,o,l]=s.getRectInCurrentCoords(t.rect,n);return s.x=r/i,s.y=a/n,s.width=o/i,s.height=l/n,s}remove(){this.div.removeEventListener("focusin",this.#u),this.div.removeEventListener("focusout",this.#p),this.isEmpty()||this.commit(),this.parent.remove(this)}select(){this.div?.classList.add("selectedEditor")}unselect(){this.div?.classList.remove("selectedEditor")}updateParams(t,e){}disableEditing(){}enableEditing(){}get propertiesToUpdate(){return{}}get contentDiv(){return this.div}get isEditing(){return this.#m}set isEditing(t){this.#m=t,t?(this.parent.setSelected(this),this.parent.setActiveEditor(this)):this.parent.setActiveEditor(null)}}e.AnnotationEditor=r},(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.KeyboardManager=e.CommandManager=e.ColorManager=e.AnnotationEditorUIManager=void 0,e.bindEvents=function(t,e,s){for(const i of s)e.addEventListener(i,t[i].bind(t))},e.opacityToHex=function(t){return Math.round(Math.min(255,Math.max(1,255*t))).toString(16).padStart(2,"0")};var i=s(1),n=s(8);class r{#_=0;getId(){return`${i.AnnotationEditorPrefix}${this.#_++}`}}class a{#A=[];#y=!1;#v;#S=-1;constructor(t=128){this.#v=t}add({cmd:t,undo:e,mustExec:s,type:i=NaN,overwriteIfSameType:n=!1,keepUndo:r=!1}){if(s&&t(),this.#y)return;const a={cmd:t,undo:e,type:i};if(-1===this.#S)return this.#A.length>0&&(this.#A.length=0),this.#S=0,void this.#A.push(a);if(n&&this.#A[this.#S].type===i)return r&&(a.undo=this.#A[this.#S].undo),void(this.#A[this.#S]=a);const o=this.#S+1;o===this.#v?this.#A.splice(0,1):(this.#S=o,o<this.#A.length&&this.#A.splice(o)),this.#A.push(a)}undo(){-1!==this.#S&&(this.#y=!0,this.#A[this.#S].undo(),this.#y=!1,this.#S-=1)}redo(){this.#S<this.#A.length-1&&(this.#S+=1,this.#y=!0,this.#A[this.#S].cmd(),this.#y=!1)}hasSomethingToUndo(){return-1!==this.#S}hasSomethingToRedo(){return this.#S<this.#A.length-1}destroy(){this.#A=null}}e.CommandManager=a;class o{constructor(t){this.buffer=[],this.callbacks=new Map,this.allKeys=new Set;const e=o.platform.isMac;for(const[s,i]of t)for(const t of s){const s=t.startsWith("mac+");e&&s?(this.callbacks.set(t.slice(4),i),this.allKeys.add(t.split("+").at(-1))):e||s||(this.callbacks.set(t,i),this.allKeys.add(t.split("+").at(-1)))}}static get platform(){const t="undefined"!=typeof navigator?navigator.platform:"";return(0,i.shadow)(this,"platform",{isWin:t.includes("Win"),isMac:t.includes("Mac")})}#x(t){t.altKey&&this.buffer.push("alt"),t.ctrlKey&&this.buffer.push("ctrl"),t.metaKey&&this.buffer.push("meta"),t.shiftKey&&this.buffer.push("shift"),this.buffer.push(t.key);const e=this.buffer.join("+");return this.buffer.length=0,e}exec(t,e){if(!this.allKeys.has(e.key))return;const s=this.callbacks.get(this.#x(e));s&&(s.bind(t)(),e.stopPropagation(),e.preventDefault())}}e.KeyboardManager=o;class l{#C=null;copy(t){t&&(Array.isArray(t)?this.#C=t.map(t=>t.serialize()):this.#C=[t.serialize()],this.#C=this.#C.filter(t=>!!t),0===this.#C.length&&(this.#C=null))}paste(){return this.#C}isEmpty(){return null===this.#C}destroy(){this.#C=null}}class c{static _colorsMapping=new Map([["CanvasText",[0,0,0]],["Canvas",[255,255,255]]]);get _colors(){const t=new Map([["CanvasText",null],["Canvas",null]]);return(0,n.getColorValues)(t),(0,i.shadow)(this,"_colors",t)}convert(t){const e=(0,n.getRGB)(t);if(!window.matchMedia("(forced-colors: active)").matches)return e;for(const[s,i]of this._colors)if(i.every((t,s)=>t===e[s]))return c._colorsMapping.get(s);return e}getHexCode(t){const e=this._colors.get(t);return e?i.Util.makeHexColor(...e):t}}e.ColorManager=c;class h{#E=null;#P=new Map;#T=new Map;#w=new l;#k=new a;#M=0;#F=null;#R=null;#D=new r;#I=!1;#O=i.AnnotationEditorType.NONE;#L=new Set;#N=this.keydown.bind(this);#j=this.onEditingAction.bind(this);#U=this.onPageChanging.bind(this);#B={isEditing:!1,isEmpty:!0,hasEmptyClipboard:!0,hasSomethingToUndo:!1,hasSomethingToRedo:!1,hasSelectedEditor:!1};#q=null;static _keyboardManager=new o([[["ctrl+a","mac+meta+a"],h.prototype.selectAll],[["ctrl+c","mac+meta+c"],h.prototype.copy],[["ctrl+v","mac+meta+v"],h.prototype.paste],[["ctrl+x","mac+meta+x"],h.prototype.cut],[["ctrl+z","mac+meta+z"],h.prototype.undo],[["ctrl+y","ctrl+shift+Z","mac+meta+shift+Z"],h.prototype.redo],[["Backspace","alt+Backspace","ctrl+Backspace","shift+Backspace","mac+Backspace","mac+alt+Backspace","mac+ctrl+Backspace","Delete","ctrl+Delete","shift+Delete"],h.prototype.delete],[["Escape","mac+Escape"],h.prototype.unselectAll]]);constructor(t,e){this.#q=t,this.#R=e,this.#R._on("editingaction",this.#j),this.#R._on("pagechanging",this.#U)}destroy(){this.#W(),this.#R._off("editingaction",this.#j),this.#R._off("pagechanging",this.#U);for(const t of this.#T.values())t.destroy();this.#T.clear(),this.#P.clear(),this.#E=null,this.#L.clear(),this.#w.destroy(),this.#k.destroy()}onPageChanging({pageNumber:t}){this.#M=t-1}focusMainContainer(){this.#q.focus()}#z(){this.#q.addEventListener("keydown",this.#N)}#W(){this.#q.removeEventListener("keydown",this.#N)}keydown(t){this.getActive()?.shouldGetKeyboardEvents()||h._keyboardManager.exec(this,t)}onEditingAction(t){["undo","redo","cut","copy","paste","delete","selectAll"].includes(t.name)&&this[t.name]()}#H(t){Object.entries(t).some(([t,e])=>this.#B[t]!==e)&&this.#R.dispatch("annotationeditorstateschanged",{source:this,details:Object.assign(this.#B,t)})}#G(t){this.#R.dispatch("annotationeditorparamschanged",{source:this,details:t})}setEditingState(t){t?(this.#z(),this.#H({isEditing:this.#O!==i.AnnotationEditorType.NONE,isEmpty:this.#$(),hasSomethingToUndo:this.#k.hasSomethingToUndo(),hasSomethingToRedo:this.#k.hasSomethingToRedo(),hasSelectedEditor:!1,hasEmptyClipboard:this.#w.isEmpty()})):(this.#W(),this.#H({isEditing:!1}))}registerEditorTypes(t){this.#F=t;for(const e of this.#F)this.#G(e.defaultPropertiesToUpdate)}getId(){return this.#D.getId()}addLayer(t){this.#T.set(t.pageIndex,t),this.#I?t.enable():t.disable()}removeLayer(t){this.#T.delete(t.pageIndex)}updateMode(t){if(this.#O=t,t===i.AnnotationEditorType.NONE)this.setEditingState(!1),this.#V();else{this.setEditingState(!0),this.#X();for(const e of this.#T.values())e.updateMode(t)}}updateToolbar(t){t!==this.#O&&this.#R.dispatch("switchannotationeditormode",{source:this,mode:t})}updateParams(t,e){for(const s of this.#L)s.updateParams(t,e);for(const s of this.#F)s.updateDefaultParams(t,e)}#X(){if(!this.#I){this.#I=!0;for(const t of this.#T.values())t.enable()}}#V(){if(this.unselectAll(),this.#I){this.#I=!1;for(const t of this.#T.values())t.disable()}}getEditors(t){const e=[];for(const s of this.#P.values())s.pageIndex===t&&e.push(s);return e}getEditor(t){return this.#P.get(t)}addEditor(t){this.#P.set(t.id,t)}removeEditor(t){this.#P.delete(t.id),this.unselect(t)}#Y(t){const e=this.#T.get(t.pageIndex);e?e.addOrRebuild(t):this.addEditor(t)}setActiveEditor(t){this.#E!==t&&(this.#E=t,t&&this.#G(t.propertiesToUpdate))}toggleSelected(t){if(this.#L.has(t))return this.#L.delete(t),t.unselect(),void this.#H({hasSelectedEditor:this.hasSelection});this.#L.add(t),t.select(),this.#G(t.propertiesToUpdate),this.#H({hasSelectedEditor:!0})}setSelected(t){for(const e of this.#L)e!==t&&e.unselect();this.#L.clear(),this.#L.add(t),t.select(),this.#G(t.propertiesToUpdate),this.#H({hasSelectedEditor:!0})}isSelected(t){return this.#L.has(t)}unselect(t){t.unselect(),this.#L.delete(t),this.#H({hasSelectedEditor:this.hasSelection})}get hasSelection(){return 0!==this.#L.size}undo(){this.#k.undo(),this.#H({hasSomethingToUndo:this.#k.hasSomethingToUndo(),hasSomethingToRedo:!0,isEmpty:this.#$()})}redo(){this.#k.redo(),this.#H({hasSomethingToUndo:!0,hasSomethingToRedo:this.#k.hasSomethingToRedo(),isEmpty:this.#$()})}addCommands(t){this.#k.add(t),this.#H({hasSomethingToUndo:!0,hasSomethingToRedo:!1,isEmpty:this.#$()})}#$(){if(0===this.#P.size)return!0;if(1===this.#P.size)for(const t of this.#P.values())return t.isEmpty();return!1}delete(){if(this.#E&&this.#E.commitOrRemove(),!this.hasSelection)return;const t=[...this.#L];this.addCommands({cmd:()=>{for(const e of t)e.remove()},undo:()=>{for(const e of t)this.#Y(e)},mustExec:!0})}copy(){if(this.#E&&this.#E.commitOrRemove(),this.hasSelection){const t=[];for(const e of this.#L)e.isEmpty()||t.push(e);if(0===t.length)return;this.#w.copy(t),this.#H({hasEmptyClipboard:!1})}}cut(){this.copy(),this.delete()}paste(){if(this.#w.isEmpty())return;this.unselectAll();const t=this.#T.get(this.#M),e=this.#w.paste().map(e=>t.deserialize(e));this.addCommands({cmd:()=>{for(const t of e)this.#Y(t);this.#K(e)},undo:()=>{for(const t of e)t.remove()},mustExec:!0})}#K(t){this.#L.clear();for(const e of t)e.isEmpty()||(this.#L.add(e),e.select());this.#H({hasSelectedEditor:!0})}selectAll(){for(const t of this.#L)t.commit();this.#K(this.#P.values())}unselectAll(){if(this.#E)this.#E.commitOrRemove();else if(0!==this.#K.size){for(const t of this.#L)t.unselect();this.#L.clear(),this.#H({hasSelectedEditor:!1})}}isActive(t){return this.#E===t}getActive(){return this.#E}getMode(){return this.#O}}e.AnnotationEditorUIManager=h},(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.StatTimer=e.RenderingCancelledException=e.PixelsPerInch=e.PageViewport=e.PDFDateString=e.DOMStandardFontDataFactory=e.DOMSVGFactory=e.DOMCanvasFactory=e.DOMCMapReaderFactory=e.AnnotationPrefix=void 0,e.deprecated=function(t){console.log("Deprecated API usage: "+t)},e.getColorValues=function(t){const e=document.createElement("span");e.style.visibility="hidden",document.body.append(e);for(const s of t.keys()){e.style.color=s;const i=window.getComputedStyle(e).color;t.set(s,f(i))}e.remove()},e.getCurrentTransform=function(t){const{a:e,b:s,c:i,d:n,e:r,f:a}=t.getTransform();return[e,s,i,n,r,a]},e.getCurrentTransformInverse=function(t){const{a:e,b:s,c:i,d:n,e:r,f:a}=t.getTransform().invertSelf();return[e,s,i,n,r,a]},e.getFilenameFromUrl=function(t){const e=t.indexOf("#"),s=t.indexOf("?"),i=Math.min(e>0?e:t.length,s>0?s:t.length);return t.substring(t.lastIndexOf("/",i)+1,i)},e.getPdfFilenameFromUrl=function(t,e="document.pdf"){if("string"!=typeof t)return e;if(p(t))return(0,n.warn)('getPdfFilenameFromUrl: ignore "data:"-URL for performance reasons.'),e;const s=/[^/?#=]+\.pdf\b(?!.*\.pdf\b)/i,i=/^(?:(?:[^:]+:)?\/\/[^/]+)?([^?#]*)(\?[^#]*)?(#.*)?$/.exec(t);let r=s.exec(i[1])||s.exec(i[2])||s.exec(i[3]);if(r&&(r=r[0],r.includes("%")))try{r=s.exec(decodeURIComponent(r))[0]}catch(a){}return r||e},e.getRGB=f,e.getXfaPageViewport=function(t,{scale:e=1,rotation:s=0}){const{width:i,height:n}=t.attributes.style,r=[0,0,parseInt(i),parseInt(n)];return new d({viewBox:r,scale:e,rotation:s})},e.isDataScheme=p,e.isPdfFile=function(t){return"string"==typeof t&&/\.pdf$/i.test(t)},e.isValidFetchUrl=g,e.loadScript=function(t,e=!1){return new Promise((s,i)=>{const n=document.createElement("script");n.src=t,n.onload=function(t){e&&n.remove(),s(t)},n.onerror=function(){i(new Error(`Cannot load script at: ${n.src}`))},(document.head||document.documentElement).append(n)})};var i=s(9),n=s(1);e.AnnotationPrefix="pdfjs_internal_id_";class r{static CSS=96;static PDF=72;static PDF_TO_CSS_UNITS=this.CSS/this.PDF}e.PixelsPerInch=r;class a extends i.BaseCanvasFactory{constructor({ownerDocument:t=globalThis.document}={}){super(),this._document=t}_createCanvas(t,e){const s=this._document.createElement("canvas");return s.width=t,s.height=e,s}}async function o(t,e=!1){if(g(t,document.baseURI)){const s=await fetch(t);if(!s.ok)throw new Error(s.statusText);return e?new Uint8Array(await s.arrayBuffer()):(0,n.stringToBytes)(await s.text())}return new Promise((s,i)=>{const r=new XMLHttpRequest;r.open("GET",t,!0),e&&(r.responseType="arraybuffer"),r.onreadystatechange=()=>{if(r.readyState===XMLHttpRequest.DONE){if(200===r.status||0===r.status){let t;if(e&&r.response?t=new Uint8Array(r.response):!e&&r.responseText&&(t=(0,n.stringToBytes)(r.responseText)),t)return void s(t)}i(new Error(r.statusText))}},r.send(null)})}e.DOMCanvasFactory=a;class l extends i.BaseCMapReaderFactory{_fetchData(t,e){return o(t,this.isCompressed).then(t=>({cMapData:t,compressionType:e}))}}e.DOMCMapReaderFactory=l;class c extends i.BaseStandardFontDataFactory{_fetchData(t){return o(t,!0)}}e.DOMStandardFontDataFactory=c;class h extends i.BaseSVGFactory{_createSVG(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}}e.DOMSVGFactory=h;class d{constructor({viewBox:t,scale:e,rotation:s,offsetX:i=0,offsetY:n=0,dontFlip:r=!1}){this.viewBox=t,this.scale=e,this.rotation=s,this.offsetX=i,this.offsetY=n;const a=(t[2]+t[0])/2,o=(t[3]+t[1])/2;let l,c,h,d,u,p,g,m;switch((s%=360)<0&&(s+=360),s){case 180:l=-1,c=0,h=0,d=1;break;case 90:l=0,c=1,h=1,d=0;break;case 270:l=0,c=-1,h=-1,d=0;break;case 0:l=1,c=0,h=0,d=-1;break;default:throw new Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees.")}r&&(h=-h,d=-d),0===l?(u=Math.abs(o-t[1])*e+i,p=Math.abs(a-t[0])*e+n,g=Math.abs(t[3]-t[1])*e,m=Math.abs(t[2]-t[0])*e):(u=Math.abs(a-t[0])*e+i,p=Math.abs(o-t[1])*e+n,g=Math.abs(t[2]-t[0])*e,m=Math.abs(t[3]-t[1])*e),this.transform=[l*e,c*e,h*e,d*e,u-l*e*a-h*e*o,p-c*e*a-d*e*o],this.width=g,this.height=m}clone({scale:t=this.scale,rotation:e=this.rotation,offsetX:s=this.offsetX,offsetY:i=this.offsetY,dontFlip:n=!1}={}){return new d({viewBox:this.viewBox.slice(),scale:t,rotation:e,offsetX:s,offsetY:i,dontFlip:n})}convertToViewportPoint(t,e){return n.Util.applyTransform([t,e],this.transform)}convertToViewportRectangle(t){const e=n.Util.applyTransform([t[0],t[1]],this.transform),s=n.Util.applyTransform([t[2],t[3]],this.transform);return[e[0],e[1],s[0],s[1]]}convertToPdfPoint(t,e){return n.Util.applyInverseTransform([t,e],this.transform)}}e.PageViewport=d;class u extends n.BaseException{constructor(t,e){super(t,"RenderingCancelledException"),this.type=e}}function p(t){const e=t.length;let s=0;for(;s<e&&""===t[s].trim();)s++;return"data:"===t.substring(s,s+5).toLowerCase()}function g(t,e){try{const{protocol:s}=e?new URL(t,e):new URL(t);return"http:"===s||"https:"===s}catch(s){return!1}}let m;function f(t){if(t.startsWith("#")){const e=parseInt(t.slice(1),16);return[(16711680&e)>>16,(65280&e)>>8,255&e]}return t.startsWith("rgb(")?t.slice(4,-1).split(",").map(t=>parseInt(t)):t.startsWith("rgba(")?t.slice(5,-1).split(",").map(t=>parseInt(t)).slice(0,3):((0,n.warn)(`Not a valid color format: "${t}"`),[0,0,0])}e.RenderingCancelledException=u,e.StatTimer=class{constructor(){this.started=Object.create(null),this.times=[]}time(t){t in this.started&&(0,n.warn)(`Timer is already running for ${t}`),this.started[t]=Date.now()}timeEnd(t){t in this.started||(0,n.warn)(`Timer has not been started for ${t}`),this.times.push({name:t,start:this.started[t],end:Date.now()}),delete this.started[t]}toString(){const t=[];let e=0;for(const s of this.times){const t=s.name;t.length>e&&(e=t.length)}for(const s of this.times){const i=s.end-s.start;t.push(`${s.name.padEnd(e)} ${i}ms\n`)}return t.join("")}},e.PDFDateString=class{static toDateObject(t){if(!t||"string"!=typeof t)return null;m||(m=new RegExp("^D:(\\d{4})(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?([Z|+|-])?(\\d{2})?'?(\\d{2})?'?"));const e=m.exec(t);if(!e)return null;const s=parseInt(e[1],10);let i=parseInt(e[2],10);i=i>=1&&i<=12?i-1:0;let n=parseInt(e[3],10);n=n>=1&&n<=31?n:1;let r=parseInt(e[4],10);r=r>=0&&r<=23?r:0;let a=parseInt(e[5],10);a=a>=0&&a<=59?a:0;let o=parseInt(e[6],10);o=o>=0&&o<=59?o:0;const l=e[7]||"Z";let c=parseInt(e[8],10);c=c>=0&&c<=23?c:0;let h=parseInt(e[9],10)||0;return h=h>=0&&h<=59?h:0,"-"===l?(r+=c,a+=h):"+"===l&&(r-=c,a-=h),new Date(Date.UTC(s,i,n,r,a,o))}}},(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.BaseStandardFontDataFactory=e.BaseSVGFactory=e.BaseCanvasFactory=e.BaseCMapReaderFactory=void 0;var i=s(1);class n{constructor(){this.constructor===n&&(0,i.unreachable)("Cannot initialize BaseCanvasFactory.")}create(t,e){if(t<=0||e<=0)throw new Error("Invalid canvas size");const s=this._createCanvas(t,e);return{canvas:s,context:s.getContext("2d")}}reset(t,e,s){if(!t.canvas)throw new Error("Canvas is not specified");if(e<=0||s<=0)throw new Error("Invalid canvas size");t.canvas.width=e,t.canvas.height=s}destroy(t){if(!t.canvas)throw new Error("Canvas is not specified");t.canvas.width=0,t.canvas.height=0,t.canvas=null,t.context=null}_createCanvas(t,e){(0,i.unreachable)("Abstract method `_createCanvas` called.")}}e.BaseCanvasFactory=n;class r{constructor({baseUrl:t=null,isCompressed:e=!1}){this.constructor===r&&(0,i.unreachable)("Cannot initialize BaseCMapReaderFactory."),this.baseUrl=t,this.isCompressed=e}async fetch({name:t}){if(!this.baseUrl)throw new Error('The CMap "baseUrl" parameter must be specified, ensure that the "cMapUrl" and "cMapPacked" API parameters are provided.');if(!t)throw new Error("CMap name must be specified.");const e=this.baseUrl+t+(this.isCompressed?".bcmap":""),s=this.isCompressed?i.CMapCompressionType.BINARY:i.CMapCompressionType.NONE;return this._fetchData(e,s).catch(t=>{throw new Error(`Unable to load ${this.isCompressed?"binary ":""}CMap at: ${e}`)})}_fetchData(t,e){(0,i.unreachable)("Abstract method `_fetchData` called.")}}e.BaseCMapReaderFactory=r;class a{constructor({baseUrl:t=null}){this.constructor===a&&(0,i.unreachable)("Cannot initialize BaseStandardFontDataFactory."),this.baseUrl=t}async fetch({filename:t}){if(!this.baseUrl)throw new Error('The standard font "baseUrl" parameter must be specified, ensure that the "standardFontDataUrl" API parameter is provided.');if(!t)throw new Error("Font filename must be specified.");const e=`${this.baseUrl}${t}`;return this._fetchData(e).catch(t=>{throw new Error(`Unable to load font data at: ${e}`)})}_fetchData(t){(0,i.unreachable)("Abstract method `_fetchData` called.")}}e.BaseStandardFontDataFactory=a;class o{constructor(){this.constructor===o&&(0,i.unreachable)("Cannot initialize BaseSVGFactory.")}create(t,e,s=!1){if(t<=0||e<=0)throw new Error("Invalid SVG dimensions");const i=this._createSVG("svg:svg");return i.setAttribute("version","1.1"),s||(i.setAttribute("width",`${t}px`),i.setAttribute("height",`${e}px`)),i.setAttribute("preserveAspectRatio","none"),i.setAttribute("viewBox",`0 0 ${t} ${e}`),i}createElement(t){if("string"!=typeof t)throw new Error("Invalid SVG element type");return this._createSVG(t)}_createSVG(t){(0,i.unreachable)("Abstract method `_createSVG` called.")}}e.BaseSVGFactory=o},(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MurmurHash3_64=void 0;var i=s(1);const n=3285377520,r=4294901760,a=65535;e.MurmurHash3_64=class{constructor(t){this.h1=t?4294967295&t:n,this.h2=t?4294967295&t:n}update(t){let e,s;if("string"==typeof t){e=new Uint8Array(2*t.length),s=0;for(let i=0,n=t.length;i<n;i++){const n=t.charCodeAt(i);n<=255?e[s++]=n:(e[s++]=n>>>8,e[s++]=255&n)}}else{if(!(0,i.isArrayBuffer)(t))throw new Error("Wrong data format in MurmurHash3_64_update. Input must be a string or array.");e=t.slice(),s=e.byteLength}const n=s>>2,o=s-4*n,l=new Uint32Array(e.buffer,0,n);let c=0,h=0,d=this.h1,u=this.h2;const p=3432918353,g=461845907,m=11601,f=13715;for(let i=0;i<n;i++)1&i?(c=l[i],c=c*p&r|c*m&a,c=c<<15|c>>>17,c=c*g&r|c*f&a,d^=c,d=d<<13|d>>>19,d=5*d+3864292196):(h=l[i],h=h*p&r|h*m&a,h=h<<15|h>>>17,h=h*g&r|h*f&a,u^=h,u=u<<13|u>>>19,u=5*u+3864292196);switch(c=0,o){case 3:c^=e[4*n+2]<<16;case 2:c^=e[4*n+1]<<8;case 1:c^=e[4*n],c=c*p&r|c*m&a,c=c<<15|c>>>17,c=c*g&r|c*f&a,1&n?d^=c:u^=c}this.h1=d,this.h2=u}hexdigest(){let t=this.h1,e=this.h2;t^=e>>>1,t=3981806797*t&r|36045*t&a,e=4283543511*e&r|(2950163797*(e<<16|t>>>16)&r)>>>16,t^=e>>>1,t=444984403*t&r|60499*t&a,e=3301882366*e&r|(3120437893*(e<<16|t>>>16)&r)>>>16,t^=e>>>1;const s=(t>>>0).toString(16),i=(e>>>0).toString(16);return s.padStart(8,"0")+i.padStart(8,"0")}}},(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FontLoader=e.FontFaceObject=void 0;var i=s(1);class n{constructor({docId:t,onUnsupportedFeature:e,ownerDocument:s=globalThis.document,styleElement:r=null}){this.constructor===n&&(0,i.unreachable)("Cannot initialize BaseFontLoader."),this.docId=t,this._onUnsupportedFeature=e,this._document=s,this.nativeFontFaces=[],this.styleElement=null}addNativeFontFace(t){this.nativeFontFaces.push(t),this._document.fonts.add(t)}insertRule(t){let e=this.styleElement;e||(e=this.styleElement=this._document.createElement("style"),e.id=`PDFJS_FONT_STYLE_TAG_${this.docId}`,this._document.documentElement.getElementsByTagName("head")[0].append(e));const s=e.sheet;s.insertRule(t,s.cssRules.length)}clear(){for(const t of this.nativeFontFaces)this._document.fonts.delete(t);this.nativeFontFaces.length=0,this.styleElement&&(this.styleElement.remove(),this.styleElement=null)}async bind(t){if(t.attached||t.missingFile)return;if(t.attached=!0,this.isFontLoadingAPISupported){const e=t.createNativeFontFace();if(e){this.addNativeFontFace(e);try{await e.loaded}catch(s){throw this._onUnsupportedFeature({featureId:i.UNSUPPORTED_FEATURES.errorFontLoadNative}),(0,i.warn)(`Failed to load font '${e.family}': '${s}'.`),t.disableFontFace=!0,s}}return}const e=t.createFontFaceRule();if(e){if(this.insertRule(e),this.isSyncFontLoadingSupported)return;await new Promise(s=>{const i=this._queueLoadingCallback(s);this._prepareFontLoadEvent([e],[t],i)})}}_queueLoadingCallback(t){(0,i.unreachable)("Abstract method `_queueLoadingCallback`.")}get isFontLoadingAPISupported(){const t=!!this._document?.fonts;return(0,i.shadow)(this,"isFontLoadingAPISupported",t)}get isSyncFontLoadingSupported(){(0,i.unreachable)("Abstract method `isSyncFontLoadingSupported`.")}get _loadTestFont(){(0,i.unreachable)("Abstract method `_loadTestFont`.")}_prepareFontLoadEvent(t,e,s){(0,i.unreachable)("Abstract method `_prepareFontLoadEvent`.")}}let r;e.FontLoader=r,e.FontLoader=r=class extends n{constructor(t){super(t),this.loadingContext={requests:[],nextRequestId:0},this.loadTestFontId=0}get isSyncFontLoadingSupported(){let t=!1;if("undefined"==typeof navigator)t=!0;else{const e=/Mozilla\/5.0.*?rv:(\d+).*? Gecko/.exec(navigator.userAgent);e?.[1]>=14&&(t=!0)}return(0,i.shadow)(this,"isSyncFontLoadingSupported",t)}_queueLoadingCallback(t){const e=this.loadingContext,s={id:"pdfjs-font-loading-"+e.nextRequestId++,done:!1,complete:function(){for((0,i.assert)(!s.done,"completeRequest() cannot be called twice."),s.done=!0;e.requests.length>0&&e.requests[0].done;){const t=e.requests.shift();setTimeout(t.callback,0)}},callback:t};return e.requests.push(s),s}get _loadTestFont(){return(0,i.shadow)(this,"_loadTestFont",atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4DIP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAAAAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUAAQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgABAAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABYAAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAAAC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA=="))}_prepareFontLoadEvent(t,e,s){function n(t,e){return t.charCodeAt(e)<<24|t.charCodeAt(e+1)<<16|t.charCodeAt(e+2)<<8|255&t.charCodeAt(e+3)}function r(t,e,s,i){return t.substring(0,e)+i+t.substring(e+s)}let a,o;const l=this._document.createElement("canvas");l.width=1,l.height=1;const c=l.getContext("2d");let h=0;const d=`lt${Date.now()}${this.loadTestFontId++}`;let u=this._loadTestFont;u=r(u,976,d.length,d);const p=1482184792;let g=n(u,16);for(a=0,o=d.length-3;a<o;a+=4)g=g-p+n(d,a)|0;a<d.length&&(g=g-p+n(d+"XXX",a)|0),u=r(u,16,4,(0,i.string32)(g));const m=`@font-face {font-family:"${d}";src:url(data:font/opentype;base64,${btoa(u)});}`;this.insertRule(m);const f=[];for(const i of e)f.push(i.loadedName);f.push(d);const b=this._document.createElement("div");b.style.visibility="hidden",b.style.width=b.style.height="10px",b.style.position="absolute",b.style.top=b.style.left="0px";for(const i of f){const t=this._document.createElement("span");t.textContent="Hi",t.style.fontFamily=i,b.append(t)}this._document.body.append(b),function t(e,s){if(h++,h>30)return(0,i.warn)("Load test font never loaded."),void s();c.font="30px "+e,c.fillText(".",0,20),c.getImageData(0,0,1,1).data[3]>0?s():setTimeout(t.bind(null,e,s))}(d,()=>{b.remove(),s.complete()})}},e.FontFaceObject=class{constructor(t,{isEvalSupported:e=!0,disableFontFace:s=!1,ignoreErrors:i=!1,onUnsupportedFeature:n,fontRegistry:r=null}){this.compiledGlyphs=Object.create(null);for(const a in t)this[a]=t[a];this.isEvalSupported=!1!==e,this.disableFontFace=!0===s,this.ignoreErrors=!0===i,this._onUnsupportedFeature=n,this.fontRegistry=r}createNativeFontFace(){if(!this.data||this.disableFontFace)return null;let t;if(this.cssFontInfo){const e={weight:this.cssFontInfo.fontWeight};this.cssFontInfo.italicAngle&&(e.style=`oblique ${this.cssFontInfo.italicAngle}deg`),t=new FontFace(this.cssFontInfo.fontFamily,this.data,e)}else t=new FontFace(this.loadedName,this.data,{});return this.fontRegistry&&this.fontRegistry.registerFont(this),t}createFontFaceRule(){if(!this.data||this.disableFontFace)return null;const t=(0,i.bytesToString)(this.data),e=`url(data:${this.mimetype};base64,${btoa(t)});`;let s;if(this.cssFontInfo){let t=`font-weight: ${this.cssFontInfo.fontWeight};`;this.cssFontInfo.italicAngle&&(t+=`font-style: oblique ${this.cssFontInfo.italicAngle}deg;`),s=`@font-face {font-family:"${this.cssFontInfo.fontFamily}";${t}src:${e}}`}else s=`@font-face {font-family:"${this.loadedName}";src:${e}}`;return this.fontRegistry&&this.fontRegistry.registerFont(this,e),s}getPathGenerator(t,e){if(void 0!==this.compiledGlyphs[e])return this.compiledGlyphs[e];let s;try{s=t.get(this.loadedName+"_path_"+e)}catch(n){if(!this.ignoreErrors)throw n;return this._onUnsupportedFeature({featureId:i.UNSUPPORTED_FEATURES.errorFontGetPath}),(0,i.warn)(`getPathGenerator - ignoring character: "${n}".`),this.compiledGlyphs[e]=function(t,e){}}if(this.isEvalSupported&&i.FeatureTest.isEvalSupported){const t=[];for(const e of s){const s=void 0!==e.args?e.args.join(","):"";t.push("c.",e.cmd,"(",s,");\n")}return this.compiledGlyphs[e]=new Function("c","size",t.join(""))}return this.compiledGlyphs[e]=function(t,e){for(const i of s)"scale"===i.cmd&&(i.args=[e,-e]),t[i.cmd].apply(t,i.args)}}}},(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.CanvasGraphics=void 0;var i=s(8),n=s(1),r=s(13),a=s(14),o=s(3);const l=4096,c=o.isNodeJS&&"undefined"==typeof Path2D?-1:1e3,h=16;class d{constructor(t){this.canvasFactory=t,this.cache=Object.create(null)}getCanvas(t,e,s){let i;return void 0!==this.cache[t]?(i=this.cache[t],this.canvasFactory.reset(i,e,s)):(i=this.canvasFactory.create(e,s),this.cache[t]=i),i}delete(t){delete this.cache[t]}clear(){for(const t in this.cache){const e=this.cache[t];this.canvasFactory.destroy(e),delete this.cache[t]}}}function u(t,e,s,n,r,a,o,l,c,h){const[d,u,p,g,m,f]=(0,i.getCurrentTransform)(t);if(0===u&&0===p){const i=o*d+m,b=Math.round(i),_=l*g+f,A=Math.round(_),y=(o+c)*d+m,v=Math.abs(Math.round(y)-b)||1,S=(l+h)*g+f,x=Math.abs(Math.round(S)-A)||1;return t.setTransform(Math.sign(d),0,0,Math.sign(g),b,A),t.drawImage(e,s,n,r,a,0,0,v,x),t.setTransform(d,u,p,g,m,f),[v,x]}if(0===d&&0===g){const i=l*p+m,b=Math.round(i),_=o*u+f,A=Math.round(_),y=(l+h)*p+m,v=Math.abs(Math.round(y)-b)||1,S=(o+c)*u+f,x=Math.abs(Math.round(S)-A)||1;return t.setTransform(0,Math.sign(u),Math.sign(p),0,b,A),t.drawImage(e,s,n,r,a,0,0,x,v),t.setTransform(d,u,p,g,m,f),[x,v]}return t.drawImage(e,s,n,r,a,o,l,c,h),[Math.hypot(d,u)*c,Math.hypot(p,g)*h]}class p{constructor(t,e){this.alphaIsShape=!1,this.fontSize=0,this.fontSizeScale=1,this.textMatrix=n.IDENTITY_MATRIX,this.textMatrixScale=1,this.fontMatrix=n.FONT_IDENTITY_MATRIX,this.leading=0,this.x=0,this.y=0,this.lineX=0,this.lineY=0,this.charSpacing=0,this.wordSpacing=0,this.textHScale=1,this.textRenderingMode=n.TextRenderingMode.FILL,this.textRise=0,this.fillColor="#000000",this.strokeColor="#000000",this.patternFill=!1,this.fillAlpha=1,this.strokeAlpha=1,this.lineWidth=1,this.activeSMask=null,this.transferMaps=null,this.startNewPathAndClipBox([0,0,t,e])}clone(){const t=Object.create(this);return t.clipBox=this.clipBox.slice(),t}setCurrentPoint(t,e){this.x=t,this.y=e}updatePathMinMax(t,e,s){[e,s]=n.Util.applyTransform([e,s],t),this.minX=Math.min(this.minX,e),this.minY=Math.min(this.minY,s),this.maxX=Math.max(this.maxX,e),this.maxY=Math.max(this.maxY,s)}updateRectMinMax(t,e){const s=n.Util.applyTransform(e,t),i=n.Util.applyTransform(e.slice(2),t);this.minX=Math.min(this.minX,s[0],i[0]),this.minY=Math.min(this.minY,s[1],i[1]),this.maxX=Math.max(this.maxX,s[0],i[0]),this.maxY=Math.max(this.maxY,s[1],i[1])}updateScalingPathMinMax(t,e){n.Util.scaleMinMax(t,e),this.minX=Math.min(this.minX,e[0]),this.maxX=Math.max(this.maxX,e[1]),this.minY=Math.min(this.minY,e[2]),this.maxY=Math.max(this.maxY,e[3])}updateCurvePathMinMax(t,e,s,i,r,a,o,l,c,h){const d=n.Util.bezierBoundingBox(e,s,i,r,a,o,l,c);if(h)return h[0]=Math.min(h[0],d[0],d[2]),h[1]=Math.max(h[1],d[0],d[2]),h[2]=Math.min(h[2],d[1],d[3]),void(h[3]=Math.max(h[3],d[1],d[3]));this.updateRectMinMax(t,d)}getPathBoundingBox(t=r.PathType.FILL,e=null){const s=[this.minX,this.minY,this.maxX,this.maxY];if(t===r.PathType.STROKE){e||(0,n.unreachable)("Stroke bounding box must include transform.");const t=n.Util.singularValueDecompose2dScale(e),i=t[0]*this.lineWidth/2,r=t[1]*this.lineWidth/2;s[0]-=i,s[1]-=r,s[2]+=i,s[3]+=r}return s}updateClipFromPath(){const t=n.Util.intersect(this.clipBox,this.getPathBoundingBox());this.startNewPathAndClipBox(t||[0,0,0,0])}isEmptyClip(){return this.minX===1/0}startNewPathAndClipBox(t){this.clipBox=t,this.minX=1/0,this.minY=1/0,this.maxX=0,this.maxY=0}getClippedPathBoundingBox(t=r.PathType.FILL,e=null){return n.Util.intersect(this.clipBox,this.getPathBoundingBox(t,e))}}function g(t,e,s=null){if("undefined"!=typeof ImageData&&e instanceof ImageData)return void t.putImageData(e,0,0);const i=e.height,r=e.width,a=i%h,o=(i-a)/h,l=0===a?o:o+1,c=t.createImageData(r,h);let d,u=0;const p=e.data,g=c.data;let m,f,b,_,A,y,v,S;if(s)switch(s.length){case 1:A=s[0],y=s[0],v=s[0],S=s[0];break;case 4:A=s[0],y=s[1],v=s[2],S=s[3]}if(e.kind===n.ImageKind.GRAYSCALE_1BPP){const e=p.byteLength,s=new Uint32Array(g.buffer,0,g.byteLength>>2),i=s.length,_=r+7>>3;let A=4294967295,y=n.FeatureTest.isLittleEndian?4278190080:255;for(S&&255===S[0]&&0===S[255]&&([A,y]=[y,A]),m=0;m<l;m++){for(b=m<o?h:a,d=0,f=0;f<b;f++){const t=e-u;let i=0;const n=t>_?r:8*t-7,a=-8&n;let o=0,l=0;for(;i<a;i+=8)l=p[u++],s[d++]=128&l?A:y,s[d++]=64&l?A:y,s[d++]=32&l?A:y,s[d++]=16&l?A:y,s[d++]=8&l?A:y,s[d++]=4&l?A:y,s[d++]=2&l?A:y,s[d++]=1&l?A:y;for(;i<n;i++)0===o&&(l=p[u++],o=128),s[d++]=l&o?A:y,o>>=1}for(;d<i;)s[d++]=0;t.putImageData(c,0,m*h)}}else if(e.kind===n.ImageKind.RGBA_32BPP){const e=!!(A||y||v);for(f=0,_=r*h*4,m=0;m<o;m++){if(g.set(p.subarray(u,u+_)),u+=_,e)for(let t=0;t<_;t+=4)A&&(g[t+0]=A[g[t+0]]),y&&(g[t+1]=y[g[t+1]]),v&&(g[t+2]=v[g[t+2]]);t.putImageData(c,0,f),f+=h}if(m<l){if(_=r*a*4,g.set(p.subarray(u,u+_)),e)for(let t=0;t<_;t+=4)A&&(g[t+0]=A[g[t+0]]),y&&(g[t+1]=y[g[t+1]]),v&&(g[t+2]=v[g[t+2]]);t.putImageData(c,0,f)}}else{if(e.kind!==n.ImageKind.RGB_24BPP)throw new Error(`bad image kind: ${e.kind}`);{const e=!!(A||y||v);for(b=h,_=r*b,m=0;m<l;m++){for(m>=o&&(b=a,_=r*b),d=0,f=_;f--;)g[d++]=p[u++],g[d++]=p[u++],g[d++]=p[u++],g[d++]=255;if(e)for(let t=0;t<d;t+=4)A&&(g[t+0]=A[g[t+0]]),y&&(g[t+1]=y[g[t+1]]),v&&(g[t+2]=v[g[t+2]]);t.putImageData(c,0,m*h)}}}}function m(t,e){if(e.bitmap)return void t.drawImage(e.bitmap,0,0);const s=e.height,i=e.width,n=s%h,r=(s-n)/h,o=0===n?r:r+1,l=t.createImageData(i,h);let c=0;const d=e.data,u=l.data;for(let p=0;p<o;p++){const e=p<r?h:n;({srcPos:c}=(0,a.applyMaskImageData)({src:d,srcPos:c,dest:u,width:i,height:e})),t.putImageData(l,0,p*h)}}function f(t,e){const s=["strokeStyle","fillStyle","fillRule","globalAlpha","lineWidth","lineCap","lineJoin","miterLimit","globalCompositeOperation","font"];for(let i=0,n=s.length;i<n;i++){const n=s[i];void 0!==t[n]&&(e[n]=t[n])}void 0!==t.setLineDash&&(e.setLineDash(t.getLineDash()),e.lineDashOffset=t.lineDashOffset)}function b(t,e){t.strokeStyle=t.fillStyle=e||"#000000",t.fillRule="nonzero",t.globalAlpha=1,t.lineWidth=1,t.lineCap="butt",t.lineJoin="miter",t.miterLimit=10,t.globalCompositeOperation="source-over",t.font="10px sans-serif",void 0!==t.setLineDash&&(t.setLineDash([]),t.lineDashOffset=0)}function _(t,e,s,i){const n=t.length;for(let r=3;r<n;r+=4){const n=t[r];if(0===n)t[r-3]=e,t[r-2]=s,t[r-1]=i;else if(n<255){const a=255-n;t[r-3]=t[r-3]*n+e*a>>8,t[r-2]=t[r-2]*n+s*a>>8,t[r-1]=t[r-1]*n+i*a>>8}}}function A(t,e,s){const i=t.length,n=1/255;for(let r=3;r<i;r+=4){const i=s?s[t[r]]:t[r];e[r]=e[r]*i*n|0}}function y(t,e,s){const i=t.length;for(let n=3;n<i;n+=4){const i=77*t[n-3]+152*t[n-2]+28*t[n-1];e[n]=s?e[n]*s[i>>8]>>8:e[n]*i>>16}}function v(t,e,s,i){const n=i[0],r=i[1],a=i[2]-n,o=i[3]-r;0!==a&&0!==o&&(function(t,e,s,i,n,r,a,o,l,c,h){const d=!!r,u=d?r[0]:0,p=d?r[1]:0,g=d?r[2]:0;let m;m="Luminosity"===n?y:A;const f=Math.min(i,Math.ceil(1048576/s));for(let b=0;b<i;b+=f){const n=Math.min(f,i-b),r=t.getImageData(o-c,b+(l-h),s,n),A=e.getImageData(o,b+l,s,n);d&&_(r.data,u,p,g),m(r.data,A.data,a),e.putImageData(A,o,b+l)}}(e.context,s,a,o,e.subtype,e.backdrop,e.transferMap,n,r,e.offsetX,e.offsetY),t.save(),t.globalAlpha=1,t.globalCompositeOperation="source-over",t.setTransform(1,0,0,1,0,0),t.drawImage(s.canvas,0,0),t.restore())}function S(t,e){const s=n.Util.singularValueDecompose2dScale(t);s[0]=Math.fround(s[0]),s[1]=Math.fround(s[1]);const r=Math.fround((globalThis.devicePixelRatio||1)*i.PixelsPerInch.PDF_TO_CSS_UNITS);return void 0!==e?e:s[0]<=r||s[1]<=r}const x=["butt","round","square"],C=["miter","round","bevel"],E={},P={};class T{constructor(t,e,s,i,n,r,a,o){this.ctx=t,this.current=new p(this.ctx.canvas.width,this.ctx.canvas.height),this.stateStack=[],this.pendingClip=null,this.pendingEOFill=!1,this.res=null,this.xobjs=null,this.commonObjs=e,this.objs=s,this.canvasFactory=i,this.imageLayer=n,this.groupStack=[],this.processingType3=null,this.baseTransform=null,this.baseTransformStack=[],this.groupLevel=0,this.smaskStack=[],this.smaskCounter=0,this.tempSMask=null,this.suspendedCtx=null,this.contentVisible=!0,this.markedContentStack=[],this.optionalContentConfig=r,this.cachedCanvases=new d(this.canvasFactory),this.cachedPatterns=new Map,this.annotationCanvasMap=a,this.viewportScale=1,this.outputScaleX=1,this.outputScaleY=1,this.backgroundColor=o?.background||null,this.foregroundColor=o?.foreground||null,this._cachedScaleForStroking=null,this._cachedGetSinglePixelWidth=null,this._cachedBitmapsMap=new Map}getObject(t,e=null){return"string"==typeof t?t.startsWith("g_")?this.commonObjs.get(t):this.objs.get(t):e}beginDrawing({transform:t,viewport:e,transparency:s=!1,background:n=null}){const r=this.ctx.canvas.width,a=this.ctx.canvas.height,o=n||"#ffffff";if(this.ctx.save(),this.foregroundColor&&this.backgroundColor){this.ctx.fillStyle=this.foregroundColor;const t=this.foregroundColor=this.ctx.fillStyle;this.ctx.fillStyle=this.backgroundColor;const e=this.backgroundColor=this.ctx.fillStyle;let s=!0,n=o;if(this.ctx.fillStyle=o,n=this.ctx.fillStyle,s="string"==typeof n&&/^#[0-9A-Fa-f]{6}$/.test(n),"#000000"===t&&"#ffffff"===e||t===e||!s)this.foregroundColor=this.backgroundColor=null;else{const[s,r,a]=(0,i.getRGB)(n),o=t=>(t/=255)<=.03928?t/12.92:((t+.055)/1.055)**2.4,l=Math.round(.2126*o(s)+.7152*o(r)+.0722*o(a));this.selectColor=(s,i,n)=>{const r=.2126*o(s)+.7152*o(i)+.0722*o(n);return Math.round(r)===l?e:t}}}if(this.ctx.fillStyle=this.backgroundColor||o,this.ctx.fillRect(0,0,r,a),this.ctx.restore(),s){const t=this.cachedCanvases.getCanvas("transparent",r,a);this.compositeCtx=this.ctx,this.transparentCanvas=t.canvas,this.ctx=t.context,this.ctx.save(),this.ctx.transform(...(0,i.getCurrentTransform)(this.compositeCtx))}this.ctx.save(),b(this.ctx,this.foregroundColor),t&&(this.ctx.transform(...t),this.outputScaleX=t[0],this.outputScaleY=t[0]),this.ctx.transform(...e.transform),this.viewportScale=e.scale,this.baseTransform=(0,i.getCurrentTransform)(this.ctx),this.imageLayer&&((0,i.deprecated)("The `imageLayer` functionality will be removed in the future."),this.imageLayer.beginLayout())}executeOperatorList(t,e,s,i){const r=t.argsArray,a=t.fnArray;let o=e||0;const l=r.length;if(l===o)return o;const c=l-o>10&&"function"==typeof s,h=c?Date.now()+15:0;let d=0;const u=this.commonObjs,p=this.objs;let g;for(;;){if(void 0!==i&&o===i.nextBreakPoint)return i.breakIt(o,s),o;if(g=a[o],g!==n.OPS.dependency)this[g].apply(this,r[o]);else for(const t of r[o]){const e=t.startsWith("g_")?u:p;if(!e.has(t))return e.get(t,s),o}if(o++,o===l)return o;if(c&&++d>10){if(Date.now()>h)return s(),o;d=0}}}#J(){for(;this.stateStack.length||this.inSMaskMode;)this.restore();this.ctx.restore(),this.transparentCanvas&&(this.ctx=this.compositeCtx,this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.drawImage(this.transparentCanvas,0,0),this.ctx.restore(),this.transparentCanvas=null)}endDrawing(){this.#J(),this.cachedCanvases.clear(),this.cachedPatterns.clear();for(const t of this._cachedBitmapsMap.values()){for(const e of t.values())"undefined"!=typeof HTMLCanvasElement&&e instanceof HTMLCanvasElement&&(e.width=e.height=0);t.clear()}this._cachedBitmapsMap.clear(),this.imageLayer&&this.imageLayer.endLayout()}_scaleImage(t,e){const s=t.width,i=t.height;let n,r,a=Math.max(Math.hypot(e[0],e[1]),1),o=Math.max(Math.hypot(e[2],e[3]),1),l=s,c=i,h="prescale1";for(;a>2&&l>1||o>2&&c>1;){let e=l,s=c;a>2&&l>1&&(e=Math.ceil(l/2),a/=l/e),o>2&&c>1&&(s=Math.ceil(c/2),o/=c/s),n=this.cachedCanvases.getCanvas(h,e,s),r=n.context,r.clearRect(0,0,e,s),r.drawImage(t,0,0,l,c,0,0,e,s),t=n.canvas,l=e,c=s,h="prescale1"===h?"prescale2":"prescale1"}return{img:t,paintWidth:l,paintHeight:c}}_createMaskCanvas(t){const e=this.ctx,{width:s,height:a}=t,o=this.current.fillColor,l=this.current.patternFill,c=(0,i.getCurrentTransform)(e);let h,d,p,g;if((t.bitmap||t.data)&&t.count>1){const e=t.bitmap||t.data.buffer,s=c.slice(0,4);d=JSON.stringify(l?s:[s,o]),h=this._cachedBitmapsMap.get(e),h||(h=new Map,this._cachedBitmapsMap.set(e,h));const i=h.get(d);if(i&&!l)return{canvas:i,offsetX:Math.round(Math.min(c[0],c[2])+c[4]),offsetY:Math.round(Math.min(c[1],c[3])+c[5])};p=i}p||(g=this.cachedCanvases.getCanvas("maskCanvas",s,a),m(g.context,t));let f=n.Util.transform(c,[1/s,0,0,-1/a,0,0]);f=n.Util.transform(f,[1,0,0,1,0,-a]);const b=n.Util.applyTransform([0,0],f),_=n.Util.applyTransform([s,a],f),A=n.Util.normalizeRect([b[0],b[1],_[0],_[1]]),y=Math.round(A[2]-A[0])||1,v=Math.round(A[3]-A[1])||1,x=this.cachedCanvases.getCanvas("fillCanvas",y,v),C=x.context,E=Math.min(b[0],_[0]),P=Math.min(b[1],_[1]);C.translate(-E,-P),C.transform(...f),p||(p=this._scaleImage(g.canvas,(0,i.getCurrentTransformInverse)(C)),p=p.img,h&&l&&h.set(d,p)),C.imageSmoothingEnabled=S((0,i.getCurrentTransform)(C),t.interpolate),u(C,p,0,0,p.width,p.height,0,0,s,a),C.globalCompositeOperation="source-in";const T=n.Util.transform((0,i.getCurrentTransformInverse)(C),[1,0,0,1,-E,-P]);return C.fillStyle=l?o.getPattern(e,this,T,r.PathType.FILL):o,C.fillRect(0,0,s,a),h&&!l&&(this.cachedCanvases.delete("fillCanvas"),h.set(d,x.canvas)),{canvas:x.canvas,offsetX:Math.round(E),offsetY:Math.round(P)}}setLineWidth(t){t!==this.current.lineWidth&&(this._cachedScaleForStroking=null),this.current.lineWidth=t,this.ctx.lineWidth=t}setLineCap(t){this.ctx.lineCap=x[t]}setLineJoin(t){this.ctx.lineJoin=C[t]}setMiterLimit(t){this.ctx.miterLimit=t}setDash(t,e){const s=this.ctx;void 0!==s.setLineDash&&(s.setLineDash(t),s.lineDashOffset=e)}setRenderingIntent(t){}setFlatness(t){}setGState(t){for(let e=0,s=t.length;e<s;e++){const s=t[e],i=s[0],n=s[1];switch(i){case"LW":this.setLineWidth(n);break;case"LC":this.setLineCap(n);break;case"LJ":this.setLineJoin(n);break;case"ML":this.setMiterLimit(n);break;case"D":this.setDash(n[0],n[1]);break;case"RI":this.setRenderingIntent(n);break;case"FL":this.setFlatness(n);break;case"Font":this.setFont(n[0],n[1]);break;case"CA":this.current.strokeAlpha=s[1];break;case"ca":this.current.fillAlpha=s[1],this.ctx.globalAlpha=s[1];break;case"BM":this.ctx.globalCompositeOperation=n;break;case"SMask":this.current.activeSMask=n?this.tempSMask:null,this.tempSMask=null,this.checkSMaskState();break;case"TR":this.current.transferMaps=n}}}get inSMaskMode(){return!!this.suspendedCtx}checkSMaskState(){const t=this.inSMaskMode;this.current.activeSMask&&!t?this.beginSMaskMode():!this.current.activeSMask&&t&&this.endSMaskMode()}beginSMaskMode(){if(this.inSMaskMode)throw new Error("beginSMaskMode called while already in smask mode");const t=this.ctx.canvas.width,e=this.ctx.canvas.height,s="smaskGroupAt"+this.groupLevel,n=this.cachedCanvases.getCanvas(s,t,e);this.suspendedCtx=this.ctx,this.ctx=n.context;const r=this.ctx;r.setTransform(...(0,i.getCurrentTransform)(this.suspendedCtx)),f(this.suspendedCtx,r),function(t,e){if(t._removeMirroring)throw new Error("Context is already forwarding operations.");t.__originalSave=t.save,t.__originalRestore=t.restore,t.__originalRotate=t.rotate,t.__originalScale=t.scale,t.__originalTranslate=t.translate,t.__originalTransform=t.transform,t.__originalSetTransform=t.setTransform,t.__originalResetTransform=t.resetTransform,t.__originalClip=t.clip,t.__originalMoveTo=t.moveTo,t.__originalLineTo=t.lineTo,t.__originalBezierCurveTo=t.bezierCurveTo,t.__originalRect=t.rect,t.__originalClosePath=t.closePath,t.__originalBeginPath=t.beginPath,t._removeMirroring=()=>{t.save=t.__originalSave,t.restore=t.__originalRestore,t.rotate=t.__originalRotate,t.scale=t.__originalScale,t.translate=t.__originalTranslate,t.transform=t.__originalTransform,t.setTransform=t.__originalSetTransform,t.resetTransform=t.__originalResetTransform,t.clip=t.__originalClip,t.moveTo=t.__originalMoveTo,t.lineTo=t.__originalLineTo,t.bezierCurveTo=t.__originalBezierCurveTo,t.rect=t.__originalRect,t.closePath=t.__originalClosePath,t.beginPath=t.__originalBeginPath,delete t._removeMirroring},t.save=function(){e.save(),this.__originalSave()},t.restore=function(){e.restore(),this.__originalRestore()},t.translate=function(t,s){e.translate(t,s),this.__originalTranslate(t,s)},t.scale=function(t,s){e.scale(t,s),this.__originalScale(t,s)},t.transform=function(t,s,i,n,r,a){e.transform(t,s,i,n,r,a),this.__originalTransform(t,s,i,n,r,a)},t.setTransform=function(t,s,i,n,r,a){e.setTransform(t,s,i,n,r,a),this.__originalSetTransform(t,s,i,n,r,a)},t.resetTransform=function(){e.resetTransform(),this.__originalResetTransform()},t.rotate=function(t){e.rotate(t),this.__originalRotate(t)},t.clip=function(t){e.clip(t),this.__originalClip(t)},t.moveTo=function(t,s){e.moveTo(t,s),this.__originalMoveTo(t,s)},t.lineTo=function(t,s){e.lineTo(t,s),this.__originalLineTo(t,s)},t.bezierCurveTo=function(t,s,i,n,r,a){e.bezierCurveTo(t,s,i,n,r,a),this.__originalBezierCurveTo(t,s,i,n,r,a)},t.rect=function(t,s,i,n){e.rect(t,s,i,n),this.__originalRect(t,s,i,n)},t.closePath=function(){e.closePath(),this.__originalClosePath()},t.beginPath=function(){e.beginPath(),this.__originalBeginPath()}}(r,this.suspendedCtx),this.setGState([["BM","source-over"],["ca",1],["CA",1]])}endSMaskMode(){if(!this.inSMaskMode)throw new Error("endSMaskMode called while not in smask mode");this.ctx._removeMirroring(),f(this.ctx,this.suspendedCtx),this.ctx=this.suspendedCtx,this.suspendedCtx=null}compose(t){if(!this.current.activeSMask)return;t?(t[0]=Math.floor(t[0]),t[1]=Math.floor(t[1]),t[2]=Math.ceil(t[2]),t[3]=Math.ceil(t[3])):t=[0,0,this.ctx.canvas.width,this.ctx.canvas.height];const e=this.current.activeSMask;v(this.suspendedCtx,e,this.ctx,t),this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.ctx.canvas.width,this.ctx.canvas.height),this.ctx.restore()}save(){this.inSMaskMode?(f(this.ctx,this.suspendedCtx),this.suspendedCtx.save()):this.ctx.save();const t=this.current;this.stateStack.push(t),this.current=t.clone()}restore(){0===this.stateStack.length&&this.inSMaskMode&&this.endSMaskMode(),0!==this.stateStack.length&&(this.current=this.stateStack.pop(),this.inSMaskMode?(this.suspendedCtx.restore(),f(this.suspendedCtx,this.ctx)):this.ctx.restore(),this.checkSMaskState(),this.pendingClip=null,this._cachedScaleForStroking=null,this._cachedGetSinglePixelWidth=null)}transform(t,e,s,i,n,r){this.ctx.transform(t,e,s,i,n,r),this._cachedScaleForStroking=null,this._cachedGetSinglePixelWidth=null}constructPath(t,e,s){const r=this.ctx,a=this.current;let o,l,c=a.x,h=a.y;const d=(0,i.getCurrentTransform)(r),u=0===d[0]&&0===d[3]||0===d[1]&&0===d[2],p=u?s.slice(0):null;for(let i=0,g=0,m=t.length;i<m;i++)switch(0|t[i]){case n.OPS.rectangle:c=e[g++],h=e[g++];const t=e[g++],s=e[g++],i=c+t,m=h+s;r.moveTo(c,h),0===t||0===s?r.lineTo(i,m):(r.lineTo(i,h),r.lineTo(i,m),r.lineTo(c,m)),u||a.updateRectMinMax(d,[c,h,i,m]),r.closePath();break;case n.OPS.moveTo:c=e[g++],h=e[g++],r.moveTo(c,h),u||a.updatePathMinMax(d,c,h);break;case n.OPS.lineTo:c=e[g++],h=e[g++],r.lineTo(c,h),u||a.updatePathMinMax(d,c,h);break;case n.OPS.curveTo:o=c,l=h,c=e[g+4],h=e[g+5],r.bezierCurveTo(e[g],e[g+1],e[g+2],e[g+3],c,h),a.updateCurvePathMinMax(d,o,l,e[g],e[g+1],e[g+2],e[g+3],c,h,p),g+=6;break;case n.OPS.curveTo2:o=c,l=h,r.bezierCurveTo(c,h,e[g],e[g+1],e[g+2],e[g+3]),a.updateCurvePathMinMax(d,o,l,c,h,e[g],e[g+1],e[g+2],e[g+3],p),c=e[g+2],h=e[g+3],g+=4;break;case n.OPS.curveTo3:o=c,l=h,c=e[g+2],h=e[g+3],r.bezierCurveTo(e[g],e[g+1],c,h,c,h),a.updateCurvePathMinMax(d,o,l,e[g],e[g+1],c,h,c,h,p),g+=4;break;case n.OPS.closePath:r.closePath()}u&&a.updateScalingPathMinMax(d,p),a.setCurrentPoint(c,h)}closePath(){this.ctx.closePath()}stroke(t){t=void 0===t||t;const e=this.ctx,s=this.current.strokeColor;e.globalAlpha=this.current.strokeAlpha,this.contentVisible&&("object"==typeof s&&s?.getPattern?(e.save(),e.strokeStyle=s.getPattern(e,this,(0,i.getCurrentTransformInverse)(e),r.PathType.STROKE),this.rescaleAndStroke(!1),e.restore()):this.rescaleAndStroke(!0)),t&&this.consumePath(this.current.getClippedPathBoundingBox()),e.globalAlpha=this.current.fillAlpha}closeStroke(){this.closePath(),this.stroke()}fill(t){t=void 0===t||t;const e=this.ctx,s=this.current.fillColor;let n=!1;this.current.patternFill&&(e.save(),e.fillStyle=s.getPattern(e,this,(0,i.getCurrentTransformInverse)(e),r.PathType.FILL),n=!0);const a=this.current.getClippedPathBoundingBox();this.contentVisible&&null!==a&&(this.pendingEOFill?(e.fill("evenodd"),this.pendingEOFill=!1):e.fill()),n&&e.restore(),t&&this.consumePath(a)}eoFill(){this.pendingEOFill=!0,this.fill()}fillStroke(){this.fill(!1),this.stroke(!1),this.consumePath()}eoFillStroke(){this.pendingEOFill=!0,this.fillStroke()}closeFillStroke(){this.closePath(),this.fillStroke()}closeEOFillStroke(){this.pendingEOFill=!0,this.closePath(),this.fillStroke()}endPath(){this.consumePath()}clip(){this.pendingClip=E}eoClip(){this.pendingClip=P}beginText(){this.current.textMatrix=n.IDENTITY_MATRIX,this.current.textMatrixScale=1,this.current.x=this.current.lineX=0,this.current.y=this.current.lineY=0}endText(){const t=this.pendingTextPaths,e=this.ctx;if(void 0!==t){e.save(),e.beginPath();for(const s of t)e.setTransform(...s.transform),e.translate(s.x,s.y),s.addToPath(e,s.fontSize);e.restore(),e.clip(),e.beginPath(),delete this.pendingTextPaths}else e.beginPath()}setCharSpacing(t){this.current.charSpacing=t}setWordSpacing(t){this.current.wordSpacing=t}setHScale(t){this.current.textHScale=t/100}setLeading(t){this.current.leading=-t}setFont(t,e){const s=this.commonObjs.get(t),i=this.current;if(!s)throw new Error(`Can't find font for ${t}`);if(i.fontMatrix=s.fontMatrix||n.FONT_IDENTITY_MATRIX,0!==i.fontMatrix[0]&&0!==i.fontMatrix[3]||(0,n.warn)("Invalid font matrix for font "+t),e<0?(e=-e,i.fontDirection=-1):i.fontDirection=1,this.current.font=s,this.current.fontSize=e,s.isType3Font)return;const r=s.loadedName||"sans-serif";let a="normal";s.black?a="900":s.bold&&(a="bold");const o=s.italic?"italic":"normal",l=`"${r}", ${s.fallbackName}`;let c=e;e<16?c=16:e>100&&(c=100),this.current.fontSizeScale=e/c,this.ctx.font=`${o} ${a} ${c}px ${l}`}setTextRenderingMode(t){this.current.textRenderingMode=t}setTextRise(t){this.current.textRise=t}moveText(t,e){this.current.x=this.current.lineX+=t,this.current.y=this.current.lineY+=e}setLeadingMoveText(t,e){this.setLeading(-e),this.moveText(t,e)}setTextMatrix(t,e,s,i,n,r){this.current.textMatrix=[t,e,s,i,n,r],this.current.textMatrixScale=Math.hypot(t,e),this.current.x=this.current.lineX=0,this.current.y=this.current.lineY=0}nextLine(){this.moveText(0,this.current.leading)}paintChar(t,e,s,r){const a=this.ctx,o=this.current,l=o.font,c=o.textRenderingMode,h=o.fontSize/o.fontSizeScale,d=c&n.TextRenderingMode.FILL_STROKE_MASK,u=!!(c&n.TextRenderingMode.ADD_TO_PATH_FLAG),p=o.patternFill&&!l.missingFile;let g;(l.disableFontFace||u||p)&&(g=l.getPathGenerator(this.commonObjs,t)),l.disableFontFace||p?(a.save(),a.translate(e,s),a.beginPath(),g(a,h),r&&a.setTransform(...r),d!==n.TextRenderingMode.FILL&&d!==n.TextRenderingMode.FILL_STROKE||a.fill(),d!==n.TextRenderingMode.STROKE&&d!==n.TextRenderingMode.FILL_STROKE||a.stroke(),a.restore()):(d!==n.TextRenderingMode.FILL&&d!==n.TextRenderingMode.FILL_STROKE||a.fillText(t,e,s),d!==n.TextRenderingMode.STROKE&&d!==n.TextRenderingMode.FILL_STROKE||a.strokeText(t,e,s)),u&&(this.pendingTextPaths||(this.pendingTextPaths=[])).push({transform:(0,i.getCurrentTransform)(a),x:e,y:s,fontSize:h,addToPath:g})}get isFontSubpixelAAEnabled(){const{context:t}=this.cachedCanvases.getCanvas("isFontSubpixelAAEnabled",10,10);t.scale(1.5,1),t.fillText("I",0,10);const e=t.getImageData(0,0,10,10).data;let s=!1;for(let i=3;i<e.length;i+=4)if(e[i]>0&&e[i]<255){s=!0;break}return(0,n.shadow)(this,"isFontSubpixelAAEnabled",s)}showText(t){const e=this.current,s=e.font;if(s.isType3Font)return this.showType3Text(t);const a=e.fontSize;if(0===a)return;const o=this.ctx,l=e.fontSizeScale,c=e.charSpacing,h=e.wordSpacing,d=e.fontDirection,u=e.textHScale*d,p=t.length,g=s.vertical,m=g?1:-1,f=s.defaultVMetrics,b=a*e.fontMatrix[0],_=e.textRenderingMode===n.TextRenderingMode.FILL&&!s.disableFontFace&&!e.patternFill;let A;if(o.save(),o.transform(...e.textMatrix),o.translate(e.x,e.y+e.textRise),d>0?o.scale(u,-1):o.scale(u,1),e.patternFill){o.save();const t=e.fillColor.getPattern(o,this,(0,i.getCurrentTransformInverse)(o),r.PathType.FILL);A=(0,i.getCurrentTransform)(o),o.restore(),o.fillStyle=t}let y=e.lineWidth;const v=e.textMatrixScale;if(0===v||0===y){const t=e.textRenderingMode&n.TextRenderingMode.FILL_STROKE_MASK;t!==n.TextRenderingMode.STROKE&&t!==n.TextRenderingMode.FILL_STROKE||(y=this.getSinglePixelWidth())}else y/=v;1!==l&&(o.scale(l,l),y/=l),o.lineWidth=y;let S,x=0;for(S=0;S<p;++S){const e=t[S];if("number"==typeof e){x+=m*e*a/1e3;continue}let i=!1;const n=(e.isSpace?h:0)+c,r=e.fontChar,u=e.accent;let p,y,v,C=e.width;if(g){const t=e.vmetric||f,s=-(e.vmetric?t[1]:.5*C)*b,i=t[2]*b;C=t?-t[0]:C,p=s/l,y=(x+i)/l}else p=x/l,y=0;if(s.remeasure&&C>0){const t=1e3*o.measureText(r).width/a*l;if(C<t&&this.isFontSubpixelAAEnabled){const e=C/t;i=!0,o.save(),o.scale(e,1),p/=e}else C!==t&&(p+=(C-t)/2e3*a/l)}if(this.contentVisible&&(e.isInFont||s.missingFile))if(_&&!u)o.fillText(r,p,y);else if(this.paintChar(r,p,y,A),u){const t=p+a*u.offset.x/l,e=y-a*u.offset.y/l;this.paintChar(u.fontChar,t,e,A)}v=g?C*b-n*d:C*b+n*d,x+=v,i&&o.restore()}g?e.y-=x:e.x+=x*u,o.restore(),this.compose()}showType3Text(t){const e=this.ctx,s=this.current,i=s.font,r=s.fontSize,a=s.fontDirection,o=i.vertical?1:-1,l=s.charSpacing,c=s.wordSpacing,h=s.textHScale*a,d=s.fontMatrix||n.FONT_IDENTITY_MATRIX,u=t.length;let p,g,m,f;if(s.textRenderingMode!==n.TextRenderingMode.INVISIBLE&&0!==r){for(this._cachedScaleForStroking=null,this._cachedGetSinglePixelWidth=null,e.save(),e.transform(...s.textMatrix),e.translate(s.x,s.y),e.scale(h,a),p=0;p<u;++p){if(g=t[p],"number"==typeof g){f=o*g*r/1e3,this.ctx.translate(f,0),s.x+=f*h;continue}const a=(g.isSpace?c:0)+l,u=i.charProcOperatorList[g.operatorListId];u?(this.contentVisible&&(this.processingType3=g,this.save(),e.scale(r,r),e.transform(...d),this.executeOperatorList(u),this.restore()),m=n.Util.applyTransform([g.width,0],d)[0]*r+a,e.translate(m,0),s.x+=m*h):(0,n.warn)(`Type3 character "${g.operatorListId}" is not available.`)}e.restore(),this.processingType3=null}}setCharWidth(t,e){}setCharWidthAndBounds(t,e,s,i,n,r){this.ctx.rect(s,i,n-s,r-i),this.ctx.clip(),this.endPath()}getColorN_Pattern(t){let e;if("TilingPattern"===t[0]){const s=t[1],n=this.baseTransform||(0,i.getCurrentTransform)(this.ctx),a={createCanvasGraphics:t=>new T(t,this.commonObjs,this.objs,this.canvasFactory)};e=new r.TilingPattern(t,s,this.ctx,a,n)}else e=this._getPattern(t[1],t[2]);return e}setStrokeColorN(){this.current.strokeColor=this.getColorN_Pattern(arguments)}setFillColorN(){this.current.fillColor=this.getColorN_Pattern(arguments),this.current.patternFill=!0}setStrokeRGBColor(t,e,s){const i=this.selectColor?.(t,e,s)||n.Util.makeHexColor(t,e,s);this.ctx.strokeStyle=i,this.current.strokeColor=i}setFillRGBColor(t,e,s){const i=this.selectColor?.(t,e,s)||n.Util.makeHexColor(t,e,s);this.ctx.fillStyle=i,this.current.fillColor=i,this.current.patternFill=!1}_getPattern(t,e=null){let s;return this.cachedPatterns.has(t)?s=this.cachedPatterns.get(t):(s=(0,r.getShadingPattern)(this.objs.get(t)),this.cachedPatterns.set(t,s)),e&&(s.matrix=e),s}shadingFill(t){if(!this.contentVisible)return;const e=this.ctx;this.save();const s=this._getPattern(t);e.fillStyle=s.getPattern(e,this,(0,i.getCurrentTransformInverse)(e),r.PathType.SHADING);const a=(0,i.getCurrentTransformInverse)(e);if(a){const t=e.canvas,s=t.width,i=t.height,r=n.Util.applyTransform([0,0],a),o=n.Util.applyTransform([0,i],a),l=n.Util.applyTransform([s,0],a),c=n.Util.applyTransform([s,i],a),h=Math.min(r[0],o[0],l[0],c[0]),d=Math.min(r[1],o[1],l[1],c[1]),u=Math.max(r[0],o[0],l[0],c[0]),p=Math.max(r[1],o[1],l[1],c[1]);this.ctx.fillRect(h,d,u-h,p-d)}else this.ctx.fillRect(-1e10,-1e10,2e10,2e10);this.compose(this.current.getClippedPathBoundingBox()),this.restore()}beginInlineImage(){(0,n.unreachable)("Should not call beginInlineImage")}beginImageData(){(0,n.unreachable)("Should not call beginImageData")}paintFormXObjectBegin(t,e){if(this.contentVisible&&(this.save(),this.baseTransformStack.push(this.baseTransform),Array.isArray(t)&&6===t.length&&this.transform(...t),this.baseTransform=(0,i.getCurrentTransform)(this.ctx),e)){const t=e[2]-e[0],s=e[3]-e[1];this.ctx.rect(e[0],e[1],t,s),this.current.updateRectMinMax((0,i.getCurrentTransform)(this.ctx),e),this.clip(),this.endPath()}}paintFormXObjectEnd(){this.contentVisible&&(this.restore(),this.baseTransform=this.baseTransformStack.pop())}beginGroup(t){if(!this.contentVisible)return;this.save(),this.inSMaskMode&&(this.endSMaskMode(),this.current.activeSMask=null);const e=this.ctx;t.isolated||(0,n.info)("TODO: Support non-isolated groups."),t.knockout&&(0,n.warn)("Knockout groups not supported.");const s=(0,i.getCurrentTransform)(e);if(t.matrix&&e.transform(...t.matrix),!t.bbox)throw new Error("Bounding box is required.");let r=n.Util.getAxialAlignedBoundingBox(t.bbox,(0,i.getCurrentTransform)(e));const a=[0,0,e.canvas.width,e.canvas.height];r=n.Util.intersect(r,a)||[0,0,0,0];const o=Math.floor(r[0]),c=Math.floor(r[1]);let h=Math.max(Math.ceil(r[2])-o,1),d=Math.max(Math.ceil(r[3])-c,1),u=1,p=1;h>l&&(u=h/l,h=l),d>l&&(p=d/l,d=l),this.current.startNewPathAndClipBox([0,0,h,d]);let g="groupAt"+this.groupLevel;t.smask&&(g+="_smask_"+this.smaskCounter++%2);const m=this.cachedCanvases.getCanvas(g,h,d),b=m.context;b.scale(1/u,1/p),b.translate(-o,-c),b.transform(...s),t.smask?this.smaskStack.push({canvas:m.canvas,context:b,offsetX:o,offsetY:c,scaleX:u,scaleY:p,subtype:t.smask.subtype,backdrop:t.smask.backdrop,transferMap:t.smask.transferMap||null,startTransformInverse:null}):(e.setTransform(1,0,0,1,0,0),e.translate(o,c),e.scale(u,p),e.save()),f(e,b),this.ctx=b,this.setGState([["BM","source-over"],["ca",1],["CA",1]]),this.groupStack.push(e),this.groupLevel++}endGroup(t){if(!this.contentVisible)return;this.groupLevel--;const e=this.ctx,s=this.groupStack.pop();if(this.ctx=s,this.ctx.imageSmoothingEnabled=!1,t.smask)this.tempSMask=this.smaskStack.pop(),this.restore();else{this.ctx.restore();const t=(0,i.getCurrentTransform)(this.ctx);this.restore(),this.ctx.save(),this.ctx.setTransform(...t);const s=n.Util.getAxialAlignedBoundingBox([0,0,e.canvas.width,e.canvas.height],t);this.ctx.drawImage(e.canvas,0,0),this.ctx.restore(),this.compose(s)}}beginAnnotation(t,e,s,r,a){if(this.#J(),b(this.ctx,this.foregroundColor),this.ctx.save(),this.save(),this.baseTransform&&this.ctx.setTransform(...this.baseTransform),Array.isArray(e)&&4===e.length){const r=e[2]-e[0],o=e[3]-e[1];if(a&&this.annotationCanvasMap){(s=s.slice())[4]-=e[0],s[5]-=e[1],(e=e.slice())[0]=e[1]=0,e[2]=r,e[3]=o;const[a,l]=n.Util.singularValueDecompose2dScale((0,i.getCurrentTransform)(this.ctx)),{viewportScale:c}=this,h=Math.ceil(r*this.outputScaleX*c),d=Math.ceil(o*this.outputScaleY*c);this.annotationCanvas=this.canvasFactory.create(h,d);const{canvas:u,context:p}=this.annotationCanvas;this.annotationCanvasMap.set(t,u),this.annotationCanvas.savedCtx=this.ctx,this.ctx=p,this.ctx.setTransform(a,0,0,-l,0,o*l),b(this.ctx,this.foregroundColor)}else b(this.ctx,this.foregroundColor),this.ctx.rect(e[0],e[1],r,o),this.ctx.clip(),this.endPath()}this.current=new p(this.ctx.canvas.width,this.ctx.canvas.height),this.transform(...s),this.transform(...r)}endAnnotation(){this.annotationCanvas&&(this.ctx=this.annotationCanvas.savedCtx,delete this.annotationCanvas.savedCtx,delete this.annotationCanvas)}paintImageMaskXObject(t){if(!this.contentVisible)return;const e=t.count;(t=this.getObject(t.data,t)).count=e;const s=this.ctx,i=this.processingType3;if(i&&(void 0===i.compiled&&(i.compiled=function(t){const{width:e,height:s}=t;if(e>c||s>c)return null;const i=new Uint8Array([0,2,4,0,1,0,5,4,8,10,0,8,0,2,1,0]),n=e+1;let r,a,o,l=new Uint8Array(n*(s+1));const h=e+7&-8;let d=new Uint8Array(h*s),u=0;for(const c of t.data){let t=128;for(;t>0;)d[u++]=c&t?0:255,t>>=1}let p=0;for(u=0,0!==d[u]&&(l[0]=1,++p),a=1;a<e;a++)d[u]!==d[u+1]&&(l[a]=d[u]?2:1,++p),u++;for(0!==d[u]&&(l[a]=2,++p),r=1;r<s;r++){u=r*h,o=r*n,d[u-h]!==d[u]&&(l[o]=d[u]?1:8,++p);let t=(d[u]?4:0)+(d[u-h]?8:0);for(a=1;a<e;a++)t=(t>>2)+(d[u+1]?4:0)+(d[u-h+1]?8:0),i[t]&&(l[o+a]=i[t],++p),u++;if(d[u-h]!==d[u]&&(l[o+a]=d[u]?2:4,++p),p>1e3)return null}for(u=h*(s-1),o=r*n,0!==d[u]&&(l[o]=8,++p),a=1;a<e;a++)d[u]!==d[u+1]&&(l[o+a]=d[u]?4:8,++p),u++;if(0!==d[u]&&(l[o+a]=4,++p),p>1e3)return null;const g=new Int32Array([0,n,-1,0,-n,0,0,0,1]),m=new Path2D;for(r=0;p&&r<=s;r++){let t=r*n;const s=t+e;for(;t<s&&!l[t];)t++;if(t===s)continue;m.moveTo(t%n,r);const i=t;let a=l[t];do{const e=g[a];do{t+=e}while(!l[t]);const s=l[t];5!==s&&10!==s?(a=s,l[t]=0):(a=s&51*a>>4,l[t]&=a>>2|a<<2),m.lineTo(t%n,t/n|0),l[t]||--p}while(i!==t);--r}return d=null,l=null,function(t){t.save(),t.scale(1/e,-1/s),t.translate(0,-s),t.fill(m),t.beginPath(),t.restore()}}(t)),i.compiled))return void i.compiled(s);const n=this._createMaskCanvas(t),r=n.canvas;s.save(),s.setTransform(1,0,0,1,0,0),s.drawImage(r,n.offsetX,n.offsetY),s.restore(),this.compose()}paintImageMaskXObjectRepeat(t,e,s=0,r=0,a,o){if(!this.contentVisible)return;t=this.getObject(t.data,t);const l=this.ctx;l.save();const c=(0,i.getCurrentTransform)(l);l.transform(e,s,r,a,0,0);const h=this._createMaskCanvas(t);l.setTransform(1,0,0,1,0,0);for(let i=0,d=o.length;i<d;i+=2){const t=n.Util.transform(c,[e,s,r,a,o[i],o[i+1]]),[d,u]=n.Util.applyTransform([0,0],t);l.drawImage(h.canvas,d,u)}l.restore(),this.compose()}paintImageMaskXObjectGroup(t){if(!this.contentVisible)return;const e=this.ctx,s=this.current.fillColor,n=this.current.patternFill;for(const a of t){const{data:t,width:o,height:l,transform:c}=a,h=this.cachedCanvases.getCanvas("maskCanvas",o,l),d=h.context;d.save(),m(d,this.getObject(t,a)),d.globalCompositeOperation="source-in",d.fillStyle=n?s.getPattern(d,this,(0,i.getCurrentTransformInverse)(e),r.PathType.FILL):s,d.fillRect(0,0,o,l),d.restore(),e.save(),e.transform(...c),e.scale(1,-1),u(e,h.canvas,0,0,o,l,0,-1,1,1),e.restore()}this.compose()}paintImageXObject(t){if(!this.contentVisible)return;const e=this.getObject(t);e?this.paintInlineImageXObject(e):(0,n.warn)("Dependent image isn't ready yet")}paintImageXObjectRepeat(t,e,s,i){if(!this.contentVisible)return;const r=this.getObject(t);if(!r)return void(0,n.warn)("Dependent image isn't ready yet");const a=r.width,o=r.height,l=[];for(let n=0,c=i.length;n<c;n+=2)l.push({transform:[e,0,0,s,i[n],i[n+1]],x:0,y:0,w:a,h:o});this.paintInlineImageXObjectGroup(r,l)}paintInlineImageXObject(t){if(!this.contentVisible)return;const e=t.width,s=t.height,r=this.ctx;let a;if(this.save(),r.scale(1/e,-1/s),"function"==typeof HTMLElement&&t instanceof HTMLElement||!t.data)a=t;else{const i=this.cachedCanvases.getCanvas("inlineImage",e,s);g(i.context,t,this.current.transferMaps),a=i.canvas}const o=this._scaleImage(a,(0,i.getCurrentTransformInverse)(r));r.imageSmoothingEnabled=S((0,i.getCurrentTransform)(r),t.interpolate);const[l,c]=u(r,o.img,0,0,o.paintWidth,o.paintHeight,0,-s,e,s);if(this.imageLayer){const[e,r]=n.Util.applyTransform([0,-s],(0,i.getCurrentTransform)(this.ctx));this.imageLayer.appendImage({imgData:t,left:e,top:r,width:l,height:c})}this.compose(),this.restore()}paintInlineImageXObjectGroup(t,e){if(!this.contentVisible)return;const s=this.ctx,r=t.width,a=t.height,o=this.cachedCanvases.getCanvas("inlineImage",r,a);g(o.context,t,this.current.transferMaps);for(const l of e){if(s.save(),s.transform(...l.transform),s.scale(1,-1),u(s,o.canvas,l.x,l.y,l.w,l.h,0,-1,1,1),this.imageLayer){const[e,s]=n.Util.applyTransform([l.x,l.y],(0,i.getCurrentTransform)(this.ctx));this.imageLayer.appendImage({imgData:t,left:e,top:s,width:r,height:a})}s.restore()}this.compose()}paintSolidColorImageMask(){this.contentVisible&&(this.ctx.fillRect(0,0,1,1),this.compose())}markPoint(t){}markPointProps(t,e){}beginMarkedContent(t){this.markedContentStack.push({visible:!0})}beginMarkedContentProps(t,e){"OC"===t?this.markedContentStack.push({visible:this.optionalContentConfig.isVisible(e)}):this.markedContentStack.push({visible:!0}),this.contentVisible=this.isContentVisible()}endMarkedContent(){this.markedContentStack.pop(),this.contentVisible=this.isContentVisible()}beginCompat(){}endCompat(){}consumePath(t){const e=this.current.isEmptyClip();this.pendingClip&&this.current.updateClipFromPath(),this.pendingClip||this.compose(t);const s=this.ctx;this.pendingClip&&(e||(this.pendingClip===P?s.clip("evenodd"):s.clip()),this.pendingClip=null),this.current.startNewPathAndClipBox(this.current.clipBox),s.beginPath()}getSinglePixelWidth(){if(!this._cachedGetSinglePixelWidth){const t=(0,i.getCurrentTransform)(this.ctx);if(0===t[1]&&0===t[2])this._cachedGetSinglePixelWidth=1/Math.min(Math.abs(t[0]),Math.abs(t[3]));else{const e=Math.abs(t[0]*t[3]-t[2]*t[1]),s=Math.hypot(t[0],t[2]),i=Math.hypot(t[1],t[3]);this._cachedGetSinglePixelWidth=Math.max(s,i)/e}}return this._cachedGetSinglePixelWidth}getScaleForStroking(){if(!this._cachedScaleForStroking){const{lineWidth:t}=this.current,e=(0,i.getCurrentTransform)(this.ctx);let s,n;if(0===e[1]&&0===e[2]){const i=Math.abs(e[0]),r=Math.abs(e[3]);if(0===t)s=1/i,n=1/r;else{const e=i*t,a=r*t;s=e<1?1/e:1,n=a<1?1/a:1}}else{const i=Math.abs(e[0]*e[3]-e[2]*e[1]),r=Math.hypot(e[0],e[1]),a=Math.hypot(e[2],e[3]);if(0===t)s=a/i,n=r/i;else{const e=t*i;s=a>e?a/e:1,n=r>e?r/e:1}}this._cachedScaleForStroking=[s,n]}return this._cachedScaleForStroking}rescaleAndStroke(t){const{ctx:e}=this,{lineWidth:s}=this.current,[n,r]=this.getScaleForStroking();if(e.lineWidth=s||1,1===n&&1===r)return void e.stroke();let a,o,l;t&&(a=(0,i.getCurrentTransform)(e),o=e.getLineDash().slice(),l=e.lineDashOffset),e.scale(n,r);const c=Math.max(n,r);e.setLineDash(e.getLineDash().map(t=>t/c)),e.lineDashOffset/=c,e.stroke(),t&&(e.setTransform(...a),e.setLineDash(o),e.lineDashOffset=l)}isContentVisible(){for(let t=this.markedContentStack.length-1;t>=0;t--)if(!this.markedContentStack[t].visible)return!1;return!0}}e.CanvasGraphics=T;for(const w in n.OPS)void 0!==T.prototype[w]&&(T.prototype[n.OPS[w]]=T.prototype[w])},(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.TilingPattern=e.PathType=void 0,e.getShadingPattern=function(t){switch(t[0]){case"RadialAxial":return new c(t);case"Mesh":return new u(t);case"Dummy":return new p}throw new Error(`Unknown IR type: ${t[0]}`)};var i=s(1),n=s(8),r=s(3);const a={FILL:"Fill",STROKE:"Stroke",SHADING:"Shading"};function o(t,e){if(!e||r.isNodeJS)return;const s=e[2]-e[0],i=e[3]-e[1],n=new Path2D;n.rect(e[0],e[1],s,i),t.clip(n)}e.PathType=a;class l{constructor(){this.constructor===l&&(0,i.unreachable)("Cannot initialize BaseShadingPattern.")}getPattern(){(0,i.unreachable)("Abstract method `getPattern` called.")}}class c extends l{constructor(t){super(),this._type=t[1],this._bbox=t[2],this._colorStops=t[3],this._p0=t[4],this._p1=t[5],this._r0=t[6],this._r1=t[7],this.matrix=null}_createGradient(t){let e;"axial"===this._type?e=t.createLinearGradient(this._p0[0],this._p0[1],this._p1[0],this._p1[1]):"radial"===this._type&&(e=t.createRadialGradient(this._p0[0],this._p0[1],this._r0,this._p1[0],this._p1[1],this._r1));for(const s of this._colorStops)e.addColorStop(s[0],s[1]);return e}getPattern(t,e,s,r){let l;if(r===a.STROKE||r===a.FILL){const a=e.current.getClippedPathBoundingBox(r,(0,n.getCurrentTransform)(t))||[0,0,0,0],h=Math.ceil(a[2]-a[0])||1,d=Math.ceil(a[3]-a[1])||1,u=e.cachedCanvases.getCanvas("pattern",h,d,!0),p=u.context;p.clearRect(0,0,p.canvas.width,p.canvas.height),p.beginPath(),p.rect(0,0,p.canvas.width,p.canvas.height),p.translate(-a[0],-a[1]),s=i.Util.transform(s,[1,0,0,1,a[0],a[1]]),p.transform(...e.baseTransform),this.matrix&&p.transform(...this.matrix),o(p,this._bbox),p.fillStyle=this._createGradient(p),p.fill(),l=t.createPattern(u.canvas,"no-repeat");const g=new DOMMatrix(s);try{l.setTransform(g)}catch(c){(0,i.warn)(`RadialAxialShadingPattern.getPattern: "${c?.message}".`)}}else o(t,this._bbox),l=this._createGradient(t);return l}}function h(t,e,s,i,n,r,a,o){const l=e.coords,c=e.colors,h=t.data,d=4*t.width;let u;l[s+1]>l[i+1]&&(u=s,s=i,i=u,u=r,r=a,a=u),l[i+1]>l[n+1]&&(u=i,i=n,n=u,u=a,a=o,o=u),l[s+1]>l[i+1]&&(u=s,s=i,i=u,u=r,r=a,a=u);const p=(l[s]+e.offsetX)*e.scaleX,g=(l[s+1]+e.offsetY)*e.scaleY,m=(l[i]+e.offsetX)*e.scaleX,f=(l[i+1]+e.offsetY)*e.scaleY,b=(l[n]+e.offsetX)*e.scaleX,_=(l[n+1]+e.offsetY)*e.scaleY;if(g>=_)return;const A=c[r],y=c[r+1],v=c[r+2],S=c[a],x=c[a+1],C=c[a+2],E=c[o],P=c[o+1],T=c[o+2],w=Math.round(g),k=Math.round(_);let M,F,R,D,I,O,L,N;for(let j=w;j<=k;j++){if(j<f){let t;t=j<g?0:(g-j)/(g-f),M=p-(p-m)*t,F=A-(A-S)*t,R=y-(y-x)*t,D=v-(v-C)*t}else{let t;t=j>_?1:f===_?0:(f-j)/(f-_),M=m-(m-b)*t,F=S-(S-E)*t,R=x-(x-P)*t,D=C-(C-T)*t}let t;t=j<g?0:j>_?1:(g-j)/(g-_),I=p-(p-b)*t,O=A-(A-E)*t,L=y-(y-P)*t,N=v-(v-T)*t;const e=Math.round(Math.min(M,I)),s=Math.round(Math.max(M,I));let i=d*j+4*e;for(let n=e;n<=s;n++)t=(M-n)/(M-I),t<0?t=0:t>1&&(t=1),h[i++]=F-(F-O)*t|0,h[i++]=R-(R-L)*t|0,h[i++]=D-(D-N)*t|0,h[i++]=255}}function d(t,e,s){const i=e.coords,n=e.colors;let r,a;switch(e.type){case"lattice":const o=e.verticesPerRow,l=Math.floor(i.length/o)-1,c=o-1;for(r=0;r<l;r++){let e=r*o;for(let r=0;r<c;r++,e++)h(t,s,i[e],i[e+1],i[e+o],n[e],n[e+1],n[e+o]),h(t,s,i[e+o+1],i[e+1],i[e+o],n[e+o+1],n[e+1],n[e+o])}break;case"triangles":for(r=0,a=i.length;r<a;r+=3)h(t,s,i[r],i[r+1],i[r+2],n[r],n[r+1],n[r+2]);break;default:throw new Error("illegal figure")}}class u extends l{constructor(t){super(),this._coords=t[2],this._colors=t[3],this._figures=t[4],this._bounds=t[5],this._bbox=t[7],this._background=t[8],this.matrix=null}_createMeshCanvas(t,e,s){const i=Math.floor(this._bounds[0]),n=Math.floor(this._bounds[1]),r=Math.ceil(this._bounds[2])-i,a=Math.ceil(this._bounds[3])-n,o=Math.min(Math.ceil(Math.abs(r*t[0]*1.1)),3e3),l=Math.min(Math.ceil(Math.abs(a*t[1]*1.1)),3e3),c=r/o,h=a/l,u={coords:this._coords,colors:this._colors,offsetX:-i,offsetY:-n,scaleX:1/c,scaleY:1/h},p=o+4,g=l+4,m=s.getCanvas("mesh",p,g,!1),f=m.context,b=f.createImageData(o,l);if(e){const t=b.data;for(let s=0,i=t.length;s<i;s+=4)t[s]=e[0],t[s+1]=e[1],t[s+2]=e[2],t[s+3]=255}for(const _ of this._figures)d(b,_,u);return f.putImageData(b,2,2),{canvas:m.canvas,offsetX:i-2*c,offsetY:n-2*h,scaleX:c,scaleY:h}}getPattern(t,e,s,r){let l;if(o(t,this._bbox),r===a.SHADING)l=i.Util.singularValueDecompose2dScale((0,n.getCurrentTransform)(t));else if(l=i.Util.singularValueDecompose2dScale(e.baseTransform),this.matrix){const t=i.Util.singularValueDecompose2dScale(this.matrix);l=[l[0]*t[0],l[1]*t[1]]}const c=this._createMeshCanvas(l,r===a.SHADING?null:this._background,e.cachedCanvases);return r!==a.SHADING&&(t.setTransform(...e.baseTransform),this.matrix&&t.transform(...this.matrix)),t.translate(c.offsetX,c.offsetY),t.scale(c.scaleX,c.scaleY),t.createPattern(c.canvas,"no-repeat")}}class p extends l{getPattern(){return"hotpink"}}const g=1,m=2;class f{static get MAX_PATTERN_SIZE(){return(0,i.shadow)(this,"MAX_PATTERN_SIZE",3e3)}constructor(t,e,s,i,n){this.operatorList=t[2],this.matrix=t[3]||[1,0,0,1,0,0],this.bbox=t[4],this.xstep=t[5],this.ystep=t[6],this.paintType=t[7],this.tilingType=t[8],this.color=e,this.ctx=s,this.canvasGraphicsFactory=i,this.baseTransform=n}createPatternCanvas(t){const e=this.operatorList,s=this.bbox,r=this.xstep,a=this.ystep,o=this.paintType,l=this.tilingType,c=this.color,h=this.canvasGraphicsFactory;(0,i.info)("TilingType: "+l);const d=s[0],u=s[1],p=s[2],g=s[3],m=i.Util.singularValueDecompose2dScale(this.matrix),f=i.Util.singularValueDecompose2dScale(this.baseTransform),b=[m[0]*f[0],m[1]*f[1]],_=this.getSizeAndScale(r,this.ctx.canvas.width,b[0]),A=this.getSizeAndScale(a,this.ctx.canvas.height,b[1]),y=t.cachedCanvases.getCanvas("pattern",_.size,A.size,!0),v=y.context,S=h.createCanvasGraphics(v);S.groupLevel=t.groupLevel,this.setFillAndStrokeStyleToContext(S,o,c);let x=d,C=u,E=p,P=g;return d<0&&(x=0,E+=Math.abs(d)),u<0&&(C=0,P+=Math.abs(u)),v.translate(-_.scale*x,-A.scale*C),S.transform(_.scale,0,0,A.scale,0,0),v.save(),this.clipBbox(S,x,C,E,P),S.baseTransform=(0,n.getCurrentTransform)(S.ctx),S.executeOperatorList(e),S.endDrawing(),{canvas:y.canvas,scaleX:_.scale,scaleY:A.scale,offsetX:x,offsetY:C}}getSizeAndScale(t,e,s){t=Math.abs(t);const i=Math.max(f.MAX_PATTERN_SIZE,e);let n=Math.ceil(t*s);return n>=i?n=i:s=n/t,{scale:s,size:n}}clipBbox(t,e,s,i,r){const a=i-e,o=r-s;t.ctx.rect(e,s,a,o),t.current.updateRectMinMax((0,n.getCurrentTransform)(t.ctx),[e,s,i,r]),t.clip(),t.endPath()}setFillAndStrokeStyleToContext(t,e,s){const n=t.ctx,r=t.current;switch(e){case g:const t=this.ctx;n.fillStyle=t.fillStyle,n.strokeStyle=t.strokeStyle,r.fillColor=t.fillStyle,r.strokeColor=t.strokeStyle;break;case m:const a=i.Util.makeHexColor(s[0],s[1],s[2]);n.fillStyle=a,n.strokeStyle=a,r.fillColor=a,r.strokeColor=a;break;default:throw new i.FormatError(`Unsupported paint type: ${e}`)}}getPattern(t,e,s,n){let r=s;n!==a.SHADING&&(r=i.Util.transform(r,e.baseTransform),this.matrix&&(r=i.Util.transform(r,this.matrix)));const o=this.createPatternCanvas(e);let l=new DOMMatrix(r);l=l.translate(o.offsetX,o.offsetY),l=l.scale(1/o.scaleX,1/o.scaleY);const c=t.createPattern(o.canvas,"repeat");try{c.setTransform(l)}catch(h){(0,i.warn)(`TilingPattern.getPattern: "${h?.message}".`)}return c}}e.TilingPattern=f},(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.applyMaskImageData=function({src:t,srcPos:e=0,dest:s,destPos:n=0,width:r,height:a,inverseDecode:o=!1}){const l=i.FeatureTest.isLittleEndian?4278190080:255,[c,h]=o?[0,l]:[l,0],d=r>>3,u=7&r,p=t.length;s=new Uint32Array(s.buffer);for(let i=0;i<a;i++){for(const r=e+d;e<r;e++){const i=e<p?t[e]:255;s[n++]=128&i?h:c,s[n++]=64&i?h:c,s[n++]=32&i?h:c,s[n++]=16&i?h:c,s[n++]=8&i?h:c,s[n++]=4&i?h:c,s[n++]=2&i?h:c,s[n++]=1&i?h:c}if(0===u)continue;const i=e<p?t[e++]:255;for(let t=0;t<u;t++)s[n++]=i&1<<7-t?h:c}return{srcPos:e,destPos:n}};var i=s(1)},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.GlobalWorkerOptions=void 0;const s=Object.create(null);e.GlobalWorkerOptions=s,s.workerPort=void 0===s.workerPort?null:s.workerPort,s.workerSrc=void 0===s.workerSrc?"":s.workerSrc},(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MessageHandler=void 0;var i=s(1);const n=1,r=2,a=1,o=2,l=3,c=4,h=5,d=6,u=7,p=8;function g(t){switch(t instanceof Error||"object"==typeof t&&null!==t||(0,i.unreachable)('wrapReason: Expected "reason" to be a (possibly cloned) Error.'),t.name){case"AbortException":return new i.AbortException(t.message);case"MissingPDFException":return new i.MissingPDFException(t.message);case"PasswordException":return new i.PasswordException(t.message,t.code);case"UnexpectedResponseException":return new i.UnexpectedResponseException(t.message,t.status);case"UnknownErrorException":return new i.UnknownErrorException(t.message,t.details);default:return new i.UnknownErrorException(t.message,t.toString())}}e.MessageHandler=class{constructor(t,e,s){this.sourceName=t,this.targetName=e,this.comObj=s,this.callbackId=1,this.streamId=1,this.streamSinks=Object.create(null),this.streamControllers=Object.create(null),this.callbackCapabilities=Object.create(null),this.actionHandler=Object.create(null),this._onComObjOnMessage=t=>{const e=t.data;if(e.targetName!==this.sourceName)return;if(e.stream)return void this._processStreamMessage(e);if(e.callback){const t=e.callbackId,s=this.callbackCapabilities[t];if(!s)throw new Error(`Cannot resolve callback ${t}`);if(delete this.callbackCapabilities[t],e.callback===n)s.resolve(e.data);else{if(e.callback!==r)throw new Error("Unexpected callback case");s.reject(g(e.reason))}return}const i=this.actionHandler[e.action];if(!i)throw new Error(`Unknown action from worker: ${e.action}`);if(e.callbackId){const t=this.sourceName,a=e.sourceName;return void new Promise(function(t){t(i(e.data))}).then(function(i){s.postMessage({sourceName:t,targetName:a,callback:n,callbackId:e.callbackId,data:i})},function(i){s.postMessage({sourceName:t,targetName:a,callback:r,callbackId:e.callbackId,reason:g(i)})})}e.streamId?this._createStreamSink(e):i(e.data)},s.addEventListener("message",this._onComObjOnMessage)}on(t,e){const s=this.actionHandler;if(s[t])throw new Error(`There is already an actionName called "${t}"`);s[t]=e}send(t,e,s){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:t,data:e},s)}sendWithPromise(t,e,s){const n=this.callbackId++,r=(0,i.createPromiseCapability)();this.callbackCapabilities[n]=r;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:t,callbackId:n,data:e},s)}catch(a){r.reject(a)}return r.promise}sendWithStream(t,e,s,n){const r=this.streamId++,o=this.sourceName,l=this.targetName,c=this.comObj;return new ReadableStream({start:s=>{const a=(0,i.createPromiseCapability)();return this.streamControllers[r]={controller:s,startCall:a,pullCall:null,cancelCall:null,isClosed:!1},c.postMessage({sourceName:o,targetName:l,action:t,streamId:r,data:e,desiredSize:s.desiredSize},n),a.promise},pull:t=>{const e=(0,i.createPromiseCapability)();return this.streamControllers[r].pullCall=e,c.postMessage({sourceName:o,targetName:l,stream:d,streamId:r,desiredSize:t.desiredSize}),e.promise},cancel:t=>{(0,i.assert)(t instanceof Error,"cancel must have a valid reason");const e=(0,i.createPromiseCapability)();return this.streamControllers[r].cancelCall=e,this.streamControllers[r].isClosed=!0,c.postMessage({sourceName:o,targetName:l,stream:a,streamId:r,reason:g(t)}),e.promise}},s)}_createStreamSink(t){const e=t.streamId,s=this.sourceName,n=t.sourceName,r=this.comObj,a=this,o=this.actionHandler[t.action],d={enqueue(t,a=1,o){if(this.isCancelled)return;const l=this.desiredSize;this.desiredSize-=a,l>0&&this.desiredSize<=0&&(this.sinkCapability=(0,i.createPromiseCapability)(),this.ready=this.sinkCapability.promise),r.postMessage({sourceName:s,targetName:n,stream:c,streamId:e,chunk:t},o)},close(){this.isCancelled||(this.isCancelled=!0,r.postMessage({sourceName:s,targetName:n,stream:l,streamId:e}),delete a.streamSinks[e])},error(t){(0,i.assert)(t instanceof Error,"error must have a valid reason"),this.isCancelled||(this.isCancelled=!0,r.postMessage({sourceName:s,targetName:n,stream:h,streamId:e,reason:g(t)}))},sinkCapability:(0,i.createPromiseCapability)(),onPull:null,onCancel:null,isCancelled:!1,desiredSize:t.desiredSize,ready:null};d.sinkCapability.resolve(),d.ready=d.sinkCapability.promise,this.streamSinks[e]=d,new Promise(function(e){e(o(t.data,d))}).then(function(){r.postMessage({sourceName:s,targetName:n,stream:p,streamId:e,success:!0})},function(t){r.postMessage({sourceName:s,targetName:n,stream:p,streamId:e,reason:g(t)})})}_processStreamMessage(t){const e=t.streamId,s=this.sourceName,n=t.sourceName,r=this.comObj,m=this.streamControllers[e],f=this.streamSinks[e];switch(t.stream){case p:t.success?m.startCall.resolve():m.startCall.reject(g(t.reason));break;case u:t.success?m.pullCall.resolve():m.pullCall.reject(g(t.reason));break;case d:if(!f){r.postMessage({sourceName:s,targetName:n,stream:u,streamId:e,success:!0});break}f.desiredSize<=0&&t.desiredSize>0&&f.sinkCapability.resolve(),f.desiredSize=t.desiredSize,new Promise(function(t){t(f.onPull&&f.onPull())}).then(function(){r.postMessage({sourceName:s,targetName:n,stream:u,streamId:e,success:!0})},function(t){r.postMessage({sourceName:s,targetName:n,stream:u,streamId:e,reason:g(t)})});break;case c:if((0,i.assert)(m,"enqueue should have stream controller"),m.isClosed)break;m.controller.enqueue(t.chunk);break;case l:if((0,i.assert)(m,"close should have stream controller"),m.isClosed)break;m.isClosed=!0,m.controller.close(),this._deleteStreamController(m,e);break;case h:(0,i.assert)(m,"error should have stream controller"),m.controller.error(g(t.reason)),this._deleteStreamController(m,e);break;case o:t.success?m.cancelCall.resolve():m.cancelCall.reject(g(t.reason)),this._deleteStreamController(m,e);break;case a:if(!f)break;new Promise(function(e){e(f.onCancel&&f.onCancel(g(t.reason)))}).then(function(){r.postMessage({sourceName:s,targetName:n,stream:o,streamId:e,success:!0})},function(t){r.postMessage({sourceName:s,targetName:n,stream:o,streamId:e,reason:g(t)})}),f.sinkCapability.reject(g(t.reason)),f.isCancelled=!0,delete this.streamSinks[e];break;default:throw new Error("Unexpected stream case")}}async _deleteStreamController(t,e){await Promise.allSettled([t.startCall&&t.startCall.promise,t.pullCall&&t.pullCall.promise,t.cancelCall&&t.cancelCall.promise]),delete this.streamControllers[e]}destroy(){this.comObj.removeEventListener("message",this._onComObjOnMessage)}}},(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.Metadata=void 0;var i=s(1);e.Metadata=class{#Q;#Z;constructor({parsedData:t,rawData:e}){this.#Q=t,this.#Z=e}getRaw(){return this.#Z}get(t){return this.#Q.get(t)??null}getAll(){return(0,i.objectFromMap)(this.#Q)}has(t){return this.#Q.has(t)}}},(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.OptionalContentConfig=void 0;var i=s(1);const n=Symbol("INTERNAL");class r{#tt=!0;constructor(t,e){this.name=t,this.intent=e}get visible(){return this.#tt}_setVisible(t,e){t!==n&&(0,i.unreachable)("Internal method `_setVisible` called."),this.#tt=e}}e.OptionalContentConfig=class{#et=!0;#st=new Map;#it=null;#nt=null;constructor(t){if(this.name=null,this.creator=null,null!==t){this.name=t.name,this.creator=t.creator,this.#nt=t.order;for(const e of t.groups)this.#st.set(e.id,new r(e.name,e.intent));if("OFF"===t.baseState)for(const t of this.#st.values())t._setVisible(n,!1);for(const e of t.on)this.#st.get(e)._setVisible(n,!0);for(const e of t.off)this.#st.get(e)._setVisible(n,!1);this.#it=new Map;for(const[t,e]of this.#st)this.#it.set(t,e.visible)}}#rt(t){const e=t.length;if(e<2)return!0;const s=t[0];for(let n=1;n<e;n++){const e=t[n];let r;if(Array.isArray(e))r=this.#rt(e);else{if(!this.#st.has(e))return(0,i.warn)(`Optional content group not found: ${e}`),!0;r=this.#st.get(e).visible}switch(s){case"And":if(!r)return!1;break;case"Or":if(r)return!0;break;case"Not":return!r;default:return!0}}return"And"===s}isVisible(t){if(0===this.#st.size)return!0;if(!t)return(0,i.warn)("Optional content group not defined."),!0;if("OCG"===t.type)return this.#st.has(t.id)?this.#st.get(t.id).visible:((0,i.warn)(`Optional content group not found: ${t.id}`),!0);if("OCMD"===t.type){if(t.expression)return this.#rt(t.expression);if(!t.policy||"AnyOn"===t.policy){for(const e of t.ids){if(!this.#st.has(e))return(0,i.warn)(`Optional content group not found: ${e}`),!0;if(this.#st.get(e).visible)return!0}return!1}if("AllOn"===t.policy){for(const e of t.ids){if(!this.#st.has(e))return(0,i.warn)(`Optional content group not found: ${e}`),!0;if(!this.#st.get(e).visible)return!1}return!0}if("AnyOff"===t.policy){for(const e of t.ids){if(!this.#st.has(e))return(0,i.warn)(`Optional content group not found: ${e}`),!0;if(!this.#st.get(e).visible)return!0}return!1}if("AllOff"===t.policy){for(const e of t.ids){if(!this.#st.has(e))return(0,i.warn)(`Optional content group not found: ${e}`),!0;if(this.#st.get(e).visible)return!1}return!0}return(0,i.warn)(`Unknown optional content policy ${t.policy}.`),!0}return(0,i.warn)(`Unknown group type ${t.type}.`),!0}setVisibility(t,e=!0){this.#st.has(t)?(this.#st.get(t)._setVisible(n,!!e),this.#et=null):(0,i.warn)(`Optional content group not found: ${t}`)}get hasInitialVisibility(){if(null!==this.#et)return this.#et;for(const[t,e]of this.#st){const s=this.#it.get(t);if(e.visible!==s)return this.#et=!1}return this.#et=!0}getOrder(){return this.#st.size?this.#nt?this.#nt.slice():[...this.#st.keys()]:null}getGroups(){return this.#st.size>0?(0,i.objectFromMap)(this.#st):null}getGroup(t){return this.#st.get(t)||null}}},(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.PDFDataTransportStream=void 0;var i=s(1),n=s(8);e.PDFDataTransportStream=class{constructor(t,e){(0,i.assert)(e,'PDFDataTransportStream - missing required "pdfDataRangeTransport" argument.'),this._queuedChunks=[],this._progressiveDone=t.progressiveDone||!1,this._contentDispositionFilename=t.contentDispositionFilename||null;const s=t.initialData;if(s?.length>0){const t=new Uint8Array(s).buffer;this._queuedChunks.push(t)}this._pdfDataRangeTransport=e,this._isStreamingSupported=!t.disableStream,this._isRangeSupported=!t.disableRange,this._contentLength=t.length,this._fullRequestReader=null,this._rangeReaders=[],this._pdfDataRangeTransport.addRangeListener((t,e)=>{this._onReceiveData({begin:t,chunk:e})}),this._pdfDataRangeTransport.addProgressListener((t,e)=>{this._onProgress({loaded:t,total:e})}),this._pdfDataRangeTransport.addProgressiveReadListener(t=>{this._onReceiveData({chunk:t})}),this._pdfDataRangeTransport.addProgressiveDoneListener(()=>{this._onProgressiveDone()}),this._pdfDataRangeTransport.transportReady()}_onReceiveData(t){const e=new Uint8Array(t.chunk).buffer;if(void 0===t.begin)this._fullRequestReader?this._fullRequestReader._enqueue(e):this._queuedChunks.push(e);else{const s=this._rangeReaders.some(function(s){return s._begin===t.begin&&(s._enqueue(e),!0)});(0,i.assert)(s,"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.")}}get _progressiveDataLength(){return this._fullRequestReader?._loaded??0}_onProgress(t){if(void 0===t.total){const e=this._rangeReaders[0];e?.onProgress&&e.onProgress({loaded:t.loaded})}else{const e=this._fullRequestReader;e?.onProgress&&e.onProgress({loaded:t.loaded,total:t.total})}}_onProgressiveDone(){this._fullRequestReader&&this._fullRequestReader.progressiveDone(),this._progressiveDone=!0}_removeRangeReader(t){const e=this._rangeReaders.indexOf(t);e>=0&&this._rangeReaders.splice(e,1)}getFullReader(){(0,i.assert)(!this._fullRequestReader,"PDFDataTransportStream.getFullReader can only be called once.");const t=this._queuedChunks;return this._queuedChunks=null,new r(this,t,this._progressiveDone,this._contentDispositionFilename)}getRangeReader(t,e){if(e<=this._progressiveDataLength)return null;const s=new a(this,t,e);return this._pdfDataRangeTransport.requestDataRange(t,e),this._rangeReaders.push(s),s}cancelAllRequests(t){this._fullRequestReader&&this._fullRequestReader.cancel(t);for(const e of this._rangeReaders.slice(0))e.cancel(t);this._pdfDataRangeTransport.abort()}};class r{constructor(t,e,s=!1,i=null){this._stream=t,this._done=s||!1,this._filename=(0,n.isPdfFile)(i)?i:null,this._queuedChunks=e||[],this._loaded=0;for(const n of this._queuedChunks)this._loaded+=n.byteLength;this._requests=[],this._headersReady=Promise.resolve(),t._fullRequestReader=this,this.onProgress=null}_enqueue(t){this._done||(this._requests.length>0?this._requests.shift().resolve({value:t,done:!1}):this._queuedChunks.push(t),this._loaded+=t.byteLength)}get headersReady(){return this._headersReady}get filename(){return this._filename}get isRangeSupported(){return this._stream._isRangeSupported}get isStreamingSupported(){return this._stream._isStreamingSupported}get contentLength(){return this._stream._contentLength}async read(){if(this._queuedChunks.length>0)return{value:this._queuedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};const t=(0,i.createPromiseCapability)();return this._requests.push(t),t.promise}cancel(t){this._done=!0;for(const e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0}progressiveDone(){this._done||(this._done=!0)}}class a{constructor(t,e,s){this._stream=t,this._begin=e,this._end=s,this._queuedChunk=null,this._requests=[],this._done=!1,this.onProgress=null}_enqueue(t){if(!this._done){if(0===this._requests.length)this._queuedChunk=t;else{this._requests.shift().resolve({value:t,done:!1});for(const t of this._requests)t.resolve({value:void 0,done:!0});this._requests.length=0}this._done=!0,this._stream._removeRangeReader(this)}}get isStreamingSupported(){return!1}async read(){if(this._queuedChunk){const t=this._queuedChunk;return this._queuedChunk=null,{value:t,done:!1}}if(this._done)return{value:void 0,done:!0};const t=(0,i.createPromiseCapability)();return this._requests.push(t),t.promise}cancel(t){this._done=!0;for(const e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0,this._stream._removeRangeReader(this)}}},(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.XfaText=void 0;class s{static textContent(t){const e=[],i={items:e,styles:Object.create(null)};return function t(i){if(!i)return;let n=null;const r=i.name;if("#text"===r)n=i.value;else{if(!s.shouldBuildText(r))return;i?.attributes?.textContent?n=i.attributes.textContent:i.value&&(n=i.value)}if(null!==n&&e.push({str:n}),i.children)for(const e of i.children)t(e)}(t),i}static shouldBuildText(t){return!("textarea"===t||"input"===t||"option"===t||"select"===t)}}e.XfaText=s},(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.NodeStandardFontDataFactory=e.NodeCanvasFactory=e.NodeCMapReaderFactory=void 0;var i=s(9);const n=function(t){return new Promise((e,s)=>{require$$5.readFile(t,(t,i)=>{!t&&i?e(new Uint8Array(i)):s(new Error(t))})})};class r extends i.BaseCanvasFactory{_createCanvas(t,e){return require$$5.createCanvas(t,e)}}e.NodeCanvasFactory=r;class a extends i.BaseCMapReaderFactory{_fetchData(t,e){return n(t).then(t=>({cMapData:t,compressionType:e}))}}e.NodeCMapReaderFactory=a;class o extends i.BaseStandardFontDataFactory{_fetchData(t){return n(t)}}e.NodeStandardFontDataFactory=o},(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.AnnotationEditorLayer=void 0;var i=s(7),n=s(1),r=s(23),a=s(24);class o{#at;#ot=!1;#lt=this.pointerup.bind(this);#ct=this.pointerdown.bind(this);#ht=new Map;#dt=!1;#ut=!1;#pt;static _initialized=!1;constructor(t){o._initialized||(o._initialized=!0,r.FreeTextEditor.initialize(t.l10n),a.InkEditor.initialize(t.l10n),t.uiManager.registerEditorTypes([r.FreeTextEditor,a.InkEditor])),this.#pt=t.uiManager,this.annotationStorage=t.annotationStorage,this.pageIndex=t.pageIndex,this.div=t.div,this.#at=t.accessibilityManager,this.#pt.addLayer(this)}updateToolbar(t){this.#pt.updateToolbar(t)}updateMode(t=this.#pt.getMode()){this.#gt(),t===n.AnnotationEditorType.INK?(this.addInkEditorIfNeeded(!1),this.disableClick()):this.enableClick(),this.#pt.unselectAll()}addInkEditorIfNeeded(t){if(t||this.#pt.getMode()===n.AnnotationEditorType.INK){if(!t)for(const t of this.#ht.values())if(t.isEmpty())return void t.setInBackground();this.#mt({offsetX:0,offsetY:0}).setInBackground()}}setEditingState(t){this.#pt.setEditingState(t)}addCommands(t){this.#pt.addCommands(t)}enable(){this.div.style.pointerEvents="auto";for(const t of this.#ht.values())t.enableEditing()}disable(){this.div.style.pointerEvents="none";for(const t of this.#ht.values())t.disableEditing()}setActiveEditor(t){this.#pt.getActive()!==t&&this.#pt.setActiveEditor(t)}enableClick(){this.div.addEventListener("pointerdown",this.#ct),this.div.addEventListener("pointerup",this.#lt)}disableClick(){this.div.removeEventListener("pointerdown",this.#ct),this.div.removeEventListener("pointerup",this.#lt)}attach(t){this.#ht.set(t.id,t)}detach(t){this.#ht.delete(t.id),this.#at?.removePointerInTextLayer(t.contentDiv)}remove(t){this.#pt.removeEditor(t),this.detach(t),this.annotationStorage.remove(t.id),t.div.style.display="none",setTimeout(()=>{t.div.style.display="",t.div.remove(),t.isAttachedToDOM=!1,document.activeElement===document.body&&this.#pt.focusMainContainer()},0),this.#ut||this.addInkEditorIfNeeded(!1)}#ft(t){t.parent!==this&&(this.attach(t),t.pageIndex=this.pageIndex,t.parent?.detach(t),t.parent=this,t.div&&t.isAttachedToDOM&&(t.div.remove(),this.div.append(t.div)))}add(t){if(this.#ft(t),this.#pt.addEditor(t),this.attach(t),!t.isAttachedToDOM){const e=t.render();this.div.append(e),t.isAttachedToDOM=!0}this.moveEditorInDOM(t),t.onceAdded(),this.addToAnnotationStorage(t)}moveEditorInDOM(t){this.#at?.moveElementInDOM(this.div,t.div,t.contentDiv,!0)}addToAnnotationStorage(t){t.isEmpty()||this.annotationStorage.has(t.id)||this.annotationStorage.setValue(t.id,t)}addOrRebuild(t){t.needsToBeRebuilt()?t.rebuild():this.add(t)}addANewEditor(t){this.addCommands({cmd:()=>{this.addOrRebuild(t)},undo:()=>{t.remove()},mustExec:!0})}addUndoableEditor(t){this.addCommands({cmd:()=>{this.addOrRebuild(t)},undo:()=>{t.remove()},mustExec:!1})}getNextId(){return this.#pt.getId()}#bt(t){switch(this.#pt.getMode()){case n.AnnotationEditorType.FREETEXT:return new r.FreeTextEditor(t);case n.AnnotationEditorType.INK:return new a.InkEditor(t)}return null}deserialize(t){switch(t.annotationType){case n.AnnotationEditorType.FREETEXT:return r.FreeTextEditor.deserialize(t,this);case n.AnnotationEditorType.INK:return a.InkEditor.deserialize(t,this)}return null}#mt(t){const e=this.getNextId(),s=this.#bt({parent:this,id:e,x:t.offsetX,y:t.offsetY});return s&&this.add(s),s}setSelected(t){this.#pt.setSelected(t)}toggleSelected(t){this.#pt.toggleSelected(t)}isSelected(t){return this.#pt.isSelected(t)}unselect(t){this.#pt.unselect(t)}pointerup(t){const e=i.KeyboardManager.platform.isMac;0!==t.button||t.ctrlKey&&e||t.target===this.div&&this.#dt&&(this.#dt=!1,this.#ot?this.#mt(t):this.#ot=!0)}pointerdown(t){const e=i.KeyboardManager.platform.isMac;if(0!==t.button||t.ctrlKey&&e)return;if(t.target!==this.div)return;this.#dt=!0;const s=this.#pt.getActive();this.#ot=!s||s.isEmpty()}drop(t){const e=t.dataTransfer.getData("text/plain"),s=this.#pt.getEditor(e);if(!s)return;t.preventDefault(),t.dataTransfer.dropEffect="move",this.#ft(s);const i=this.div.getBoundingClientRect(),n=t.clientX-i.x,r=t.clientY-i.y;s.translate(n-s.startX,r-s.startY),this.moveEditorInDOM(s),s.div.focus()}dragover(t){t.preventDefault()}destroy(){this.#pt.getActive()?.parent===this&&this.#pt.setActiveEditor(null);for(const t of this.#ht.values())this.#at?.removePointerInTextLayer(t.contentDiv),t.isAttachedToDOM=!1,t.div.remove(),t.parent=null;this.div=null,this.#ht.clear(),this.#pt.removeLayer(this)}#gt(){this.#ut=!0;for(const t of this.#ht.values())t.isEmpty()&&t.remove();this.#ut=!1}render(t){this.viewport=t.viewport,(0,i.bindEvents)(this,this.div,["dragover","drop"]),this.setDimensions();for(const e of this.#pt.getEditors(this.pageIndex))this.add(e);this.updateMode()}update(t){this.viewport=t.viewport,this.setDimensions(),this.updateMode()}get scaleFactor(){return this.viewport.scale}get pageDimensions(){const[t,e,s,i]=this.viewport.viewBox;return[s-t,i-e]}get viewportBaseDimensions(){const{width:t,height:e,rotation:s}=this.viewport;return s%180==0?[t,e]:[e,t]}setDimensions(){const{width:t,height:e,rotation:s}=this.viewport,i=s%180!=0,n=Math.floor(t)+"px",r=Math.floor(e)+"px";this.div.style.width=i?r:n,this.div.style.height=i?n:r,this.div.setAttribute("data-main-rotation",s)}}e.AnnotationEditorLayer=o},(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.FreeTextEditor=void 0;var i=s(1),n=s(7),r=s(6);class a extends r.AnnotationEditor{#_t=this.editorDivBlur.bind(this);#At=this.editorDivFocus.bind(this);#yt=this.editorDivKeydown.bind(this);#vt;#St="";#xt=!1;#Ct;static _freeTextDefaultContent="";static _l10nPromise;static _internalPadding=0;static _defaultColor=null;static _defaultFontSize=10;static _keyboardManager=new n.KeyboardManager([[["ctrl+Enter","mac+meta+Enter","Escape","mac+Escape"],a.prototype.commitOrRemove]]);static _type="freetext";constructor(t){super({...t,name:"freeTextEditor"}),this.#vt=t.color||a._defaultColor||r.AnnotationEditor._defaultLineColor,this.#Ct=t.fontSize||a._defaultFontSize}static initialize(t){this._l10nPromise=new Map(["free_text_default_content","editor_free_text_aria_label"].map(e=>[e,t.get(e)]));const e=getComputedStyle(document.documentElement);this._internalPadding=parseFloat(e.getPropertyValue("--freetext-padding"))}static updateDefaultParams(t,e){switch(t){case i.AnnotationEditorParamsType.FREETEXT_SIZE:a._defaultFontSize=e;break;case i.AnnotationEditorParamsType.FREETEXT_COLOR:a._defaultColor=e}}updateParams(t,e){switch(t){case i.AnnotationEditorParamsType.FREETEXT_SIZE:this.#Et(e);break;case i.AnnotationEditorParamsType.FREETEXT_COLOR:this.#Pt(e)}}static get defaultPropertiesToUpdate(){return[[i.AnnotationEditorParamsType.FREETEXT_SIZE,a._defaultFontSize],[i.AnnotationEditorParamsType.FREETEXT_COLOR,a._defaultColor||r.AnnotationEditor._defaultLineColor]]}get propertiesToUpdate(){return[[i.AnnotationEditorParamsType.FREETEXT_SIZE,this.#Ct],[i.AnnotationEditorParamsType.FREETEXT_COLOR,this.#vt]]}#Et(t){const e=t=>{this.editorDiv.style.fontSize=`calc(${t}px * var(--scale-factor))`,this.translate(0,-(t-this.#Ct)*this.parent.scaleFactor),this.#Ct=t,this.#Tt()},s=this.#Ct;this.parent.addCommands({cmd:()=>{e(t)},undo:()=>{e(s)},mustExec:!0,type:i.AnnotationEditorParamsType.FREETEXT_SIZE,overwriteIfSameType:!0,keepUndo:!0})}#Pt(t){const e=this.#vt;this.parent.addCommands({cmd:()=>{this.#vt=t,this.editorDiv.style.color=t},undo:()=>{this.#vt=e,this.editorDiv.style.color=e},mustExec:!0,type:i.AnnotationEditorParamsType.FREETEXT_COLOR,overwriteIfSameType:!0,keepUndo:!0})}getInitialTranslation(){return[-a._internalPadding*this.parent.scaleFactor,-(a._internalPadding+this.#Ct)*this.parent.scaleFactor]}rebuild(){super.rebuild(),null!==this.div&&(this.isAttachedToDOM||this.parent.add(this))}enableEditMode(){this.isInEditMode()||(this.parent.setEditingState(!1),this.parent.updateToolbar(i.AnnotationEditorType.FREETEXT),super.enableEditMode(),this.enableEditing(),this.overlayDiv.classList.remove("enabled"),this.editorDiv.contentEditable=!0,this.div.draggable=!1,this.editorDiv.addEventListener("keydown",this.#yt),this.editorDiv.addEventListener("focus",this.#At),this.editorDiv.addEventListener("blur",this.#_t))}disableEditMode(){this.isInEditMode()&&(this.parent.setEditingState(!0),super.disableEditMode(),this.disableEditing(),this.overlayDiv.classList.add("enabled"),this.editorDiv.contentEditable=!1,this.div.draggable=!0,this.editorDiv.removeEventListener("keydown",this.#yt),this.editorDiv.removeEventListener("focus",this.#At),this.editorDiv.removeEventListener("blur",this.#_t),this.div.focus(),this.isEditing=!1)}focusin(t){super.focusin(t),t.target!==this.editorDiv&&this.editorDiv.focus()}onceAdded(){this.width||(this.enableEditMode(),this.editorDiv.focus())}isEmpty(){return!this.editorDiv||""===this.editorDiv.innerText.trim()}remove(){this.isEditing=!1,this.parent.setEditingState(!0),super.remove()}#wt(){const t=this.editorDiv.getElementsByTagName("div");if(0===t.length)return this.editorDiv.innerText;const e=[];for(let s=0,i=t.length;s<i;s++){const i=t[s].firstChild;"#text"===i?.nodeName?e.push(i.data):e.push("")}return e.join("\n")}#Tt(){const[t,e]=this.parent.viewportBaseDimensions,s=this.div.getBoundingClientRect();this.width=s.width/t,this.height=s.height/e}commit(){super.commit(),this.#xt||(this.#xt=!0,this.parent.addUndoableEditor(this)),this.disableEditMode(),this.#St=this.#wt().trimEnd(),this.#Tt()}shouldGetKeyboardEvents(){return this.isInEditMode()}dblclick(t){this.enableEditMode(),this.editorDiv.focus()}keydown(t){t.target===this.div&&"Enter"===t.key&&(this.enableEditMode(),this.editorDiv.focus())}editorDivKeydown(t){a._keyboardManager.exec(this,t)}editorDivFocus(t){this.isEditing=!0}editorDivBlur(t){this.isEditing=!1}disableEditing(){this.editorDiv.setAttribute("role","comment"),this.editorDiv.removeAttribute("aria-multiline")}enableEditing(){this.editorDiv.setAttribute("role","textbox"),this.editorDiv.setAttribute("aria-multiline",!0)}render(){if(this.div)return this.div;let t,e;this.width&&(t=this.x,e=this.y),super.render(),this.editorDiv=document.createElement("div"),this.editorDiv.className="internal",this.editorDiv.setAttribute("id",`${this.id}-editor`),this.enableEditing(),a._l10nPromise.get("editor_free_text_aria_label").then(t=>this.editorDiv?.setAttribute("aria-label",t)),a._l10nPromise.get("free_text_default_content").then(t=>this.editorDiv?.setAttribute("default-content",t)),this.editorDiv.contentEditable=!0;const{style:s}=this.editorDiv;if(s.fontSize=`calc(${this.#Ct}px * var(--scale-factor))`,s.color=this.#vt,this.div.append(this.editorDiv),this.overlayDiv=document.createElement("div"),this.overlayDiv.classList.add("overlay","enabled"),this.div.append(this.overlayDiv),(0,n.bindEvents)(this,this.div,["dblclick","keydown"]),this.width){const[s,i]=this.parent.viewportBaseDimensions;this.setAt(t*s,e*i,this.width*s,this.height*i);for(const t of this.#St.split("\n")){const e=document.createElement("div");e.append(t?document.createTextNode(t):document.createElement("br")),this.editorDiv.append(e)}this.div.draggable=!0,this.editorDiv.contentEditable=!1}else this.div.draggable=!1,this.editorDiv.contentEditable=!0;return this.div}get contentDiv(){return this.editorDiv}static deserialize(t,e){const s=super.deserialize(t,e);return s.#Ct=t.fontSize,s.#vt=i.Util.makeHexColor(...t.color),s.#St=t.value,s}serialize(){if(this.isEmpty())return null;const t=a._internalPadding*this.parent.scaleFactor,e=this.getRect(t,t),s=r.AnnotationEditor._colorManager.convert(getComputedStyle(this.editorDiv).color);return{annotationType:i.AnnotationEditorType.FREETEXT,color:s,fontSize:this.#Ct,value:this.#St,pageIndex:this.parent.pageIndex,rect:e,rotation:this.rotation}}}e.FreeTextEditor=a},(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.InkEditor=void 0,Object.defineProperty(e,"fitCurve",{enumerable:!0,get:function(){return r.fitCurve}});var i=s(1),n=s(6),r=s(25),a=s(7);const o=16;class l extends n.AnnotationEditor{#kt=0;#Mt=0;#Ft=0;#Rt=this.canvasPointermove.bind(this);#Dt=this.canvasPointerleave.bind(this);#It=this.canvasPointerup.bind(this);#Ot=this.canvasPointerdown.bind(this);#Lt=!1;#Nt=!1;#jt=null;#Ut=null;#Bt=0;#qt=0;#Wt=null;static _defaultColor=null;static _defaultOpacity=1;static _defaultThickness=1;static _l10nPromise;static _type="ink";constructor(t){super({...t,name:"inkEditor"}),this.color=t.color||null,this.thickness=t.thickness||null,this.opacity=t.opacity||null,this.paths=[],this.bezierPath2D=[],this.currentPath=[],this.scaleFactor=1,this.translationX=this.translationY=0,this.x=0,this.y=0}static initialize(t){this._l10nPromise=new Map(["editor_ink_canvas_aria_label","editor_ink_aria_label"].map(e=>[e,t.get(e)]))}static updateDefaultParams(t,e){switch(t){case i.AnnotationEditorParamsType.INK_THICKNESS:l._defaultThickness=e;break;case i.AnnotationEditorParamsType.INK_COLOR:l._defaultColor=e;break;case i.AnnotationEditorParamsType.INK_OPACITY:l._defaultOpacity=e/100}}updateParams(t,e){switch(t){case i.AnnotationEditorParamsType.INK_THICKNESS:this.#zt(e);break;case i.AnnotationEditorParamsType.INK_COLOR:this.#Pt(e);break;case i.AnnotationEditorParamsType.INK_OPACITY:this.#Ht(e)}}static get defaultPropertiesToUpdate(){return[[i.AnnotationEditorParamsType.INK_THICKNESS,l._defaultThickness],[i.AnnotationEditorParamsType.INK_COLOR,l._defaultColor||n.AnnotationEditor._defaultLineColor],[i.AnnotationEditorParamsType.INK_OPACITY,Math.round(100*l._defaultOpacity)]]}get propertiesToUpdate(){return[[i.AnnotationEditorParamsType.INK_THICKNESS,this.thickness||l._defaultThickness],[i.AnnotationEditorParamsType.INK_COLOR,this.color||l._defaultColor||n.AnnotationEditor._defaultLineColor],[i.AnnotationEditorParamsType.INK_OPACITY,Math.round(100*(this.opacity??l._defaultOpacity))]]}#zt(t){const e=this.thickness;this.parent.addCommands({cmd:()=>{this.thickness=t,this.#Gt()},undo:()=>{this.thickness=e,this.#Gt()},mustExec:!0,type:i.AnnotationEditorParamsType.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0})}#Pt(t){const e=this.color;this.parent.addCommands({cmd:()=>{this.color=t,this.#$t()},undo:()=>{this.color=e,this.#$t()},mustExec:!0,type:i.AnnotationEditorParamsType.INK_COLOR,overwriteIfSameType:!0,keepUndo:!0})}#Ht(t){t/=100;const e=this.opacity;this.parent.addCommands({cmd:()=>{this.opacity=t,this.#$t()},undo:()=>{this.opacity=e,this.#$t()},mustExec:!0,type:i.AnnotationEditorParamsType.INK_OPACITY,overwriteIfSameType:!0,keepUndo:!0})}rebuild(){super.rebuild(),null!==this.div&&(this.canvas||(this.#Vt(),this.#Xt()),this.isAttachedToDOM||(this.parent.add(this),this.#Yt()),this.#Gt())}remove(){null!==this.canvas&&(this.isEmpty()||this.commit(),this.canvas.width=this.canvas.height=0,this.canvas.remove(),this.canvas=null,this.#Ut.disconnect(),this.#Ut=null,super.remove())}enableEditMode(){this.#Lt||null===this.canvas||(super.enableEditMode(),this.div.draggable=!1,this.canvas.addEventListener("pointerdown",this.#Ot),this.canvas.addEventListener("pointerup",this.#It))}disableEditMode(){this.isInEditMode()&&null!==this.canvas&&(super.disableEditMode(),this.div.draggable=!this.isEmpty(),this.div.classList.remove("editing"),this.canvas.removeEventListener("pointerdown",this.#Ot),this.canvas.removeEventListener("pointerup",this.#It))}onceAdded(){this.div.draggable=!this.isEmpty()}isEmpty(){return 0===this.paths.length||1===this.paths.length&&0===this.paths[0].length}#Kt(){const{width:t,height:e,rotation:s}=this.parent.viewport;switch(s){case 90:return[0,t,t,e];case 180:return[t,e,t,e];case 270:return[e,0,t,e];default:return[0,0,t,e]}}#Jt(){this.ctx.lineWidth=this.thickness*this.parent.scaleFactor/this.scaleFactor,this.ctx.lineCap="round",this.ctx.lineJoin="round",this.ctx.miterLimit=10,this.ctx.strokeStyle=`${this.color}${(0,a.opacityToHex)(this.opacity)}`}#Qt(t,e){this.isEditing=!0,this.#Nt||(this.#Nt=!0,this.#Yt(),this.thickness||=l._defaultThickness,this.color||=l._defaultColor||n.AnnotationEditor._defaultLineColor,this.opacity??=l._defaultOpacity),this.currentPath.push([t,e]),this.#jt=null,this.#Jt(),this.ctx.beginPath(),this.ctx.moveTo(t,e),this.#Wt=()=>{this.#Wt&&(this.#jt&&(this.isEmpty()?(this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.canvas.width,this.canvas.height)):this.#$t(),this.ctx.lineTo(...this.#jt),this.#jt=null,this.ctx.stroke()),window.requestAnimationFrame(this.#Wt))},window.requestAnimationFrame(this.#Wt)}#Zt(t,e){const[s,i]=this.currentPath.at(-1);t===s&&e===i||(this.currentPath.push([t,e]),this.#jt=[t,e])}#te(t,e){this.ctx.closePath(),this.#Wt=null,t=Math.min(Math.max(t,0),this.canvas.width),e=Math.min(Math.max(e,0),this.canvas.height);const[s,i]=this.currentPath.at(-1);let n;if(t===s&&e===i||this.currentPath.push([t,e]),1!==this.currentPath.length)n=(0,r.fitCurve)(this.currentPath,30,null);else{const s=[t,e];n=[[s,s.slice(),s.slice(),s]]}const a=l.#ee(n);this.currentPath.length=0,this.parent.addCommands({cmd:()=>{this.paths.push(n),this.bezierPath2D.push(a),this.rebuild()},undo:()=>{this.paths.pop(),this.bezierPath2D.pop(),0===this.paths.length?this.remove():(this.canvas||(this.#Vt(),this.#Xt()),this.#Gt())},mustExec:!0})}#$t(){if(this.isEmpty())return void this.#se();this.#Jt();const{canvas:t,ctx:e}=this;e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,t.width,t.height),this.#se();for(const s of this.bezierPath2D)e.stroke(s)}commit(){this.#Lt||(super.commit(),this.isEditing=!1,this.disableEditMode(),this.setInForeground(),this.#Lt=!0,this.div.classList.add("disabled"),this.#Gt(!0),this.parent.addInkEditorIfNeeded(!0),this.parent.moveEditorInDOM(this),this.div.focus())}focusin(t){super.focusin(t),this.enableEditMode()}canvasPointerdown(t){0===t.button&&this.isInEditMode()&&!this.#Lt&&(this.setInForeground(),"mouse"!==t.type&&this.div.focus(),t.stopPropagation(),this.canvas.addEventListener("pointerleave",this.#Dt),this.canvas.addEventListener("pointermove",this.#Rt),this.#Qt(t.offsetX,t.offsetY))}canvasPointermove(t){t.stopPropagation(),this.#Zt(t.offsetX,t.offsetY)}canvasPointerup(t){0===t.button&&this.isInEditMode()&&0!==this.currentPath.length&&(t.stopPropagation(),this.#ie(t),this.setInBackground())}canvasPointerleave(t){this.#ie(t),this.setInBackground()}#ie(t){this.#te(t.offsetX,t.offsetY),this.canvas.removeEventListener("pointerleave",this.#Dt),this.canvas.removeEventListener("pointermove",this.#Rt),this.parent.addToAnnotationStorage(this)}#Vt(){this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=0,this.canvas.className="inkEditorCanvas",l._l10nPromise.get("editor_ink_canvas_aria_label").then(t=>this.canvas?.setAttribute("aria-label",t)),this.div.append(this.canvas),this.ctx=this.canvas.getContext("2d")}#Xt(){this.#Ut=new ResizeObserver(t=>{const e=t[0].contentRect;e.width&&e.height&&this.setDimensions(e.width,e.height)}),this.#Ut.observe(this.div)}render(){if(this.div)return this.div;let t,e;this.width&&(t=this.x,e=this.y),super.render(),l._l10nPromise.get("editor_ink_aria_label").then(t=>this.div?.setAttribute("aria-label",t));const[s,i,n,r]=this.#Kt();if(this.setAt(s,i,0,0),this.setDims(n,r),this.#Vt(),this.width){const[s,i]=this.parent.viewportBaseDimensions;this.setAt(t*s,e*i,this.width*s,this.height*i),this.#Nt=!0,this.#Yt(),this.setDims(this.width*s,this.height*i),this.#$t(),this.#ne(),this.div.classList.add("disabled")}else this.div.classList.add("editing"),this.enableEditMode();return this.#Xt(),this.div}#Yt(){if(!this.#Nt)return;const[t,e]=this.parent.viewportBaseDimensions;this.canvas.width=Math.ceil(this.width*t),this.canvas.height=Math.ceil(this.height*e),this.#se()}setDimensions(t,e){const s=Math.round(t),i=Math.round(e);if(this.#Bt===s&&this.#qt===i)return;this.#Bt=s,this.#qt=i,this.canvas.style.visibility="hidden",this.#kt&&Math.abs(this.#kt-t/e)>.01&&(e=Math.ceil(t/this.#kt),this.setDims(t,e));const[n,r]=this.parent.viewportBaseDimensions;this.width=t/n,this.height=e/r,this.#Lt&&this.#re(t,e),this.#Yt(),this.#$t(),this.canvas.style.visibility="visible"}#re(t,e){const s=this.#ae(),i=(t-s)/this.#Ft,n=(e-s)/this.#Mt;this.scaleFactor=Math.min(i,n)}#se(){const t=this.#ae()/2;this.ctx.setTransform(this.scaleFactor,0,0,this.scaleFactor,this.translationX*this.scaleFactor+t,this.translationY*this.scaleFactor+t)}static#ee(t){const e=new Path2D;for(let s=0,i=t.length;s<i;s++){const[i,n,r,a]=t[s];0===s&&e.moveTo(...i),e.bezierCurveTo(n[0],n[1],r[0],r[1],a[0],a[1])}return e}#oe(t,e,s,i){const n=[],r=this.thickness/2;let a,o;for(const l of this.paths){a=[],o=[];for(let n=0,c=l.length;n<c;n++){const[c,h,d,u]=l[n],p=t*(c[0]+e)+r,g=i-t*(c[1]+s)-r,m=t*(h[0]+e)+r,f=i-t*(h[1]+s)-r,b=t*(d[0]+e)+r,_=i-t*(d[1]+s)-r,A=t*(u[0]+e)+r,y=i-t*(u[1]+s)-r;0===n&&(a.push(p,g),o.push(p,g)),a.push(m,f,b,_,A,y),this.#le(p,g,m,f,b,_,A,y,4,o)}n.push({bezier:a,points:o})}return n}#le(t,e,s,i,n,r,a,o,l,c){if(this.#ce(t,e,s,i,n,r,a,o))c.push(a,o);else{for(let h=1;h<l-1;h++){const d=h/l,u=1-d;let p=d*t+u*s,g=d*e+u*i,m=d*s+u*n,f=d*i+u*r;p=d*p+u*m,g=d*g+u*f,m=d*m+u*(d*n+u*a),f=d*f+u*(d*r+u*o),p=d*p+u*m,g=d*g+u*f,c.push(p,g)}c.push(a,o)}}#ce(t,e,s,i,n,r,a,o){const l=(3*s-2*t-a)**2,c=(3*i-2*e-o)**2,h=(3*n-t-2*a)**2,d=(3*r-e-2*o)**2;return Math.max(l,h)+Math.max(c,d)<=10}#he(){let t=1/0,e=-1/0,s=1/0,n=-1/0;for(const r of this.paths)for(const[a,o,l,c]of r){const r=i.Util.bezierBoundingBox(...a,...o,...l,...c);t=Math.min(t,r[0]),s=Math.min(s,r[1]),e=Math.max(e,r[2]),n=Math.max(n,r[3])}return[t,s,e,n]}#ae(){return this.#Lt?Math.ceil(this.thickness*this.parent.scaleFactor):0}#Gt(t=!1){if(this.isEmpty())return;if(!this.#Lt)return void this.#$t();const e=this.#he(),s=this.#ae();this.#Ft=Math.max(o,e[2]-e[0]),this.#Mt=Math.max(o,e[3]-e[1]);const i=Math.ceil(s+this.#Ft*this.scaleFactor),n=Math.ceil(s+this.#Mt*this.scaleFactor),[r,a]=this.parent.viewportBaseDimensions;this.width=i/r,this.height=n/a,this.#kt=i/n,this.#ne();const l=this.translationX,c=this.translationY;this.translationX=-e[0],this.translationY=-e[1],this.#Yt(),this.#$t(),this.#Bt=i,this.#qt=n,this.setDims(i,n);const h=t?s/this.scaleFactor/2:0;this.translate(l-this.translationX-h,c-this.translationY-h)}#ne(){const{style:t}=this.div;this.#kt>=1?(t.minHeight="16px",t.minWidth=`${Math.round(this.#kt*o)}px`):(t.minWidth="16px",t.minHeight=`${Math.round(o/this.#kt)}px`)}static deserialize(t,e){const s=super.deserialize(t,e);s.thickness=t.thickness,s.color=i.Util.makeHexColor(...t.color),s.opacity=t.opacity;const[n,r]=e.pageDimensions,a=s.width*n,l=s.height*r,c=e.scaleFactor,h=t.thickness/2;s.#kt=a/l,s.#Lt=!0,s.#Bt=Math.round(a),s.#qt=Math.round(l);for(const{bezier:i}of t.paths){const t=[];s.paths.push(t);let e=c*(i[0]-h),n=c*(l-i[1]-h);for(let s=2,a=i.length;s<a;s+=6){const r=c*(i[s]-h),a=c*(l-i[s+1]-h),o=c*(i[s+2]-h),d=c*(l-i[s+3]-h),u=c*(i[s+4]-h),p=c*(l-i[s+5]-h);t.push([[e,n],[r,a],[o,d],[u,p]]),e=u,n=p}const r=this.#ee(t);s.bezierPath2D.push(r)}const d=s.#he();return s.#Ft=Math.max(o,d[2]-d[0]),s.#Mt=Math.max(o,d[3]-d[1]),s.#re(a,l),s}serialize(){if(this.isEmpty())return null;const t=this.getRect(0,0),e=this.rotation%180==0?t[3]-t[1]:t[2]-t[0],s=n.AnnotationEditor._colorManager.convert(this.ctx.strokeStyle);return{annotationType:i.AnnotationEditorType.INK,color:s,thickness:this.thickness,opacity:this.opacity,paths:this.#oe(this.scaleFactor/this.parent.scaleFactor,this.translationX,this.translationY,e),pageIndex:this.parent.pageIndex,rect:t,rotation:this.rotation}}}e.InkEditor=l},(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.fitCurve=void 0;const i=s(26);e.fitCurve=i},t=>{function e(t,n,r,a,o){var c,h,d,u,p,g,m,f,b,_,A,y,v;if(2===t.length)return y=l.vectorLen(l.subtract(t[0],t[1]))/3,[c=[t[0],l.addArrays(t[0],l.mulItems(n,y)),l.addArrays(t[1],l.mulItems(r,y)),t[1]]];if(h=function(t){var e,s,i,n=[];return t.forEach((t,r)=>{e=r?s+l.vectorLen(l.subtract(t,i)):0,n.push(e),s=e,i=t}),n=n.map(t=>t/s)}(t),[c,u,g]=s(t,h,h,n,r,o),0===u||u<a)return[c];if(u<a*a)for(d=h,p=u,m=g,v=0;v<20;v++){if(d=i(c,t,d),[c,u,g]=s(t,h,d,n,r,o),u<a)return[c];if(g===m){let t=u/p;if(t>.9999&&t<1.0001)break}p=u,m=g}return A=[],(f=l.subtract(t[g-1],t[g+1])).every(t=>0===t)&&(f=l.subtract(t[g-1],t[g]),[f[0],f[1]]=[-f[1],f[0]]),b=l.normalize(f),_=l.mulItems(b,-1),A=(A=A.concat(e(t.slice(0,g+1),n,b,a,o))).concat(e(t.slice(g),_,r,a,o))}function s(t,e,s,i,n,o){var h,d,u;return h=function(t,e,s,i){var n,r,a,o,h,d,u,p,g,m,f,b,_,A,y,v,S,x=t[0],C=t[t.length-1];for(n=[x,null,null,C],r=l.zeros_Xx2x2(e.length),_=0,A=e.length;_<A;_++)S=1-(v=e[_]),(a=r[_])[0]=l.mulItems(s,3*v*(S*S)),a[1]=l.mulItems(i,3*S*(v*v));for(o=[[0,0],[0,0]],h=[0,0],_=0,A=t.length;_<A;_++)v=e[_],a=r[_],o[0][0]+=l.dot(a[0],a[0]),o[0][1]+=l.dot(a[0],a[1]),o[1][0]+=l.dot(a[0],a[1]),o[1][1]+=l.dot(a[1],a[1]),y=l.subtract(t[_],c.q([x,x,C,C],v)),h[0]+=l.dot(a[0],y),h[1]+=l.dot(a[1],y);return d=o[0][0]*o[1][1]-o[1][0]*o[0][1],u=o[0][0]*h[1]-o[1][0]*h[0],p=h[0]*o[1][1]-h[1]*o[0][1],g=0===d?0:p/d,m=0===d?0:u/d,b=l.vectorLen(l.subtract(x,C)),g<(f=1e-6*b)||m<f?(n[1]=l.addArrays(x,l.mulItems(s,b/3)),n[2]=l.addArrays(C,l.mulItems(i,b/3))):(n[1]=l.addArrays(x,l.mulItems(s,g)),n[2]=l.addArrays(C,l.mulItems(i,m))),n}(t,s,i,n),[d,u]=function(t,e,s){var i,n,o,h,d,u,p,g;n=0,o=Math.floor(t.length/2);const m=r(e,10);for(d=0,u=t.length;d<u;d++)p=t[d],g=a(0,s[d],m,10),(i=(h=l.subtract(c.q(e,g),p))[0]*h[0]+h[1]*h[1])>n&&(n=i,o=d);return[n,o]}(t,h,e),o&&o({bez:h,points:t,params:e,maxErr:d,maxPoint:u}),[h,d,u]}function i(t,e,s){return s.map((s,i)=>n(t,e[i],s))}function n(t,e,s){var i=l.subtract(c.q(t,s),e),n=c.qprime(t,s),r=l.mulMatrix(i,n),a=l.sum(l.squareItems(n))+2*l.mulMatrix(i,c.qprimeprime(t,s));return 0===a?s:s-r/a}var r=function(t,e){for(var s,i=[0],n=t[0],r=0,a=1;a<=e;a++)s=c.q(t,a/e),r+=l.vectorLen(l.subtract(s,n)),i.push(r),n=s;return i=i.map(t=>t/r)};function a(t,e,s,i){if(e<0)return 0;if(e>1)return 1;for(var n,r,a,o,l=1;l<=i;l++)if(e<=s[l]){a=(l-1)/i,r=l/i,o=(e-(n=s[l-1]))/(s[l]-n)*(r-a)+a;break}return o}function o(t,e){return l.normalize(l.subtract(t,e))}class l{static zeros_Xx2x2(t){for(var e=[];t--;)e.push([0,0]);return e}static mulItems(t,e){return t.map(t=>t*e)}static mulMatrix(t,e){return t.reduce((t,s,i)=>t+s*e[i],0)}static subtract(t,e){return t.map((t,s)=>t-e[s])}static addArrays(t,e){return t.map((t,s)=>t+e[s])}static addItems(t,e){return t.map(t=>t+e)}static sum(t){return t.reduce((t,e)=>t+e)}static dot(t,e){return l.mulMatrix(t,e)}static vectorLen(t){return Math.hypot(...t)}static divItems(t,e){return t.map(t=>t/e)}static squareItems(t){return t.map(t=>t*t)}static normalize(t){return this.divItems(t,this.vectorLen(t))}}class c{static q(t,e){var s=1-e,i=l.mulItems(t[0],s*s*s),n=l.mulItems(t[1],3*s*s*e),r=l.mulItems(t[2],3*s*e*e),a=l.mulItems(t[3],e*e*e);return l.addArrays(l.addArrays(i,n),l.addArrays(r,a))}static qprime(t,e){var s=1-e,i=l.mulItems(l.subtract(t[1],t[0]),3*s*s),n=l.mulItems(l.subtract(t[2],t[1]),6*s*e),r=l.mulItems(l.subtract(t[3],t[2]),3*e*e);return l.addArrays(l.addArrays(i,n),r)}static qprimeprime(t,e){return l.addArrays(l.mulItems(l.addArrays(l.subtract(t[2],l.mulItems(t[1],2)),t[0]),6*(1-e)),l.mulItems(l.addArrays(l.subtract(t[3],l.mulItems(t[2],2)),t[1]),6*e))}}t.exports=function(t,s,i){if(!Array.isArray(t))throw new TypeError("First argument should be an array");if(t.forEach(e=>{if(!Array.isArray(e)||e.some(t=>"number"!=typeof t)||e.length!==t[0].length)throw Error("Each point should be an array of numbers. Each point should have the same amount of numbers.")}),(t=t.filter((e,s)=>0===s||!e.every((e,i)=>e===t[s-1][i]))).length<2)return[];const n=t.length,r=o(t[1],t[0]),a=o(t[n-2],t[n-1]);return e(t,r,a,s,i)},t.exports.fitCubic=e,t.exports.createTangent=o},(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.AnnotationLayer=void 0;var i=s(1),n=s(8),r=s(5),a=s(28),o=s(29);const l=1e3,c=new WeakSet;function h(t){return{width:t[2]-t[0],height:t[3]-t[1]}}class d{static create(t){switch(t.data.annotationType){case i.AnnotationType.LINK:return new p(t);case i.AnnotationType.TEXT:return new g(t);case i.AnnotationType.WIDGET:switch(t.data.fieldType){case"Tx":return new f(t);case"Btn":return t.data.radioButton?new _(t):t.data.checkBox?new b(t):new A(t);case"Ch":return new y(t)}return new m(t);case i.AnnotationType.POPUP:return new v(t);case i.AnnotationType.FREETEXT:return new x(t);case i.AnnotationType.LINE:return new C(t);case i.AnnotationType.SQUARE:return new E(t);case i.AnnotationType.CIRCLE:return new P(t);case i.AnnotationType.POLYLINE:return new T(t);case i.AnnotationType.CARET:return new k(t);case i.AnnotationType.INK:return new M(t);case i.AnnotationType.POLYGON:return new w(t);case i.AnnotationType.HIGHLIGHT:return new F(t);case i.AnnotationType.UNDERLINE:return new R(t);case i.AnnotationType.SQUIGGLY:return new D(t);case i.AnnotationType.STRIKEOUT:return new I(t);case i.AnnotationType.STAMP:return new O(t);case i.AnnotationType.FILEATTACHMENT:return new L(t);default:return new u(t)}}}class u{constructor(t,{isRenderable:e=!1,ignoreBorder:s=!1,createQuadrilaterals:i=!1}={}){this.isRenderable=e,this.data=t.data,this.layer=t.layer,this.page=t.page,this.viewport=t.viewport,this.linkService=t.linkService,this.downloadManager=t.downloadManager,this.imageResourcesPath=t.imageResourcesPath,this.renderForms=t.renderForms,this.svgFactory=t.svgFactory,this.annotationStorage=t.annotationStorage,this.enableScripting=t.enableScripting,this.hasJSActions=t.hasJSActions,this._fieldObjects=t.fieldObjects,this._mouseState=t.mouseState,e&&(this.container=this._createContainer(s)),i&&(this.quadrilaterals=this._createQuadrilaterals(s))}_createContainer(t=!1){const e=this.data,s=this.page,n=this.viewport,r=document.createElement("section"),{width:a,height:o}=h(e.rect),[l,c,d,u]=n.viewBox,p=d-l,g=u-c;r.setAttribute("data-annotation-id",e.id);const m=i.Util.normalizeRect([e.rect[0],s.view[3]-e.rect[1]+s.view[1],e.rect[2],s.view[3]-e.rect[3]+s.view[1]]);if(!t&&e.borderStyle.width>0){r.style.borderWidth=`${e.borderStyle.width}px`;const t=e.borderStyle.horizontalCornerRadius,s=e.borderStyle.verticalCornerRadius;if(t>0||s>0){const e=`calc(${t}px * var(--scale-factor)) / calc(${s}px * var(--scale-factor))`;r.style.borderRadius=e}else if(this instanceof _){const t=`calc(${a}px * var(--scale-factor)) / calc(${o}px * var(--scale-factor))`;r.style.borderRadius=t}switch(e.borderStyle.style){case i.AnnotationBorderStyleType.SOLID:r.style.borderStyle="solid";break;case i.AnnotationBorderStyleType.DASHED:r.style.borderStyle="dashed";break;case i.AnnotationBorderStyleType.BEVELED:(0,i.warn)("Unimplemented border style: beveled");break;case i.AnnotationBorderStyleType.INSET:(0,i.warn)("Unimplemented border style: inset");break;case i.AnnotationBorderStyleType.UNDERLINE:r.style.borderBottomStyle="solid"}const n=e.borderColor||null;n?r.style.borderColor=i.Util.makeHexColor(0|n[0],0|n[1],0|n[2]):r.style.borderWidth=0}r.style.left=100*(m[0]-l)/p+"%",r.style.top=100*(m[1]-c)/g+"%";const{rotation:f}=e;return e.hasOwnCanvas||0===f?(r.style.width=100*a/p+"%",r.style.height=100*o/g+"%"):this.setRotation(f,r),r}setRotation(t,e=this.container){const[s,i,n,r]=this.viewport.viewBox,a=n-s,o=r-i,{width:l,height:c}=h(this.data.rect);let d,u;t%180==0?(d=100*l/a,u=100*c/o):(d=100*c/a,u=100*l/o),e.style.width=`${d}%`,e.style.height=`${u}%`,e.setAttribute("data-main-rotation",(360-t)%360)}get _commonActions(){const t=(t,e,s)=>{const i=s.detail[t];s.target.style[e]=a.ColorConverters[`${i[0]}_HTML`](i.slice(1))};return(0,i.shadow)(this,"_commonActions",{display:t=>{const e=t.detail.display%2==1;this.container.style.visibility=e?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{hidden:e,print:0===t.detail.display||3===t.detail.display})},print:t=>{this.annotationStorage.setValue(this.data.id,{print:t.detail.print})},hidden:t=>{this.container.style.visibility=t.detail.hidden?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{hidden:t.detail.hidden})},focus:t=>{setTimeout(()=>t.target.focus({preventScroll:!1}),0)},userName:t=>{t.target.title=t.detail.userName},readonly:t=>{t.detail.readonly?t.target.setAttribute("readonly",""):t.target.removeAttribute("readonly")},required:t=>{this._setRequired(t.target,t.detail.required)},bgColor:e=>{t("bgColor","backgroundColor",e)},fillColor:e=>{t("fillColor","backgroundColor",e)},fgColor:e=>{t("fgColor","color",e)},textColor:e=>{t("textColor","color",e)},borderColor:e=>{t("borderColor","borderColor",e)},strokeColor:e=>{t("strokeColor","borderColor",e)},rotation:t=>{const e=t.detail.rotation;this.setRotation(e),this.annotationStorage.setValue(this.data.id,{rotation:e})}})}_dispatchEventFromSandbox(t,e){const s=this._commonActions;for(const i of Object.keys(e.detail)){const n=t[i]||s[i];n&&n(e)}}_setDefaultPropertiesFromJS(t){if(!this.enableScripting)return;const e=this.annotationStorage.getRawValue(this.data.id);if(!e)return;const s=this._commonActions;for(const[i,n]of Object.entries(e)){const r=s[i];r&&(r({detail:{[i]:n},target:t}),delete e[i])}}_createQuadrilaterals(t=!1){if(!this.data.quadPoints)return null;const e=[],s=this.data.rect;for(const i of this.data.quadPoints)this.data.rect=[i[2].x,i[2].y,i[1].x,i[1].y],e.push(this._createContainer(t));return this.data.rect=s,e}_createPopup(t,e){let s=this.container;this.quadrilaterals&&(t=t||this.quadrilaterals,s=this.quadrilaterals[0]),t||((t=document.createElement("div")).className="popupTriggerArea",s.append(t));const i=new S({container:s,trigger:t,color:e.color,titleObj:e.titleObj,modificationDate:e.modificationDate,contentsObj:e.contentsObj,richText:e.richText,hideWrapper:!0}).render();i.style.left="100%",s.append(i)}_renderQuadrilaterals(t){for(const e of this.quadrilaterals)e.className=t;return this.quadrilaterals}render(){(0,i.unreachable)("Abstract method `AnnotationElement.render` called")}_getElementsByName(t,e=null){const s=[];if(this._fieldObjects){const n=this._fieldObjects[t];if(n)for(const{page:t,id:r,exportValues:a}of n){if(-1===t)continue;if(r===e)continue;const n="string"==typeof a?a:null,o=document.querySelector(`[data-element-id="${r}"]`);!o||c.has(o)?s.push({id:r,exportValue:n,domElement:o}):(0,i.warn)(`_getElementsByName - element not allowed: ${r}`)}return s}for(const i of document.getElementsByName(t)){const{id:t,exportValue:n}=i;t!==e&&c.has(i)&&s.push({id:t,exportValue:n,domElement:i})}return s}static get platform(){const t="undefined"!=typeof navigator?navigator.platform:"";return(0,i.shadow)(this,"platform",{isWin:t.includes("Win"),isMac:t.includes("Mac")})}}class p extends u{constructor(t,e=null){super(t,{isRenderable:!0,ignoreBorder:!!e?.ignoreBorder,createQuadrilaterals:!0}),this.isTooltipOnly=t.data.isTooltipOnly}render(){const{data:t,linkService:e}=this,s=document.createElement("a");s.setAttribute("data-element-id",t.id);let i=!1;return t.url?(e.addLinkAttributes(s,t.url,t.newWindow),i=!0):t.action?(this._bindNamedAction(s,t.action),i=!0):t.dest?(this._bindLink(s,t.dest),i=!0):(t.actions&&(t.actions.Action||t.actions["Mouse Up"]||t.actions["Mouse Down"])&&this.enableScripting&&this.hasJSActions&&(this._bindJSAction(s,t),i=!0),t.resetForm?(this._bindResetFormAction(s,t.resetForm),i=!0):this.isTooltipOnly&&!i&&(this._bindLink(s,""),i=!0)),this.quadrilaterals?this._renderQuadrilaterals("linkAnnotation").map((t,e)=>{const i=0===e?s:s.cloneNode();return t.append(i),t}):(this.container.className="linkAnnotation",i&&this.container.append(s),this.container)}_bindLink(t,e){t.href=this.linkService.getDestinationHash(e),t.onclick=()=>(e&&this.linkService.goToDestination(e),!1),(e||""===e)&&(t.className="internalLink")}_bindNamedAction(t,e){t.href=this.linkService.getAnchorUrl(""),t.onclick=()=>(this.linkService.executeNamedAction(e),!1),t.className="internalLink"}_bindJSAction(t,e){t.href=this.linkService.getAnchorUrl("");const s=new Map([["Action","onclick"],["Mouse Up","onmouseup"],["Mouse Down","onmousedown"]]);for(const i of Object.keys(e.actions)){const n=s.get(i);n&&(t[n]=()=>(this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e.id,name:i}}),!1))}t.onclick||(t.onclick=()=>!1),t.className="internalLink"}_bindResetFormAction(t,e){const s=t.onclick;if(s||(t.href=this.linkService.getAnchorUrl("")),t.className="internalLink",!this._fieldObjects)return(0,i.warn)('_bindResetFormAction - "resetForm" action not supported, ensure that the `fieldObjects` parameter is provided.'),void(s||(t.onclick=()=>!1));t.onclick=()=>{s&&s();const{fields:t,refs:n,include:r}=e,a=[];if(0!==t.length||0!==n.length){const e=new Set(n);for(const s of t){const t=this._fieldObjects[s]||[];for(const{id:s}of t)e.add(s)}for(const t of Object.values(this._fieldObjects))for(const s of t)e.has(s.id)===r&&a.push(s)}else for(const e of Object.values(this._fieldObjects))a.push(...e);const o=this.annotationStorage,l=[];for(const e of a){const{id:t}=e;switch(l.push(t),e.type){case"text":{const s=e.defaultValue||"";o.setValue(t,{value:s});break}case"checkbox":case"radiobutton":{const s=e.defaultValue===e.exportValues;o.setValue(t,{value:s});break}case"combobox":case"listbox":{const s=e.defaultValue||"";o.setValue(t,{value:s});break}default:continue}const s=document.querySelector(`[data-element-id="${t}"]`);s&&(c.has(s)?s.dispatchEvent(new Event("resetform")):(0,i.warn)(`_bindResetFormAction - element not allowed: ${t}`))}return this.enableScripting&&this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:"app",ids:l,name:"ResetForm"}}),!1}}}class g extends u{constructor(t){super(t,{isRenderable:!!(t.data.hasPopup||t.data.titleObj?.str||t.data.contentsObj?.str||t.data.richText?.str)})}render(){this.container.className="textAnnotation";const t=document.createElement("img");return t.src=this.imageResourcesPath+"annotation-"+this.data.name.toLowerCase()+".svg",t.alt="[{{type}} Annotation]",t.dataset.l10nId="text_annotation_type",t.dataset.l10nArgs=JSON.stringify({type:this.data.name}),this.data.hasPopup||this._createPopup(t,this.data),this.container.append(t),this.container}}class m extends u{render(){return this.data.alternativeText&&(this.container.title=this.data.alternativeText),this.container}_getKeyModifier(t){const{isWin:e,isMac:s}=u.platform;return e&&t.ctrlKey||s&&t.metaKey}_setEventListener(t,e,s,i){e.includes("mouse")?t.addEventListener(e,t=>{this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:s,value:i(t),shift:t.shiftKey,modifier:this._getKeyModifier(t)}})}):t.addEventListener(e,t=>{this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:s,value:i(t)}})})}_setEventListeners(t,e,s){for(const[i,n]of e)("Action"===n||this.data.actions?.[n])&&this._setEventListener(t,i,n,s)}_setBackgroundColor(t){const e=this.data.backgroundColor||null;t.style.backgroundColor=null===e?"transparent":i.Util.makeHexColor(e[0],e[1],e[2])}_setTextStyle(t){const e=["left","center","right"],{fontColor:s}=this.data.defaultAppearanceData,n=this.data.defaultAppearanceData.fontSize||9,r=t.style;let a;if(this.data.multiLine){const t=Math.abs(this.data.rect[3]-this.data.rect[1]),e=t/(Math.round(t/(i.LINE_FACTOR*n))||1);a=Math.min(n,Math.round(e/i.LINE_FACTOR))}else{const t=Math.abs(this.data.rect[3]-this.data.rect[1]);a=Math.min(n,Math.round(t/i.LINE_FACTOR))}r.fontSize=`calc(${a}px * var(--scale-factor))`,r.color=i.Util.makeHexColor(s[0],s[1],s[2]),null!==this.data.textAlignment&&(r.textAlign=e[this.data.textAlignment])}_setRequired(t,e){e?t.setAttribute("required",!0):t.removeAttribute("required"),t.setAttribute("aria-required",e)}}class f extends m{constructor(t){super(t,{isRenderable:t.renderForms||!t.data.hasAppearance&&!!t.data.fieldValue})}setPropertyOnSiblings(t,e,s,i){const n=this.annotationStorage;for(const r of this._getElementsByName(t.name,t.id))r.domElement&&(r.domElement[e]=s),n.setValue(r.id,{[i]:s})}render(){const t=this.annotationStorage,e=this.data.id;this.container.className="textWidgetAnnotation";let s=null;if(this.renderForms){const i=t.getValue(e,{value:this.data.fieldValue});let n=i.formattedValue||i.value||"";const r=t.getValue(e,{charLimit:this.data.maxLen}).charLimit;r&&n.length>r&&(n=n.slice(0,r));const a={userValue:n,formattedValue:null,valueOnFocus:""};this.data.multiLine?(s=document.createElement("textarea"),s.textContent=n,this.data.doNotScroll&&(s.style.overflowY="hidden")):(s=document.createElement("input"),s.type="text",s.setAttribute("value",n),this.data.doNotScroll&&(s.style.overflowX="hidden")),c.add(s),s.setAttribute("data-element-id",e),s.disabled=this.data.readOnly,s.name=this.data.fieldName,s.tabIndex=l,this._setRequired(s,this.data.required),r&&(s.maxLength=r),s.addEventListener("input",i=>{t.setValue(e,{value:i.target.value}),this.setPropertyOnSiblings(s,"value",i.target.value,"value")}),s.addEventListener("resetform",t=>{const e=this.data.defaultFieldValue??"";s.value=a.userValue=e,a.formattedValue=null});let o=t=>{const{formattedValue:e}=a;null!=e&&(t.target.value=e),t.target.scrollLeft=0};if(this.enableScripting&&this.hasJSActions){s.addEventListener("focus",t=>{a.userValue&&(t.target.value=a.userValue),a.valueOnFocus=t.target.value}),s.addEventListener("updatefromsandbox",s=>{const i={value(s){a.userValue=s.detail.value??"",t.setValue(e,{value:a.userValue.toString()}),s.target.value=a.userValue},formattedValue(s){const{formattedValue:i}=s.detail;a.formattedValue=i,null!=i&&s.target!==document.activeElement&&(s.target.value=i),t.setValue(e,{formattedValue:i})},selRange(t){t.target.setSelectionRange(...t.detail.selRange)},charLimit:s=>{const{charLimit:i}=s.detail,{target:n}=s;if(0===i)return void n.removeAttribute("maxLength");n.setAttribute("maxLength",i);let r=a.userValue;!r||r.length<=i||(r=r.slice(0,i),n.value=a.userValue=r,t.setValue(e,{value:r}),this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:r,willCommit:!0,commitKey:1,selStart:n.selectionStart,selEnd:n.selectionEnd}}))}};this._dispatchEventFromSandbox(i,s)}),s.addEventListener("keydown",t=>{let s=-1;if("Escape"===t.key?s=0:"Enter"===t.key?s=2:"Tab"===t.key&&(s=3),-1===s)return;const{value:i}=t.target;a.valueOnFocus!==i&&(a.userValue=i,this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:i,willCommit:!0,commitKey:s,selStart:t.target.selectionStart,selEnd:t.target.selectionEnd}}))});const i=o;o=null,s.addEventListener("blur",t=>{const{value:s}=t.target;a.userValue=s,this._mouseState.isDown&&a.valueOnFocus!==s&&this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:s,willCommit:!0,commitKey:1,selStart:t.target.selectionStart,selEnd:t.target.selectionEnd}}),i(t)}),this.data.actions?.Keystroke&&s.addEventListener("beforeinput",t=>{const{data:s,target:i}=t,{value:n,selectionStart:r,selectionEnd:a}=i;let o=r,l=a;switch(t.inputType){case"deleteWordBackward":{const t=n.substring(0,r).match(/\w*[^\w]*$/);t&&(o-=t[0].length);break}case"deleteWordForward":{const t=n.substring(r).match(/^[^\w]*\w*/);t&&(l+=t[0].length);break}case"deleteContentBackward":r===a&&(o-=1);break;case"deleteContentForward":r===a&&(l+=1)}t.preventDefault(),this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:n,change:s||"",willCommit:!1,selStart:o,selEnd:l}})}),this._setEventListeners(s,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],t=>t.target.value)}if(o&&s.addEventListener("blur",o),this.data.comb){const t=(this.data.rect[2]-this.data.rect[0])/r;s.classList.add("comb"),s.style.letterSpacing=`calc(${t}px * var(--scale-factor) - 1ch)`}}else s=document.createElement("div"),s.textContent=this.data.fieldValue,s.style.verticalAlign="middle",s.style.display="table-cell";return this._setTextStyle(s),this._setBackgroundColor(s),this._setDefaultPropertiesFromJS(s),this.container.append(s),this.container}}class b extends m{constructor(t){super(t,{isRenderable:t.renderForms})}render(){const t=this.annotationStorage,e=this.data,s=e.id;let i=t.getValue(s,{value:e.exportValue===e.fieldValue}).value;"string"==typeof i&&(i="Off"!==i,t.setValue(s,{value:i})),this.container.className="buttonWidgetAnnotation checkBox";const n=document.createElement("input");return c.add(n),n.setAttribute("data-element-id",s),n.disabled=e.readOnly,this._setRequired(n,this.data.required),n.type="checkbox",n.name=e.fieldName,i&&n.setAttribute("checked",!0),n.setAttribute("exportValue",e.exportValue),n.tabIndex=l,n.addEventListener("change",i=>{const{name:n,checked:r}=i.target;for(const a of this._getElementsByName(n,s)){const s=r&&a.exportValue===e.exportValue;a.domElement&&(a.domElement.checked=s),t.setValue(a.id,{value:s})}t.setValue(s,{value:r})}),n.addEventListener("resetform",t=>{const s=e.defaultFieldValue||"Off";t.target.checked=s===e.exportValue}),this.enableScripting&&this.hasJSActions&&(n.addEventListener("updatefromsandbox",e=>{const i={value(e){e.target.checked="Off"!==e.detail.value,t.setValue(s,{value:e.target.checked})}};this._dispatchEventFromSandbox(i,e)}),this._setEventListeners(n,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],t=>t.target.checked)),this._setBackgroundColor(n),this._setDefaultPropertiesFromJS(n),this.container.append(n),this.container}}class _ extends m{constructor(t){super(t,{isRenderable:t.renderForms})}render(){this.container.className="buttonWidgetAnnotation radioButton";const t=this.annotationStorage,e=this.data,s=e.id;let i=t.getValue(s,{value:e.fieldValue===e.buttonValue}).value;"string"==typeof i&&(i=i!==e.buttonValue,t.setValue(s,{value:i}));const n=document.createElement("input");if(c.add(n),n.setAttribute("data-element-id",s),n.disabled=e.readOnly,this._setRequired(n,this.data.required),n.type="radio",n.name=e.fieldName,i&&n.setAttribute("checked",!0),n.tabIndex=l,n.addEventListener("change",e=>{const{name:i,checked:n}=e.target;for(const r of this._getElementsByName(i,s))t.setValue(r.id,{value:!1});t.setValue(s,{value:n})}),n.addEventListener("resetform",t=>{const s=e.defaultFieldValue;t.target.checked=null!=s&&s===e.buttonValue}),this.enableScripting&&this.hasJSActions){const i=e.buttonValue;n.addEventListener("updatefromsandbox",e=>{const n={value:e=>{const n=i===e.detail.value;for(const i of this._getElementsByName(e.target.name)){const e=n&&i.id===s;i.domElement&&(i.domElement.checked=e),t.setValue(i.id,{value:e})}}};this._dispatchEventFromSandbox(n,e)}),this._setEventListeners(n,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],t=>t.target.checked)}return this._setBackgroundColor(n),this._setDefaultPropertiesFromJS(n),this.container.append(n),this.container}}class A extends p{constructor(t){super(t,{ignoreBorder:t.data.hasAppearance})}render(){const t=super.render();t.className="buttonWidgetAnnotation pushButton",this.data.alternativeText&&(t.title=this.data.alternativeText);const e=t.lastChild;return this.enableScripting&&this.hasJSActions&&e&&(this._setDefaultPropertiesFromJS(e),e.addEventListener("updatefromsandbox",t=>{this._dispatchEventFromSandbox({},t)})),t}}class y extends m{constructor(t){super(t,{isRenderable:t.renderForms})}render(){this.container.className="choiceWidgetAnnotation";const t=this.annotationStorage,e=this.data.id,s=t.getValue(e,{value:this.data.fieldValue}),i=document.createElement("select");c.add(i),i.setAttribute("data-element-id",e),i.disabled=this.data.readOnly,this._setRequired(i,this.data.required),i.name=this.data.fieldName,i.tabIndex=l;let n=this.data.combo&&this.data.options.length>0;this.data.combo||(i.size=this.data.options.length,this.data.multiSelect&&(i.multiple=!0)),i.addEventListener("resetform",t=>{const e=this.data.defaultFieldValue;for(const s of i.options)s.selected=s.value===e});for(const l of this.data.options){const t=document.createElement("option");t.textContent=l.displayValue,t.value=l.exportValue,s.value.includes(l.exportValue)&&(t.setAttribute("selected",!0),n=!1),i.append(t)}let r=null;if(n){const t=document.createElement("option");t.value=" ",t.setAttribute("hidden",!0),t.setAttribute("selected",!0),i.prepend(t),r=()=>{t.remove(),i.removeEventListener("input",r),r=null},i.addEventListener("input",r)}const a=(t,e)=>{const s=e?"value":"textContent",i=t.target.options;return t.target.multiple?Array.prototype.filter.call(i,t=>t.selected).map(t=>t[s]):-1===i.selectedIndex?null:i[i.selectedIndex][s]},o=t=>{const e=t.target.options;return Array.prototype.map.call(e,t=>({displayValue:t.textContent,exportValue:t.value}))};return this.enableScripting&&this.hasJSActions?(i.addEventListener("updatefromsandbox",s=>{const n={value(s){r?.();const n=s.detail.value,o=new Set(Array.isArray(n)?n:[n]);for(const t of i.options)t.selected=o.has(t.value);t.setValue(e,{value:a(s,!0)})},multipleSelection(t){i.multiple=!0},remove(s){const n=i.options,r=s.detail.remove;n[r].selected=!1,i.remove(r),n.length>0&&-1===Array.prototype.findIndex.call(n,t=>t.selected)&&(n[0].selected=!0),t.setValue(e,{value:a(s,!0),items:o(s)})},clear(s){for(;0!==i.length;)i.remove(0);t.setValue(e,{value:null,items:[]})},insert(s){const{index:n,displayValue:r,exportValue:l}=s.detail.insert,c=i.children[n],h=document.createElement("option");h.textContent=r,h.value=l,c?c.before(h):i.append(h),t.setValue(e,{value:a(s,!0),items:o(s)})},items(s){const{items:n}=s.detail;for(;0!==i.length;)i.remove(0);for(const t of n){const{displayValue:e,exportValue:s}=t,n=document.createElement("option");n.textContent=e,n.value=s,i.append(n)}i.options.length>0&&(i.options[0].selected=!0),t.setValue(e,{value:a(s,!0),items:o(s)})},indices(s){const i=new Set(s.detail.indices);for(const t of s.target.options)t.selected=i.has(t.index);t.setValue(e,{value:a(s,!0)})},editable(t){t.target.disabled=!t.detail.editable}};this._dispatchEventFromSandbox(n,s)}),i.addEventListener("input",s=>{const i=a(s,!0),n=a(s,!1);t.setValue(e,{value:i}),this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:n,changeEx:i,willCommit:!0,commitKey:1,keyDown:!1}})}),this._setEventListeners(i,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"],["input","Action"]],t=>t.target.checked)):i.addEventListener("input",function(s){t.setValue(e,{value:a(s,!0)})}),this.data.combo&&this._setTextStyle(i),this._setBackgroundColor(i),this._setDefaultPropertiesFromJS(i),this.container.append(i),this.container}}class v extends u{constructor(t){super(t,{isRenderable:!!(t.data.titleObj?.str||t.data.contentsObj?.str||t.data.richText?.str)})}render(){if(this.container.className="popupAnnotation",["Line","Square","Circle","PolyLine","Polygon","Ink"].includes(this.data.parentType))return this.container;const t=`[data-annotation-id="${this.data.parentId}"]`,e=this.layer.querySelectorAll(t);if(0===e.length)return this.container;const s=new S({container:this.container,trigger:Array.from(e),color:this.data.color,titleObj:this.data.titleObj,modificationDate:this.data.modificationDate,contentsObj:this.data.contentsObj,richText:this.data.richText}),n=this.page,r=i.Util.normalizeRect([this.data.parentRect[0],n.view[3]-this.data.parentRect[1]+n.view[1],this.data.parentRect[2],n.view[3]-this.data.parentRect[3]+n.view[1]]),a=r[0]+this.data.parentRect[2]-this.data.parentRect[0],o=r[1],[l,c,h,d]=this.viewport.viewBox,u=h-l,p=d-c;return this.container.style.left=100*(a-l)/u+"%",this.container.style.top=100*(o-c)/p+"%",this.container.append(s.render()),this.container}}class S{constructor(t){this.container=t.container,this.trigger=t.trigger,this.color=t.color,this.titleObj=t.titleObj,this.modificationDate=t.modificationDate,this.contentsObj=t.contentsObj,this.richText=t.richText,this.hideWrapper=t.hideWrapper||!1,this.pinned=!1}render(){const t=document.createElement("div");t.className="popupWrapper",this.hideElement=this.hideWrapper?t:this.container,this.hideElement.hidden=!0;const e=document.createElement("div");e.className="popup";const s=this.color;if(s){const t=.7*(255-s[0])+s[0],n=.7*(255-s[1])+s[1],r=.7*(255-s[2])+s[2];e.style.backgroundColor=i.Util.makeHexColor(0|t,0|n,0|r)}const r=document.createElement("h1");r.dir=this.titleObj.dir,r.textContent=this.titleObj.str,e.append(r);const a=n.PDFDateString.toDateObject(this.modificationDate);if(a){const t=document.createElement("span");t.className="popupDate",t.textContent="{{date}}, {{time}}",t.dataset.l10nId="annotation_date_string",t.dataset.l10nArgs=JSON.stringify({date:a.toLocaleDateString(),time:a.toLocaleTimeString()}),e.append(t)}if(!this.richText?.str||this.contentsObj?.str&&this.contentsObj.str!==this.richText.str){const t=this._formatContents(this.contentsObj);e.append(t)}else o.XfaLayer.render({xfaHtml:this.richText.html,intent:"richText",div:e}),e.lastChild.className="richText popupContent";Array.isArray(this.trigger)||(this.trigger=[this.trigger]);for(const i of this.trigger)i.addEventListener("click",this._toggle.bind(this)),i.addEventListener("mouseover",this._show.bind(this,!1)),i.addEventListener("mouseout",this._hide.bind(this,!1));return e.addEventListener("click",this._hide.bind(this,!0)),t.append(e),t}_formatContents({str:t,dir:e}){const s=document.createElement("p");s.className="popupContent",s.dir=e;const i=t.split(/(?:\r\n?|\n)/);for(let n=0,r=i.length;n<r;++n){const t=i[n];s.append(document.createTextNode(t)),n<r-1&&s.append(document.createElement("br"))}return s}_toggle(){this.pinned?this._hide(!0):this._show(!0)}_show(t=!1){t&&(this.pinned=!0),this.hideElement.hidden&&(this.hideElement.hidden=!1,this.container.style.zIndex=parseInt(this.container.style.zIndex)+1e3)}_hide(t=!0){t&&(this.pinned=!1),this.hideElement.hidden||this.pinned||(this.hideElement.hidden=!0,this.container.style.zIndex=parseInt(this.container.style.zIndex)-1e3)}}class x extends u{constructor(t){super(t,{isRenderable:!!(t.data.hasPopup||t.data.titleObj?.str||t.data.contentsObj?.str||t.data.richText?.str),ignoreBorder:!0}),this.textContent=t.data.textContent}render(){if(this.container.className="freeTextAnnotation",this.textContent){const t=document.createElement("div");t.className="annotationTextContent",t.setAttribute("role","comment");for(const e of this.textContent){const s=document.createElement("span");s.textContent=e,t.append(s)}this.container.append(t)}return this.data.hasPopup||this._createPopup(null,this.data),this.container}}class C extends u{constructor(t){super(t,{isRenderable:!!(t.data.hasPopup||t.data.titleObj?.str||t.data.contentsObj?.str||t.data.richText?.str),ignoreBorder:!0})}render(){this.container.className="lineAnnotation";const t=this.data,{width:e,height:s}=h(t.rect),i=this.svgFactory.create(e,s,!0),n=this.svgFactory.createElement("svg:line");return n.setAttribute("x1",t.rect[2]-t.lineCoordinates[0]),n.setAttribute("y1",t.rect[3]-t.lineCoordinates[1]),n.setAttribute("x2",t.rect[2]-t.lineCoordinates[2]),n.setAttribute("y2",t.rect[3]-t.lineCoordinates[3]),n.setAttribute("stroke-width",t.borderStyle.width||1),n.setAttribute("stroke","transparent"),n.setAttribute("fill","transparent"),i.append(n),this.container.append(i),this._createPopup(n,t),this.container}}class E extends u{constructor(t){super(t,{isRenderable:!!(t.data.hasPopup||t.data.titleObj?.str||t.data.contentsObj?.str||t.data.richText?.str),ignoreBorder:!0})}render(){this.container.className="squareAnnotation";const t=this.data,{width:e,height:s}=h(t.rect),i=this.svgFactory.create(e,s,!0),n=t.borderStyle.width,r=this.svgFactory.createElement("svg:rect");return r.setAttribute("x",n/2),r.setAttribute("y",n/2),r.setAttribute("width",e-n),r.setAttribute("height",s-n),r.setAttribute("stroke-width",n||1),r.setAttribute("stroke","transparent"),r.setAttribute("fill","transparent"),i.append(r),this.container.append(i),this._createPopup(r,t),this.container}}class P extends u{constructor(t){super(t,{isRenderable:!!(t.data.hasPopup||t.data.titleObj?.str||t.data.contentsObj?.str||t.data.richText?.str),ignoreBorder:!0})}render(){this.container.className="circleAnnotation";const t=this.data,{width:e,height:s}=h(t.rect),i=this.svgFactory.create(e,s,!0),n=t.borderStyle.width,r=this.svgFactory.createElement("svg:ellipse");return r.setAttribute("cx",e/2),r.setAttribute("cy",s/2),r.setAttribute("rx",e/2-n/2),r.setAttribute("ry",s/2-n/2),r.setAttribute("stroke-width",n||1),r.setAttribute("stroke","transparent"),r.setAttribute("fill","transparent"),i.append(r),this.container.append(i),this._createPopup(r,t),this.container}}class T extends u{constructor(t){super(t,{isRenderable:!!(t.data.hasPopup||t.data.titleObj?.str||t.data.contentsObj?.str||t.data.richText?.str),ignoreBorder:!0}),this.containerClassName="polylineAnnotation",this.svgElementName="svg:polyline"}render(){this.container.className=this.containerClassName;const t=this.data,{width:e,height:s}=h(t.rect),i=this.svgFactory.create(e,s,!0);let n=[];for(const a of t.vertices){const e=a.x-t.rect[0],s=t.rect[3]-a.y;n.push(e+","+s)}n=n.join(" ");const r=this.svgFactory.createElement(this.svgElementName);return r.setAttribute("points",n),r.setAttribute("stroke-width",t.borderStyle.width||1),r.setAttribute("stroke","transparent"),r.setAttribute("fill","transparent"),i.append(r),this.container.append(i),this._createPopup(r,t),this.container}}class w extends T{constructor(t){super(t),this.containerClassName="polygonAnnotation",this.svgElementName="svg:polygon"}}class k extends u{constructor(t){super(t,{isRenderable:!!(t.data.hasPopup||t.data.titleObj?.str||t.data.contentsObj?.str||t.data.richText?.str),ignoreBorder:!0})}render(){return this.container.className="caretAnnotation",this.data.hasPopup||this._createPopup(null,this.data),this.container}}class M extends u{constructor(t){super(t,{isRenderable:!!(t.data.hasPopup||t.data.titleObj?.str||t.data.contentsObj?.str||t.data.richText?.str),ignoreBorder:!0}),this.containerClassName="inkAnnotation",this.svgElementName="svg:polyline"}render(){this.container.className=this.containerClassName;const t=this.data,{width:e,height:s}=h(t.rect),i=this.svgFactory.create(e,s,!0);for(const n of t.inkLists){let e=[];for(const i of n){const s=i.x-t.rect[0],n=t.rect[3]-i.y;e.push(`${s},${n}`)}e=e.join(" ");const s=this.svgFactory.createElement(this.svgElementName);s.setAttribute("points",e),s.setAttribute("stroke-width",t.borderStyle.width||1),s.setAttribute("stroke","transparent"),s.setAttribute("fill","transparent"),this._createPopup(s,t),i.append(s)}return this.container.append(i),this.container}}class F extends u{constructor(t){super(t,{isRenderable:!!(t.data.hasPopup||t.data.titleObj?.str||t.data.contentsObj?.str||t.data.richText?.str),ignoreBorder:!0,createQuadrilaterals:!0})}render(){return this.data.hasPopup||this._createPopup(null,this.data),this.quadrilaterals?this._renderQuadrilaterals("highlightAnnotation"):(this.container.className="highlightAnnotation",this.container)}}class R extends u{constructor(t){super(t,{isRenderable:!!(t.data.hasPopup||t.data.titleObj?.str||t.data.contentsObj?.str||t.data.richText?.str),ignoreBorder:!0,createQuadrilaterals:!0})}render(){return this.data.hasPopup||this._createPopup(null,this.data),this.quadrilaterals?this._renderQuadrilaterals("underlineAnnotation"):(this.container.className="underlineAnnotation",this.container)}}class D extends u{constructor(t){super(t,{isRenderable:!!(t.data.hasPopup||t.data.titleObj?.str||t.data.contentsObj?.str||t.data.richText?.str),ignoreBorder:!0,createQuadrilaterals:!0})}render(){return this.data.hasPopup||this._createPopup(null,this.data),this.quadrilaterals?this._renderQuadrilaterals("squigglyAnnotation"):(this.container.className="squigglyAnnotation",this.container)}}class I extends u{constructor(t){super(t,{isRenderable:!!(t.data.hasPopup||t.data.titleObj?.str||t.data.contentsObj?.str||t.data.richText?.str),ignoreBorder:!0,createQuadrilaterals:!0})}render(){return this.data.hasPopup||this._createPopup(null,this.data),this.quadrilaterals?this._renderQuadrilaterals("strikeoutAnnotation"):(this.container.className="strikeoutAnnotation",this.container)}}class O extends u{constructor(t){super(t,{isRenderable:!!(t.data.hasPopup||t.data.titleObj?.str||t.data.contentsObj?.str||t.data.richText?.str),ignoreBorder:!0})}render(){return this.container.className="stampAnnotation",this.data.hasPopup||this._createPopup(null,this.data),this.container}}class L extends u{constructor(t){super(t,{isRenderable:!0});const{filename:e,content:s}=this.data.file;this.filename=(0,n.getFilenameFromUrl)(e),this.content=s,this.linkService.eventBus?.dispatch("fileattachmentannotation",{source:this,filename:e,content:s})}render(){this.container.className="fileAttachmentAnnotation";const t=document.createElement("div");return t.className="popupTriggerArea",t.addEventListener("dblclick",this._download.bind(this)),!this.data.hasPopup&&(this.data.titleObj?.str||this.data.contentsObj?.str||this.data.richText)&&this._createPopup(t,this.data),this.container.append(t),this.container}_download(){this.downloadManager?.openOrDownloadData(this.container,this.content,this.filename)}}class N{static#de(t,e,s,i){const r=t.firstChild||t;r.id=`${n.AnnotationPrefix}${e}`,s.append(t),i?.moveElementInDOM(s,t,r,!1)}static render(t){const{annotations:e,div:s,viewport:a,accessibilityManager:o}=t;this.#ue(s,a);let l=0;for(const c of e){if(c.annotationType!==i.AnnotationType.POPUP){const{width:t,height:e}=h(c.rect);if(t<=0||e<=0)continue}const e=d.create({data:c,layer:s,page:t.page,viewport:a,linkService:t.linkService,downloadManager:t.downloadManager,imageResourcesPath:t.imageResourcesPath||"",renderForms:!1!==t.renderForms,svgFactory:new n.DOMSVGFactory,annotationStorage:t.annotationStorage||new r.AnnotationStorage,enableScripting:t.enableScripting,hasJSActions:t.hasJSActions,fieldObjects:t.fieldObjects,mouseState:t.mouseState||{isDown:!1}});if(e.isRenderable){const t=e.render();if(c.hidden&&(t.style.visibility="hidden"),Array.isArray(t))for(const e of t)e.style.zIndex=l++,N.#de(e,c.id,s,o);else t.style.zIndex=l++,e instanceof v?s.prepend(t):N.#de(t,c.id,s,o)}}this.#pe(s,t.annotationCanvasMap)}static update(t){const{annotationCanvasMap:e,div:s,viewport:i}=t;this.#ue(s,i),this.#pe(s,e),s.hidden=!1}static#ue(t,{width:e,height:s,rotation:i}){const{style:n}=t,r=i%180!=0,a=Math.floor(e)+"px",o=Math.floor(s)+"px";n.width=r?o:a,n.height=r?a:o,t.setAttribute("data-main-rotation",i)}static#pe(t,e){if(e){for(const[s,i]of e){const e=t.querySelector(`[data-annotation-id="${s}"]`);if(!e)continue;const{firstChild:n}=e;n?"CANVAS"===n.nodeName?n.replaceWith(i):n.before(i):e.append(i)}e.clear()}}}e.AnnotationLayer=N},(t,e)=>{function s(t){return Math.floor(255*Math.max(0,Math.min(1,t))).toString(16).padStart(2,"0")}Object.defineProperty(e,"__esModule",{value:!0}),e.ColorConverters=void 0,e.ColorConverters=class{static CMYK_G([t,e,s,i]){return["G",1-Math.min(1,.3*t+.59*s+.11*e+i)]}static G_CMYK([t]){return["CMYK",0,0,0,1-t]}static G_RGB([t]){return["RGB",t,t,t]}static G_HTML([t]){const e=s(t);return`#${e}${e}${e}`}static RGB_G([t,e,s]){return["G",.3*t+.59*e+.11*s]}static RGB_HTML([t,e,i]){return`#${s(t)}${s(e)}${s(i)}`}static T_HTML(){return"#00000000"}static CMYK_RGB([t,e,s,i]){return["RGB",1-Math.min(1,t+i),1-Math.min(1,s+i),1-Math.min(1,e+i)]}static CMYK_HTML(t){const e=this.CMYK_RGB(t).slice(1);return this.RGB_HTML(e)}static RGB_CMYK([t,e,s]){const i=1-t,n=1-e,r=1-s;return["CMYK",i,n,r,Math.min(i,n,r)]}}},(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.XfaLayer=void 0;var i=s(20);e.XfaLayer=class{static setupStorage(t,e,s,i,n){const r=i.getValue(e,{value:null});switch(s.name){case"textarea":if(null!==r.value&&(t.textContent=r.value),"print"===n)break;t.addEventListener("input",t=>{i.setValue(e,{value:t.target.value})});break;case"input":if("radio"===s.attributes.type||"checkbox"===s.attributes.type){if(r.value===s.attributes.xfaOn?t.setAttribute("checked",!0):r.value===s.attributes.xfaOff&&t.removeAttribute("checked"),"print"===n)break;t.addEventListener("change",t=>{i.setValue(e,{value:t.target.checked?t.target.getAttribute("xfaOn"):t.target.getAttribute("xfaOff")})})}else{if(null!==r.value&&t.setAttribute("value",r.value),"print"===n)break;t.addEventListener("input",t=>{i.setValue(e,{value:t.target.value})})}break;case"select":if(null!==r.value)for(const t of s.children)t.attributes.value===r.value&&(t.attributes.selected=!0);t.addEventListener("input",t=>{const s=t.target.options,n=-1===s.selectedIndex?"":s[s.selectedIndex].value;i.setValue(e,{value:n})})}}static setAttributes({html:t,element:e,storage:s=null,intent:i,linkService:n}){const{attributes:r}=e,a=t instanceof HTMLAnchorElement;"radio"===r.type&&(r.name=`${r.name}-${i}`);for(const[o,l]of Object.entries(r))if(null!=l)switch(o){case"class":l.length&&t.setAttribute(o,l.join(" "));break;case"dataId":break;case"id":t.setAttribute("data-element-id",l);break;case"style":Object.assign(t.style,l);break;case"textContent":t.textContent=l;break;default:(!a||"href"!==o&&"newWindow"!==o)&&t.setAttribute(o,l)}a&&n.addLinkAttributes(t,r.href,r.newWindow),s&&r.dataId&&this.setupStorage(t,r.dataId,e,s)}static render(t){const e=t.annotationStorage,s=t.linkService,n=t.xfaHtml,r=t.intent||"display",a=document.createElement(n.name);n.attributes&&this.setAttributes({html:a,element:n,intent:r,linkService:s});const o=[[n,-1,a]],l=t.div;if(l.append(a),t.viewport){const e=`matrix(${t.viewport.transform.join(",")})`;l.style.transform=e}"richText"!==r&&l.setAttribute("class","xfaLayer xfaFont");const c=[];for(;o.length>0;){const[t,n,a]=o.at(-1);if(n+1===t.children.length){o.pop();continue}const l=t.children[++o.at(-1)[1]];if(null===l)continue;const{name:h}=l;if("#text"===h){const t=document.createTextNode(l.value);c.push(t),a.append(t);continue}let d;if(d=l?.attributes?.xmlns?document.createElementNS(l.attributes.xmlns,h):document.createElement(h),a.append(d),l.attributes&&this.setAttributes({html:d,element:l,storage:e,intent:r,linkService:s}),l.children&&l.children.length>0)o.push([l,-1,d]);else if(l.value){const t=document.createTextNode(l.value);i.XfaText.shouldBuildText(h)&&c.push(t),d.append(t)}}for(const i of l.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea"))i.setAttribute("readOnly",!0);return{textDivs:c}}static update(t){const e=`matrix(${t.viewport.transform.join(",")})`;t.div.style.transform=e,t.div.hidden=!1}}},(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.TextLayerRenderTask=void 0,e.renderTextLayer=function(t){const e=new p({textContent:t.textContent,textContentStream:t.textContentStream,container:t.container,viewport:t.viewport,textDivs:t.textDivs,textContentItemsStr:t.textContentItemsStr,enhanceTextSelection:t.enhanceTextSelection});return e._render(t.timeout),e};var i=s(1),n=s(8);const r=30,a=new Map,o=/^\s+$/g;function l(t,e,s,n){const l=document.createElement("span"),c=t._enhanceTextSelection?{angle:0,canvasWidth:0,hasText:""!==e.str,hasEOL:e.hasEOL,originalTransform:null,paddingBottom:0,paddingLeft:0,paddingRight:0,paddingTop:0,scale:1,fontSize:0}:{angle:0,canvasWidth:0,hasText:""!==e.str,hasEOL:e.hasEOL,fontSize:0};t._textDivs.push(l);const h=i.Util.transform(t._viewport.transform,e.transform);let d=Math.atan2(h[1],h[0]);const u=s[e.fontName];u.vertical&&(d+=Math.PI/2);const p=Math.hypot(h[2],h[3]),g=p*function(t,e){const s=a.get(t);if(s)return s;e.save(),e.font=`30px ${t}`;const i=e.measureText("");let n=i.fontBoundingBoxAscent,o=Math.abs(i.fontBoundingBoxDescent);if(n){e.restore();const s=n/(n+o);return a.set(t,s),s}e.strokeStyle="red",e.clearRect(0,0,r,r),e.strokeText("g",0,0);let l=e.getImageData(0,0,r,r).data;o=0;for(let a=l.length-1-3;a>=0;a-=4)if(l[a]>0){o=Math.ceil(a/4/r);break}e.clearRect(0,0,r,r),e.strokeText("A",0,r),l=e.getImageData(0,0,r,r).data,n=0;for(let a=0,c=l.length;a<c;a+=4)if(l[a]>0){n=r-Math.floor(a/4/r);break}if(e.restore(),n){const e=n/(n+o);return a.set(t,e),e}return a.set(t,.8),.8}(u.fontFamily,n);let m,f;0===d?(m=h[4],f=h[5]-g):(m=h[4]+g*Math.sin(d),f=h[5]-g*Math.cos(d)),l.style.left=`${m}px`,l.style.top=`${f}px`,l.style.fontSize=`${p}px`,l.style.fontFamily=u.fontFamily,c.fontSize=p,l.setAttribute("role","presentation"),l.textContent=e.str,l.dir=e.dir,t._fontInspectorEnabled&&(l.dataset.fontName=e.fontName),0!==d&&(c.angle=d*(180/Math.PI));let b=!1;if(e.str.length>1||t._enhanceTextSelection&&o.test(e.str))b=!0;else if(" "!==e.str&&e.transform[0]!==e.transform[3]){const t=Math.abs(e.transform[0]),s=Math.abs(e.transform[3]);t!==s&&Math.max(t,s)/Math.min(t,s)>1.5&&(b=!0)}if(b&&(u.vertical?c.canvasWidth=e.height*t._viewport.scale:c.canvasWidth=e.width*t._viewport.scale),t._textDivProperties.set(l,c),t._textContentStream&&t._layoutText(l),t._enhanceTextSelection&&c.hasText){let s=1,n=0;0!==d&&(s=Math.cos(d),n=Math.sin(d));const r=(u.vertical?e.height:e.width)*t._viewport.scale,a=p;let o,c;0!==d?(o=[s,n,-n,s,m,f],c=i.Util.getAxialAlignedBoundingBox([0,0,r,a],o)):c=[m,f,m+r,f+a],t._bounds.push({left:c[0],top:c[1],right:c[2],bottom:c[3],div:l,size:[r,a],m:o})}}function c(t){if(t._canceled)return;const e=t._textDivs,s=t._capability,i=e.length;if(i>1e5)return t._renderingDone=!0,void s.resolve();if(!t._textContentStream)for(let n=0;n<i;n++)t._layoutText(e[n]);t._renderingDone=!0,s.resolve()}function h(t,e,s){let i=0;for(let n=0;n<s;n++){const s=t[e++];s>0&&(i=i?Math.min(s,i):s)}return i}function d(t){const e=t._bounds,s=t._viewport,n=function(t,e,s){const i=s.map(function(t,e){return{x1:t.left,y1:t.top,x2:t.right,y2:t.bottom,index:e,x1New:void 0,x2New:void 0}});u(t,i);const n=new Array(s.length);for(const r of i){const t=r.index;n[t]={left:r.x1New,top:0,right:r.x2New,bottom:0}}s.map(function(e,s){const r=n[s],a=i[s];a.x1=e.top,a.y1=t-r.right,a.x2=e.bottom,a.y2=t-r.left,a.index=s,a.x1New=void 0,a.x2New=void 0}),u(e,i);for(const r of i){const t=r.index;n[t].top=r.x1New,n[t].bottom=r.x2New}return n}(s.width,s.height,e);for(let r=0;r<n.length;r++){const s=e[r].div,a=t._textDivProperties.get(s);if(0===a.angle){a.paddingLeft=e[r].left-n[r].left,a.paddingTop=e[r].top-n[r].top,a.paddingRight=n[r].right-e[r].right,a.paddingBottom=n[r].bottom-e[r].bottom,t._textDivProperties.set(s,a);continue}const o=n[r],l=e[r],c=l.m,d=c[0],u=c[1],p=[[0,0],[0,l.size[1]],[l.size[0],0],l.size],g=new Float64Array(64);for(let t=0,e=p.length;t<e;t++){const e=i.Util.applyTransform(p[t],c);g[t+0]=d&&(o.left-e[0])/d,g[t+4]=u&&(o.top-e[1])/u,g[t+8]=d&&(o.right-e[0])/d,g[t+12]=u&&(o.bottom-e[1])/u,g[t+16]=u&&(o.left-e[0])/-u,g[t+20]=d&&(o.top-e[1])/d,g[t+24]=u&&(o.right-e[0])/-u,g[t+28]=d&&(o.bottom-e[1])/d,g[t+32]=d&&(o.left-e[0])/-d,g[t+36]=u&&(o.top-e[1])/-u,g[t+40]=d&&(o.right-e[0])/-d,g[t+44]=u&&(o.bottom-e[1])/-u,g[t+48]=u&&(o.left-e[0])/u,g[t+52]=d&&(o.top-e[1])/-d,g[t+56]=u&&(o.right-e[0])/u,g[t+60]=d&&(o.bottom-e[1])/-d}const m=1+Math.min(Math.abs(d),Math.abs(u));a.paddingLeft=h(g,32,16)/m,a.paddingTop=h(g,48,16)/m,a.paddingRight=h(g,0,16)/m,a.paddingBottom=h(g,16,16)/m,t._textDivProperties.set(s,a)}}function u(t,e){e.sort(function(t,e){return t.x1-e.x1||t.index-e.index});const s=[{start:-1/0,end:1/0,boundary:{x1:-1/0,y1:-1/0,x2:0,y2:1/0,index:-1,x1New:0,x2New:0}}];for(const i of e){let t=0;for(;t<s.length&&s[t].end<=i.y1;)t++;let e,n,r=s.length-1;for(;r>=0&&s[r].start>=i.y2;)r--;let a,o,l=-1/0;for(a=t;a<=r;a++){let t;e=s[a],n=e.boundary,t=n.x2>i.x1?n.index>i.index?n.x1New:i.x1:void 0===n.x2New?(n.x2+i.x1)/2:n.x2New,t>l&&(l=t)}for(i.x1New=l,a=t;a<=r;a++)e=s[a],n=e.boundary,void 0===n.x2New?n.x2>i.x1?n.index>i.index&&(n.x2New=n.x2):n.x2New=l:n.x2New>l&&(n.x2New=Math.max(l,n.x2));const c=[];let h=null;for(a=t;a<=r;a++){e=s[a],n=e.boundary;const t=n.x2>i.x2?n:i;h===t?c.at(-1).end=e.end:(c.push({start:e.start,end:e.end,boundary:t}),h=t)}for(s[t].start<i.y1&&(c[0].start=i.y1,c.unshift({start:s[t].start,end:i.y1,boundary:s[t].boundary})),i.y2<s[r].end&&(c.at(-1).end=i.y2,c.push({start:i.y2,end:s[r].end,boundary:s[r].boundary})),a=t;a<=r;a++){if(e=s[a],n=e.boundary,void 0!==n.x2New)continue;let i=!1;for(o=t-1;!i&&o>=0&&s[o].start>=n.y1;o--)i=s[o].boundary===n;for(o=r+1;!i&&o<s.length&&s[o].end<=n.y2;o++)i=s[o].boundary===n;for(o=0;!i&&o<c.length;o++)i=c[o].boundary===n;i||(n.x2New=l)}Array.prototype.splice.apply(s,[t,r-t+1,...c])}for(const i of s){const e=i.boundary;void 0===e.x2New&&(e.x2New=Math.max(t,e.x2))}}class p{constructor({textContent:t,textContentStream:e,container:s,viewport:r,textDivs:a,textContentItemsStr:o,enhanceTextSelection:l}){l&&(0,n.deprecated)("The `enhanceTextSelection` functionality will be removed in the future."),this._textContent=t,this._textContentStream=e,this._container=s,this._document=s.ownerDocument,this._viewport=r,this._textDivs=a||[],this._textContentItemsStr=o||[],this._enhanceTextSelection=!!l,this._fontInspectorEnabled=!!globalThis.FontInspector?.enabled,this._reader=null,this._layoutTextLastFontSize=null,this._layoutTextLastFontFamily=null,this._layoutTextCtx=null,this._textDivProperties=new WeakMap,this._renderingDone=!1,this._canceled=!1,this._capability=(0,i.createPromiseCapability)(),this._renderTimer=null,this._bounds=[],this._devicePixelRatio=globalThis.devicePixelRatio||1,this._capability.promise.finally(()=>{this._enhanceTextSelection||(this._textDivProperties=null),this._layoutTextCtx&&(this._layoutTextCtx.canvas.width=0,this._layoutTextCtx.canvas.height=0,this._layoutTextCtx=null)}).catch(()=>{})}get promise(){return this._capability.promise}cancel(){this._canceled=!0,this._reader&&(this._reader.cancel(new i.AbortException("TextLayer task cancelled.")).catch(()=>{}),this._reader=null),null!==this._renderTimer&&(clearTimeout(this._renderTimer),this._renderTimer=null),this._capability.reject(new Error("TextLayer task cancelled."))}_processItems(t,e){for(let s=0,i=t.length;s<i;s++)if(void 0!==t[s].str)this._textContentItemsStr.push(t[s].str),l(this,t[s],e,this._layoutTextCtx);else if("beginMarkedContentProps"===t[s].type||"beginMarkedContent"===t[s].type){const e=this._container;this._container=document.createElement("span"),this._container.classList.add("markedContent"),null!==t[s].id&&this._container.setAttribute("id",`${t[s].id}`),e.append(this._container)}else"endMarkedContent"===t[s].type&&(this._container=this._container.parentNode)}_layoutText(t){const e=this._textDivProperties.get(t);let s="";if(0!==e.canvasWidth&&e.hasText){const{fontFamily:i}=t.style,{fontSize:n}=e;n===this._layoutTextLastFontSize&&i===this._layoutTextLastFontFamily||(this._layoutTextCtx.font=`${n*this._devicePixelRatio}px ${i}`,this._layoutTextLastFontSize=n,this._layoutTextLastFontFamily=i);const{width:r}=this._layoutTextCtx.measureText(t.textContent);if(r>0){const t=this._devicePixelRatio*e.canvasWidth/r;this._enhanceTextSelection&&(e.scale=t),s=`scaleX(${t})`}}if(0!==e.angle&&(s=`rotate(${e.angle}deg) ${s}`),s.length>0&&(this._enhanceTextSelection&&(e.originalTransform=s),t.style.transform=s),e.hasText&&this._container.append(t),e.hasEOL){const t=document.createElement("br");t.setAttribute("role","presentation"),this._container.append(t)}}_render(t=0){const e=(0,i.createPromiseCapability)();let s=Object.create(null);const n=this._document.createElement("canvas");if(n.height=n.width=r,this._layoutTextCtx=n.getContext("2d",{alpha:!1}),this._textContent){const t=this._textContent.items,s=this._textContent.styles;this._processItems(t,s),e.resolve()}else{if(!this._textContentStream)throw new Error('Neither "textContent" nor "textContentStream" parameters specified.');{const t=()=>{this._reader.read().then(({value:i,done:n})=>{n?e.resolve():(Object.assign(s,i.styles),this._processItems(i.items,s),t())},e.reject)};this._reader=this._textContentStream.getReader(),t()}}e.promise.then(()=>{s=null,t?this._renderTimer=setTimeout(()=>{c(this),this._renderTimer=null},t):c(this)},this._capability.reject)}expandTextDivs(t=!1){if(!this._enhanceTextSelection||!this._renderingDone)return;null!==this._bounds&&(d(this),this._bounds=null);const e=[],s=[];for(let i=0,n=this._textDivs.length;i<n;i++){const n=this._textDivs[i],r=this._textDivProperties.get(n);r.hasText&&(t?(e.length=0,s.length=0,r.originalTransform&&e.push(r.originalTransform),r.paddingTop>0?(s.push(`${r.paddingTop}px`),e.push(`translateY(${-r.paddingTop}px)`)):s.push(0),r.paddingRight>0?s.push(r.paddingRight/r.scale+"px"):s.push(0),r.paddingBottom>0?s.push(`${r.paddingBottom}px`):s.push(0),r.paddingLeft>0?(s.push(r.paddingLeft/r.scale+"px"),e.push(`translateX(${-r.paddingLeft/r.scale}px)`)):s.push(0),n.style.padding=s.join(" "),e.length&&(n.style.transform=e.join(" "))):(n.style.padding=null,n.style.transform=r.originalTransform))}}}e.TextLayerRenderTask=p},(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.SVGGraphics=void 0;var i=s(8),n=s(1),r=s(3);let a=class{constructor(){(0,n.unreachable)("Not implemented: SVGGraphics")}};e.SVGGraphics=a;{const o={fontStyle:"normal",fontWeight:"normal",fillColor:"#000000"},l="http://www.w3.org/XML/1998/namespace",c="http://www.w3.org/1999/xlink",h=["butt","round","square"],d=["miter","round","bevel"],u=function(t,e="",s=!1){if(URL.createObjectURL&&"undefined"!=typeof Blob&&!s)return URL.createObjectURL(new Blob([t],{type:e}));const i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";let n=`data:${e};base64,`;for(let r=0,a=t.length;r<a;r+=3){const e=255&t[r],s=255&t[r+1],o=255&t[r+2];n+=i[e>>2]+i[(3&e)<<4|s>>4]+i[r+1<a?(15&s)<<2|o>>6:64]+i[r+2<a?63&o:64]}return n},p=function(){const t=new Uint8Array([137,80,78,71,13,10,26,10]),e=new Int32Array(256);for(let n=0;n<256;n++){let t=n;for(let e=0;e<8;e++)t=1&t?3988292384^t>>1&2147483647:t>>1&2147483647;e[n]=t}function s(t,s,i,n){let r=n;const a=s.length;i[r]=a>>24&255,i[r+1]=a>>16&255,i[r+2]=a>>8&255,i[r+3]=255&a,r+=4,i[r]=255&t.charCodeAt(0),i[r+1]=255&t.charCodeAt(1),i[r+2]=255&t.charCodeAt(2),i[r+3]=255&t.charCodeAt(3),r+=4,i.set(s,r),r+=s.length;const o=function(t,s,i){let n=-1;for(let r=s;r<i;r++){const s=255&(n^t[r]);n=n>>>8^e[s]}return-1^n}(i,n+4,r);i[r]=o>>24&255,i[r+1]=o>>16&255,i[r+2]=o>>8&255,i[r+3]=255&o}function i(t){let e=t.length;const s=65535,i=Math.ceil(e/s),n=new Uint8Array(2+e+5*i+4);let r=0;n[r++]=120,n[r++]=156;let a=0;for(;e>s;)n[r++]=0,n[r++]=255,n[r++]=255,n[r++]=0,n[r++]=0,n.set(t.subarray(a,a+s),r),r+=s,a+=s,e-=s;n[r++]=1,n[r++]=255&e,n[r++]=e>>8&255,n[r++]=255&~e,n[r++]=(65535&~e)>>8&255,n.set(t.subarray(a),r),r+=t.length-a;const o=function(t,e,s){let i=1,n=0;for(let r=e;r<s;++r)i=(i+(255&t[r]))%65521,n=(n+i)%65521;return n<<16|i}(t,0,t.length);return n[r++]=o>>24&255,n[r++]=o>>16&255,n[r++]=o>>8&255,n[r++]=255&o,n}function a(e,a,o,l){const c=e.width,h=e.height;let d,p,g;const m=e.data;switch(a){case n.ImageKind.GRAYSCALE_1BPP:p=0,d=1,g=c+7>>3;break;case n.ImageKind.RGB_24BPP:p=2,d=8,g=3*c;break;case n.ImageKind.RGBA_32BPP:p=6,d=8,g=4*c;break;default:throw new Error("invalid format")}const f=new Uint8Array((1+g)*h);let b=0,_=0;for(let t=0;t<h;++t)f[b++]=0,f.set(m.subarray(_,_+g),b),_+=g,b+=g;if(a===n.ImageKind.GRAYSCALE_1BPP&&l){b=0;for(let t=0;t<h;t++){b++;for(let t=0;t<g;t++)f[b++]^=255}}const A=new Uint8Array([c>>24&255,c>>16&255,c>>8&255,255&c,h>>24&255,h>>16&255,h>>8&255,255&h,d,p,0,0,0]),y=function(t){if(!r.isNodeJS)return i(t);try{let e;e=parseInt(process.versions.node)>=8?t:Buffer.from(t);const s=require$$5.deflateSync(e,{level:9});return s instanceof Uint8Array?s:new Uint8Array(s)}catch(e){(0,n.warn)("Not compressing PNG because zlib.deflateSync is unavailable: "+e)}return i(t)}(f),v=t.length+36+A.length+y.length,S=new Uint8Array(v);let x=0;return S.set(t,x),x+=t.length,s("IHDR",A,S,x),x+=12+A.length,s("IDATA",y,S,x),x+=12+y.length,s("IEND",new Uint8Array(0),S,x),u(S,"image/png",o)}return function(t,e,s){return a(t,void 0===t.kind?n.ImageKind.GRAYSCALE_1BPP:t.kind,e,s)}}();class g{constructor(){this.fontSizeScale=1,this.fontWeight=o.fontWeight,this.fontSize=0,this.textMatrix=n.IDENTITY_MATRIX,this.fontMatrix=n.FONT_IDENTITY_MATRIX,this.leading=0,this.textRenderingMode=n.TextRenderingMode.FILL,this.textMatrixScale=1,this.x=0,this.y=0,this.lineX=0,this.lineY=0,this.charSpacing=0,this.wordSpacing=0,this.textHScale=1,this.textRise=0,this.fillColor=o.fillColor,this.strokeColor="#000000",this.fillAlpha=1,this.strokeAlpha=1,this.lineWidth=1,this.lineJoin="",this.lineCap="",this.miterLimit=0,this.dashArray=[],this.dashPhase=0,this.dependencies=[],this.activeClipUrl=null,this.clipGroup=null,this.maskId=""}clone(){return Object.create(this)}setCurrentPoint(t,e){this.x=t,this.y=e}}function m(t){let e=[];const s=[];for(const i of t)"save"!==i.fn?"restore"===i.fn?e=s.pop():e.push(i):(e.push({fnId:92,fn:"group",items:[]}),s.push(e),e=e.at(-1).items);return e}function f(t){if(Number.isInteger(t))return t.toString();const e=t.toFixed(10);let s=e.length-1;if("0"!==e[s])return e;do{s--}while("0"===e[s]);return e.substring(0,"."===e[s]?s:s+1)}function b(t){if(0===t[4]&&0===t[5]){if(0===t[1]&&0===t[2])return 1===t[0]&&1===t[3]?"":`scale(${f(t[0])} ${f(t[3])})`;if(t[0]===t[3]&&t[1]===-t[2])return`rotate(${f(180*Math.acos(t[0])/Math.PI)})`}else if(1===t[0]&&0===t[1]&&0===t[2]&&1===t[3])return`translate(${f(t[4])} ${f(t[5])})`;return`matrix(${f(t[0])} ${f(t[1])} ${f(t[2])} ${f(t[3])} ${f(t[4])} ${f(t[5])})`}let _=0,A=0,y=0;e.SVGGraphics=a=class{constructor(t,e,s=!1){(0,i.deprecated)("The SVG back-end is no longer maintained and *may* be removed in the future."),this.svgFactory=new i.DOMSVGFactory,this.current=new g,this.transformMatrix=n.IDENTITY_MATRIX,this.transformStack=[],this.extraStack=[],this.commonObjs=t,this.objs=e,this.pendingClip=null,this.pendingEOFill=!1,this.embedFonts=!1,this.embeddedFonts=Object.create(null),this.cssStyle=null,this.forceDataSchema=!!s,this._operatorIdMapping=[];for(const i in n.OPS)this._operatorIdMapping[n.OPS[i]]=i}save(){this.transformStack.push(this.transformMatrix);const t=this.current;this.extraStack.push(t),this.current=t.clone()}restore(){this.transformMatrix=this.transformStack.pop(),this.current=this.extraStack.pop(),this.pendingClip=null,this.tgrp=null}group(t){this.save(),this.executeOpTree(t),this.restore()}loadDependencies(t){const e=t.fnArray,s=t.argsArray;for(let i=0,r=e.length;i<r;i++)if(e[i]===n.OPS.dependency)for(const t of s[i]){const e=t.startsWith("g_")?this.commonObjs:this.objs,s=new Promise(s=>{e.get(t,s)});this.current.dependencies.push(s)}return Promise.all(this.current.dependencies)}transform(t,e,s,i,r,a){const o=[t,e,s,i,r,a];this.transformMatrix=n.Util.transform(this.transformMatrix,o),this.tgrp=null}getSVG(t,e){this.viewport=e;const s=this._initialize(e);return this.loadDependencies(t).then(()=>(this.transformMatrix=n.IDENTITY_MATRIX,this.executeOpTree(this.convertOpList(t)),s))}convertOpList(t){const e=this._operatorIdMapping,s=t.argsArray,i=t.fnArray,n=[];for(let r=0,a=i.length;r<a;r++){const t=i[r];n.push({fnId:t,fn:e[t],args:s[r]})}return m(n)}executeOpTree(t){for(const e of t){const t=e.fn,s=e.fnId,i=e.args;switch(0|s){case n.OPS.beginText:this.beginText();break;case n.OPS.dependency:break;case n.OPS.setLeading:this.setLeading(i);break;case n.OPS.setLeadingMoveText:this.setLeadingMoveText(i[0],i[1]);break;case n.OPS.setFont:this.setFont(i);break;case n.OPS.showText:case n.OPS.showSpacedText:this.showText(i[0]);break;case n.OPS.endText:this.endText();break;case n.OPS.moveText:this.moveText(i[0],i[1]);break;case n.OPS.setCharSpacing:this.setCharSpacing(i[0]);break;case n.OPS.setWordSpacing:this.setWordSpacing(i[0]);break;case n.OPS.setHScale:this.setHScale(i[0]);break;case n.OPS.setTextMatrix:this.setTextMatrix(i[0],i[1],i[2],i[3],i[4],i[5]);break;case n.OPS.setTextRise:this.setTextRise(i[0]);break;case n.OPS.setTextRenderingMode:this.setTextRenderingMode(i[0]);break;case n.OPS.setLineWidth:this.setLineWidth(i[0]);break;case n.OPS.setLineJoin:this.setLineJoin(i[0]);break;case n.OPS.setLineCap:this.setLineCap(i[0]);break;case n.OPS.setMiterLimit:this.setMiterLimit(i[0]);break;case n.OPS.setFillRGBColor:this.setFillRGBColor(i[0],i[1],i[2]);break;case n.OPS.setStrokeRGBColor:this.setStrokeRGBColor(i[0],i[1],i[2]);break;case n.OPS.setStrokeColorN:this.setStrokeColorN(i);break;case n.OPS.setFillColorN:this.setFillColorN(i);break;case n.OPS.shadingFill:this.shadingFill(i[0]);break;case n.OPS.setDash:this.setDash(i[0],i[1]);break;case n.OPS.setRenderingIntent:this.setRenderingIntent(i[0]);break;case n.OPS.setFlatness:this.setFlatness(i[0]);break;case n.OPS.setGState:this.setGState(i[0]);break;case n.OPS.fill:this.fill();break;case n.OPS.eoFill:this.eoFill();break;case n.OPS.stroke:this.stroke();break;case n.OPS.fillStroke:this.fillStroke();break;case n.OPS.eoFillStroke:this.eoFillStroke();break;case n.OPS.clip:this.clip("nonzero");break;case n.OPS.eoClip:this.clip("evenodd");break;case n.OPS.paintSolidColorImageMask:this.paintSolidColorImageMask();break;case n.OPS.paintImageXObject:this.paintImageXObject(i[0]);break;case n.OPS.paintInlineImageXObject:this.paintInlineImageXObject(i[0]);break;case n.OPS.paintImageMaskXObject:this.paintImageMaskXObject(i[0]);break;case n.OPS.paintFormXObjectBegin:this.paintFormXObjectBegin(i[0],i[1]);break;case n.OPS.paintFormXObjectEnd:this.paintFormXObjectEnd();break;case n.OPS.closePath:this.closePath();break;case n.OPS.closeStroke:this.closeStroke();break;case n.OPS.closeFillStroke:this.closeFillStroke();break;case n.OPS.closeEOFillStroke:this.closeEOFillStroke();break;case n.OPS.nextLine:this.nextLine();break;case n.OPS.transform:this.transform(i[0],i[1],i[2],i[3],i[4],i[5]);break;case n.OPS.constructPath:this.constructPath(i[0],i[1]);break;case n.OPS.endPath:this.endPath();break;case 92:this.group(e.items);break;default:(0,n.warn)(`Unimplemented operator ${t}`)}}}setWordSpacing(t){this.current.wordSpacing=t}setCharSpacing(t){this.current.charSpacing=t}nextLine(){this.moveText(0,this.current.leading)}setTextMatrix(t,e,s,i,n,r){const a=this.current;a.textMatrix=a.lineMatrix=[t,e,s,i,n,r],a.textMatrixScale=Math.hypot(t,e),a.x=a.lineX=0,a.y=a.lineY=0,a.xcoords=[],a.ycoords=[],a.tspan=this.svgFactory.createElement("svg:tspan"),a.tspan.setAttributeNS(null,"font-family",a.fontFamily),a.tspan.setAttributeNS(null,"font-size",`${f(a.fontSize)}px`),a.tspan.setAttributeNS(null,"y",f(-a.y)),a.txtElement=this.svgFactory.createElement("svg:text"),a.txtElement.append(a.tspan)}beginText(){const t=this.current;t.x=t.lineX=0,t.y=t.lineY=0,t.textMatrix=n.IDENTITY_MATRIX,t.lineMatrix=n.IDENTITY_MATRIX,t.textMatrixScale=1,t.tspan=this.svgFactory.createElement("svg:tspan"),t.txtElement=this.svgFactory.createElement("svg:text"),t.txtgrp=this.svgFactory.createElement("svg:g"),t.xcoords=[],t.ycoords=[]}moveText(t,e){const s=this.current;s.x=s.lineX+=t,s.y=s.lineY+=e,s.xcoords=[],s.ycoords=[],s.tspan=this.svgFactory.createElement("svg:tspan"),s.tspan.setAttributeNS(null,"font-family",s.fontFamily),s.tspan.setAttributeNS(null,"font-size",`${f(s.fontSize)}px`),s.tspan.setAttributeNS(null,"y",f(-s.y))}showText(t){const e=this.current,s=e.font,i=e.fontSize;if(0===i)return;const r=e.fontSizeScale,a=e.charSpacing,c=e.wordSpacing,h=e.fontDirection,d=e.textHScale*h,u=s.vertical,p=u?1:-1,g=s.defaultVMetrics,m=i*e.fontMatrix[0];let _=0;for(const n of t){if(null===n){_+=h*c;continue}if("number"==typeof n){_+=p*n*i/1e3;continue}const t=(n.isSpace?c:0)+a,o=n.fontChar;let l,d,f,b=n.width;if(u){let t;const e=n.vmetric||g;t=n.vmetric?e[1]:.5*b,t=-t*m;const s=e[2]*m;b=e?-e[0]:b,l=t/r,d=(_+s)/r}else l=_/r,d=0;(n.isInFont||s.missingFile)&&(e.xcoords.push(e.x+l),u&&e.ycoords.push(-e.y+d),e.tspan.textContent+=o),f=u?b*m-t*h:b*m+t*h,_+=f}e.tspan.setAttributeNS(null,"x",e.xcoords.map(f).join(" ")),u?e.tspan.setAttributeNS(null,"y",e.ycoords.map(f).join(" ")):e.tspan.setAttributeNS(null,"y",f(-e.y)),u?e.y-=_:e.x+=_*d,e.tspan.setAttributeNS(null,"font-family",e.fontFamily),e.tspan.setAttributeNS(null,"font-size",`${f(e.fontSize)}px`),e.fontStyle!==o.fontStyle&&e.tspan.setAttributeNS(null,"font-style",e.fontStyle),e.fontWeight!==o.fontWeight&&e.tspan.setAttributeNS(null,"font-weight",e.fontWeight);const A=e.textRenderingMode&n.TextRenderingMode.FILL_STROKE_MASK;if(A===n.TextRenderingMode.FILL||A===n.TextRenderingMode.FILL_STROKE?(e.fillColor!==o.fillColor&&e.tspan.setAttributeNS(null,"fill",e.fillColor),e.fillAlpha<1&&e.tspan.setAttributeNS(null,"fill-opacity",e.fillAlpha)):e.textRenderingMode===n.TextRenderingMode.ADD_TO_PATH?e.tspan.setAttributeNS(null,"fill","transparent"):e.tspan.setAttributeNS(null,"fill","none"),A===n.TextRenderingMode.STROKE||A===n.TextRenderingMode.FILL_STROKE){const t=1/(e.textMatrixScale||1);this._setStrokeAttributes(e.tspan,t)}let y=e.textMatrix;0!==e.textRise&&(y=y.slice(),y[5]+=e.textRise),e.txtElement.setAttributeNS(null,"transform",`${b(y)} scale(${f(d)}, -1)`),e.txtElement.setAttributeNS(l,"xml:space","preserve"),e.txtElement.append(e.tspan),e.txtgrp.append(e.txtElement),this._ensureTransformGroup().append(e.txtElement)}setLeadingMoveText(t,e){this.setLeading(-e),this.moveText(t,e)}addFontStyle(t){if(!t.data)throw new Error('addFontStyle: No font data available, ensure that the "fontExtraProperties" API parameter is set.');this.cssStyle||(this.cssStyle=this.svgFactory.createElement("svg:style"),this.cssStyle.setAttributeNS(null,"type","text/css"),this.defs.append(this.cssStyle));const e=u(t.data,t.mimetype,this.forceDataSchema);this.cssStyle.textContent+=`@font-face { font-family: "${t.loadedName}"; src: url(${e}); }\n`}setFont(t){const e=this.current,s=this.commonObjs.get(t[0]);let i=t[1];e.font=s,!this.embedFonts||s.missingFile||this.embeddedFonts[s.loadedName]||(this.addFontStyle(s),this.embeddedFonts[s.loadedName]=s),e.fontMatrix=s.fontMatrix||n.FONT_IDENTITY_MATRIX;let r="normal";s.black?r="900":s.bold&&(r="bold");const a=s.italic?"italic":"normal";i<0?(i=-i,e.fontDirection=-1):e.fontDirection=1,e.fontSize=i,e.fontFamily=s.loadedName,e.fontWeight=r,e.fontStyle=a,e.tspan=this.svgFactory.createElement("svg:tspan"),e.tspan.setAttributeNS(null,"y",f(-e.y)),e.xcoords=[],e.ycoords=[]}endText(){const t=this.current;t.textRenderingMode&n.TextRenderingMode.ADD_TO_PATH_FLAG&&t.txtElement?.hasChildNodes()&&(t.element=t.txtElement,this.clip("nonzero"),this.endPath())}setLineWidth(t){t>0&&(this.current.lineWidth=t)}setLineCap(t){this.current.lineCap=h[t]}setLineJoin(t){this.current.lineJoin=d[t]}setMiterLimit(t){this.current.miterLimit=t}setStrokeAlpha(t){this.current.strokeAlpha=t}setStrokeRGBColor(t,e,s){this.current.strokeColor=n.Util.makeHexColor(t,e,s)}setFillAlpha(t){this.current.fillAlpha=t}setFillRGBColor(t,e,s){this.current.fillColor=n.Util.makeHexColor(t,e,s),this.current.tspan=this.svgFactory.createElement("svg:tspan"),this.current.xcoords=[],this.current.ycoords=[]}setStrokeColorN(t){this.current.strokeColor=this._makeColorN_Pattern(t)}setFillColorN(t){this.current.fillColor=this._makeColorN_Pattern(t)}shadingFill(t){const e=this.viewport.width,s=this.viewport.height,i=n.Util.inverseTransform(this.transformMatrix),r=n.Util.applyTransform([0,0],i),a=n.Util.applyTransform([0,s],i),o=n.Util.applyTransform([e,0],i),l=n.Util.applyTransform([e,s],i),c=Math.min(r[0],a[0],o[0],l[0]),h=Math.min(r[1],a[1],o[1],l[1]),d=Math.max(r[0],a[0],o[0],l[0]),u=Math.max(r[1],a[1],o[1],l[1]),p=this.svgFactory.createElement("svg:rect");p.setAttributeNS(null,"x",c),p.setAttributeNS(null,"y",h),p.setAttributeNS(null,"width",d-c),p.setAttributeNS(null,"height",u-h),p.setAttributeNS(null,"fill",this._makeShadingPattern(t)),this.current.fillAlpha<1&&p.setAttributeNS(null,"fill-opacity",this.current.fillAlpha),this._ensureTransformGroup().append(p)}_makeColorN_Pattern(t){return"TilingPattern"===t[0]?this._makeTilingPattern(t):this._makeShadingPattern(t)}_makeTilingPattern(t){const e=t[1],s=t[2],i=t[3]||n.IDENTITY_MATRIX,[r,a,o,l]=t[4],c=t[5],h=t[6],d=t[7],u="shading"+y++,[p,g,m,f]=n.Util.normalizeRect([...n.Util.applyTransform([r,a],i),...n.Util.applyTransform([o,l],i)]),[b,_]=n.Util.singularValueDecompose2dScale(i),A=c*b,v=h*_,S=this.svgFactory.createElement("svg:pattern");S.setAttributeNS(null,"id",u),S.setAttributeNS(null,"patternUnits","userSpaceOnUse"),S.setAttributeNS(null,"width",A),S.setAttributeNS(null,"height",v),S.setAttributeNS(null,"x",`${p}`),S.setAttributeNS(null,"y",`${g}`);const x=this.svg,C=this.transformMatrix,E=this.current.fillColor,P=this.current.strokeColor,T=this.svgFactory.create(m-p,f-g);if(this.svg=T,this.transformMatrix=i,2===d){const t=n.Util.makeHexColor(...e);this.current.fillColor=t,this.current.strokeColor=t}return this.executeOpTree(this.convertOpList(s)),this.svg=x,this.transformMatrix=C,this.current.fillColor=E,this.current.strokeColor=P,S.append(T.childNodes[0]),this.defs.append(S),`url(#${u})`}_makeShadingPattern(t){switch("string"==typeof t&&(t=this.objs.get(t)),t[0]){case"RadialAxial":const e="shading"+y++,s=t[3];let i;switch(t[1]){case"axial":const s=t[4],n=t[5];i=this.svgFactory.createElement("svg:linearGradient"),i.setAttributeNS(null,"id",e),i.setAttributeNS(null,"gradientUnits","userSpaceOnUse"),i.setAttributeNS(null,"x1",s[0]),i.setAttributeNS(null,"y1",s[1]),i.setAttributeNS(null,"x2",n[0]),i.setAttributeNS(null,"y2",n[1]);break;case"radial":const r=t[4],a=t[5],o=t[6],l=t[7];i=this.svgFactory.createElement("svg:radialGradient"),i.setAttributeNS(null,"id",e),i.setAttributeNS(null,"gradientUnits","userSpaceOnUse"),i.setAttributeNS(null,"cx",a[0]),i.setAttributeNS(null,"cy",a[1]),i.setAttributeNS(null,"r",l),i.setAttributeNS(null,"fx",r[0]),i.setAttributeNS(null,"fy",r[1]),i.setAttributeNS(null,"fr",o);break;default:throw new Error(`Unknown RadialAxial type: ${t[1]}`)}for(const t of s){const e=this.svgFactory.createElement("svg:stop");e.setAttributeNS(null,"offset",t[0]),e.setAttributeNS(null,"stop-color",t[1]),i.append(e)}return this.defs.append(i),`url(#${e})`;case"Mesh":return(0,n.warn)("Unimplemented pattern Mesh"),null;case"Dummy":return"hotpink";default:throw new Error(`Unknown IR type: ${t[0]}`)}}setDash(t,e){this.current.dashArray=t,this.current.dashPhase=e}constructPath(t,e){const s=this.current;let i=s.x,r=s.y,a=[],o=0;for(const l of t)switch(0|l){case n.OPS.rectangle:i=e[o++],r=e[o++];const t=i+e[o++],s=r+e[o++];a.push("M",f(i),f(r),"L",f(t),f(r),"L",f(t),f(s),"L",f(i),f(s),"Z");break;case n.OPS.moveTo:i=e[o++],r=e[o++],a.push("M",f(i),f(r));break;case n.OPS.lineTo:i=e[o++],r=e[o++],a.push("L",f(i),f(r));break;case n.OPS.curveTo:i=e[o+4],r=e[o+5],a.push("C",f(e[o]),f(e[o+1]),f(e[o+2]),f(e[o+3]),f(i),f(r)),o+=6;break;case n.OPS.curveTo2:a.push("C",f(i),f(r),f(e[o]),f(e[o+1]),f(e[o+2]),f(e[o+3])),i=e[o+2],r=e[o+3],o+=4;break;case n.OPS.curveTo3:i=e[o+2],r=e[o+3],a.push("C",f(e[o]),f(e[o+1]),f(i),f(r),f(i),f(r)),o+=4;break;case n.OPS.closePath:a.push("Z")}a=a.join(" "),s.path&&t.length>0&&t[0]!==n.OPS.rectangle&&t[0]!==n.OPS.moveTo?a=s.path.getAttributeNS(null,"d")+a:(s.path=this.svgFactory.createElement("svg:path"),this._ensureTransformGroup().append(s.path)),s.path.setAttributeNS(null,"d",a),s.path.setAttributeNS(null,"fill","none"),s.element=s.path,s.setCurrentPoint(i,r)}endPath(){const t=this.current;if(t.path=null,!this.pendingClip)return;if(!t.element)return void(this.pendingClip=null);const e="clippath"+_++,s=this.svgFactory.createElement("svg:clipPath");s.setAttributeNS(null,"id",e),s.setAttributeNS(null,"transform",b(this.transformMatrix));const i=t.element.cloneNode(!0);if("evenodd"===this.pendingClip?i.setAttributeNS(null,"clip-rule","evenodd"):i.setAttributeNS(null,"clip-rule","nonzero"),this.pendingClip=null,s.append(i),this.defs.append(s),t.activeClipUrl){t.clipGroup=null;for(const t of this.extraStack)t.clipGroup=null;s.setAttributeNS(null,"clip-path",t.activeClipUrl)}t.activeClipUrl=`url(#${e})`,this.tgrp=null}clip(t){this.pendingClip=t}closePath(){const t=this.current;if(t.path){const e=`${t.path.getAttributeNS(null,"d")}Z`;t.path.setAttributeNS(null,"d",e)}}setLeading(t){this.current.leading=-t}setTextRise(t){this.current.textRise=t}setTextRenderingMode(t){this.current.textRenderingMode=t}setHScale(t){this.current.textHScale=t/100}setRenderingIntent(t){}setFlatness(t){}setGState(t){for(const[e,s]of t)switch(e){case"LW":this.setLineWidth(s);break;case"LC":this.setLineCap(s);break;case"LJ":this.setLineJoin(s);break;case"ML":this.setMiterLimit(s);break;case"D":this.setDash(s[0],s[1]);break;case"RI":this.setRenderingIntent(s);break;case"FL":this.setFlatness(s);break;case"Font":this.setFont(s);break;case"CA":this.setStrokeAlpha(s);break;case"ca":this.setFillAlpha(s);break;default:(0,n.warn)(`Unimplemented graphic state operator ${e}`)}}fill(){const t=this.current;t.element&&(t.element.setAttributeNS(null,"fill",t.fillColor),t.element.setAttributeNS(null,"fill-opacity",t.fillAlpha),this.endPath())}stroke(){const t=this.current;t.element&&(this._setStrokeAttributes(t.element),t.element.setAttributeNS(null,"fill","none"),this.endPath())}_setStrokeAttributes(t,e=1){const s=this.current;let i=s.dashArray;1!==e&&i.length>0&&(i=i.map(function(t){return e*t})),t.setAttributeNS(null,"stroke",s.strokeColor),t.setAttributeNS(null,"stroke-opacity",s.strokeAlpha),t.setAttributeNS(null,"stroke-miterlimit",f(s.miterLimit)),t.setAttributeNS(null,"stroke-linecap",s.lineCap),t.setAttributeNS(null,"stroke-linejoin",s.lineJoin),t.setAttributeNS(null,"stroke-width",f(e*s.lineWidth)+"px"),t.setAttributeNS(null,"stroke-dasharray",i.map(f).join(" ")),t.setAttributeNS(null,"stroke-dashoffset",f(e*s.dashPhase)+"px")}eoFill(){this.current.element&&this.current.element.setAttributeNS(null,"fill-rule","evenodd"),this.fill()}fillStroke(){this.stroke(),this.fill()}eoFillStroke(){this.current.element&&this.current.element.setAttributeNS(null,"fill-rule","evenodd"),this.fillStroke()}closeStroke(){this.closePath(),this.stroke()}closeFillStroke(){this.closePath(),this.fillStroke()}closeEOFillStroke(){this.closePath(),this.eoFillStroke()}paintSolidColorImageMask(){const t=this.svgFactory.createElement("svg:rect");t.setAttributeNS(null,"x","0"),t.setAttributeNS(null,"y","0"),t.setAttributeNS(null,"width","1px"),t.setAttributeNS(null,"height","1px"),t.setAttributeNS(null,"fill",this.current.fillColor),this._ensureTransformGroup().append(t)}paintImageXObject(t){const e=t.startsWith("g_")?this.commonObjs.get(t):this.objs.get(t);e?this.paintInlineImageXObject(e):(0,n.warn)(`Dependent image with object ID ${t} is not ready yet`)}paintInlineImageXObject(t,e){const s=t.width,i=t.height,n=p(t,this.forceDataSchema,!!e),r=this.svgFactory.createElement("svg:rect");r.setAttributeNS(null,"x","0"),r.setAttributeNS(null,"y","0"),r.setAttributeNS(null,"width",f(s)),r.setAttributeNS(null,"height",f(i)),this.current.element=r,this.clip("nonzero");const a=this.svgFactory.createElement("svg:image");a.setAttributeNS(c,"xlink:href",n),a.setAttributeNS(null,"x","0"),a.setAttributeNS(null,"y",f(-i)),a.setAttributeNS(null,"width",f(s)+"px"),a.setAttributeNS(null,"height",f(i)+"px"),a.setAttributeNS(null,"transform",`scale(${f(1/s)} ${f(-1/i)})`),e?e.append(a):this._ensureTransformGroup().append(a)}paintImageMaskXObject(t){const e=this.current,s=t.width,i=t.height,n=e.fillColor;e.maskId="mask"+A++;const r=this.svgFactory.createElement("svg:mask");r.setAttributeNS(null,"id",e.maskId);const a=this.svgFactory.createElement("svg:rect");a.setAttributeNS(null,"x","0"),a.setAttributeNS(null,"y","0"),a.setAttributeNS(null,"width",f(s)),a.setAttributeNS(null,"height",f(i)),a.setAttributeNS(null,"fill",n),a.setAttributeNS(null,"mask",`url(#${e.maskId})`),this.defs.append(r),this._ensureTransformGroup().append(a),this.paintInlineImageXObject(t,r)}paintFormXObjectBegin(t,e){if(Array.isArray(t)&&6===t.length&&this.transform(t[0],t[1],t[2],t[3],t[4],t[5]),e){const t=e[2]-e[0],s=e[3]-e[1],i=this.svgFactory.createElement("svg:rect");i.setAttributeNS(null,"x",e[0]),i.setAttributeNS(null,"y",e[1]),i.setAttributeNS(null,"width",f(t)),i.setAttributeNS(null,"height",f(s)),this.current.element=i,this.clip("nonzero"),this.endPath()}}paintFormXObjectEnd(){}_initialize(t){const e=this.svgFactory.create(t.width,t.height),s=this.svgFactory.createElement("svg:defs");e.append(s),this.defs=s;const i=this.svgFactory.createElement("svg:g");return i.setAttributeNS(null,"transform",b(t.transform)),e.append(i),this.svg=i,e}_ensureClipGroup(){if(!this.current.clipGroup){const t=this.svgFactory.createElement("svg:g");t.setAttributeNS(null,"clip-path",this.current.activeClipUrl),this.svg.append(t),this.current.clipGroup=t}return this.current.clipGroup}_ensureTransformGroup(){return this.tgrp||(this.tgrp=this.svgFactory.createElement("svg:g"),this.tgrp.setAttributeNS(null,"transform",b(this.transformMatrix)),this.current.activeClipUrl?this._ensureClipGroup().append(this.tgrp):this.svg.append(this.tgrp)),this.tgrp}}}},(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.PDFNodeStream=void 0;var i=s(1),n=s(33);const r=require$$5,a=require$$5,o=require$$5,l=require$$5,c=/^file:\/\/\/[a-zA-Z]:\//;e.PDFNodeStream=class{constructor(t){this.source=t,this.url=function(t){const e=l.parse(t);return"file:"===e.protocol||e.host?e:/^[a-z]:[/\\]/i.test(t)?l.parse(`file:///${t}`):(e.host||(e.protocol="file:"),e)}(t.url),this.isHttp="http:"===this.url.protocol||"https:"===this.url.protocol,this.isFsUrl="file:"===this.url.protocol,this.httpHeaders=this.isHttp&&t.httpHeaders||{},this._fullRequestReader=null,this._rangeRequestReaders=[]}get _progressiveDataLength(){return this._fullRequestReader?._loaded??0}getFullReader(){return(0,i.assert)(!this._fullRequestReader,"PDFNodeStream.getFullReader can only be called once."),this._fullRequestReader=this.isFsUrl?new m(this):new p(this),this._fullRequestReader}getRangeReader(t,e){if(e<=this._progressiveDataLength)return null;const s=this.isFsUrl?new f(this,t,e):new g(this,t,e);return this._rangeRequestReaders.push(s),s}cancelAllRequests(t){this._fullRequestReader&&this._fullRequestReader.cancel(t);for(const e of this._rangeRequestReaders.slice(0))e.cancel(t)}};class h{constructor(t){this._url=t.url,this._done=!1,this._storedError=null,this.onProgress=null;const e=t.source;this._contentLength=e.length,this._loaded=0,this._filename=null,this._disableRange=e.disableRange||!1,this._rangeChunkSize=e.rangeChunkSize,this._rangeChunkSize||this._disableRange||(this._disableRange=!0),this._isStreamingSupported=!e.disableStream,this._isRangeSupported=!e.disableRange,this._readableStream=null,this._readCapability=(0,i.createPromiseCapability)(),this._headersCapability=(0,i.createPromiseCapability)()}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){if(await this._readCapability.promise,this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;const t=this._readableStream.read();return null===t?(this._readCapability=(0,i.createPromiseCapability)(),this.read()):(this._loaded+=t.length,this.onProgress&&this.onProgress({loaded:this._loaded,total:this._contentLength}),{value:new Uint8Array(t).buffer,done:!1})}cancel(t){this._readableStream?this._readableStream.destroy(t):this._error(t)}_error(t){this._storedError=t,this._readCapability.resolve()}_setReadableStream(t){this._readableStream=t,t.on("readable",()=>{this._readCapability.resolve()}),t.on("end",()=>{t.destroy(),this._done=!0,this._readCapability.resolve()}),t.on("error",t=>{this._error(t)}),!this._isStreamingSupported&&this._isRangeSupported&&this._error(new i.AbortException("streaming is disabled")),this._storedError&&this._readableStream.destroy(this._storedError)}}class d{constructor(t){this._url=t.url,this._done=!1,this._storedError=null,this.onProgress=null,this._loaded=0,this._readableStream=null,this._readCapability=(0,i.createPromiseCapability)();const e=t.source;this._isStreamingSupported=!e.disableStream}get isStreamingSupported(){return this._isStreamingSupported}async read(){if(await this._readCapability.promise,this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;const t=this._readableStream.read();return null===t?(this._readCapability=(0,i.createPromiseCapability)(),this.read()):(this._loaded+=t.length,this.onProgress&&this.onProgress({loaded:this._loaded}),{value:new Uint8Array(t).buffer,done:!1})}cancel(t){this._readableStream?this._readableStream.destroy(t):this._error(t)}_error(t){this._storedError=t,this._readCapability.resolve()}_setReadableStream(t){this._readableStream=t,t.on("readable",()=>{this._readCapability.resolve()}),t.on("end",()=>{t.destroy(),this._done=!0,this._readCapability.resolve()}),t.on("error",t=>{this._error(t)}),this._storedError&&this._readableStream.destroy(this._storedError)}}function u(t,e){return{protocol:t.protocol,auth:t.auth,host:t.hostname,port:t.port,path:t.path,method:"GET",headers:e}}class p extends h{constructor(t){super(t);const e=e=>{if(404===e.statusCode){const t=new i.MissingPDFException(`Missing PDF "${this._url}".`);return this._storedError=t,void this._headersCapability.reject(t)}this._headersCapability.resolve(),this._setReadableStream(e);const s=t=>this._readableStream.headers[t.toLowerCase()],{allowRangeRequests:r,suggestedLength:a}=(0,n.validateRangeRequestCapabilities)({getResponseHeader:s,isHttp:t.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});this._isRangeSupported=r,this._contentLength=a||this._contentLength,this._filename=(0,n.extractFilenameFromHeader)(s)};this._request=null,"http:"===this._url.protocol?this._request=a.request(u(this._url,t.httpHeaders),e):this._request=o.request(u(this._url,t.httpHeaders),e),this._request.on("error",t=>{this._storedError=t,this._headersCapability.reject(t)}),this._request.end()}}class g extends d{constructor(t,e,s){super(t),this._httpHeaders={};for(const i in t.httpHeaders){const e=t.httpHeaders[i];void 0!==e&&(this._httpHeaders[i]=e)}this._httpHeaders.Range=`bytes=${e}-${s-1}`;const n=t=>{if(404===t.statusCode){const t=new i.MissingPDFException(`Missing PDF "${this._url}".`);return void(this._storedError=t)}this._setReadableStream(t)};this._request=null,"http:"===this._url.protocol?this._request=a.request(u(this._url,this._httpHeaders),n):this._request=o.request(u(this._url,this._httpHeaders),n),this._request.on("error",t=>{this._storedError=t}),this._request.end()}}class m extends h{constructor(t){super(t);let e=decodeURIComponent(this._url.path);c.test(this._url.href)&&(e=e.replace(/^\//,"")),r.lstat(e,(t,s)=>{if(t)return"ENOENT"===t.code&&(t=new i.MissingPDFException(`Missing PDF "${e}".`)),this._storedError=t,void this._headersCapability.reject(t);this._contentLength=s.size,this._setReadableStream(r.createReadStream(e)),this._headersCapability.resolve()})}}class f extends d{constructor(t,e,s){super(t);let i=decodeURIComponent(this._url.path);c.test(this._url.href)&&(i=i.replace(/^\//,"")),this._setReadableStream(r.createReadStream(i,{start:e,end:s-1}))}}},(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.createResponseStatusError=function(t,e){return 404===t||0===t&&e.startsWith("file:")?new i.MissingPDFException('Missing PDF "'+e+'".'):new i.UnexpectedResponseException(`Unexpected server response (${t}) while retrieving PDF "${e}".`,t)},e.extractFilenameFromHeader=function(t){const e=t("Content-Disposition");if(e){let t=(0,n.getFilenameFromContentDispositionHeader)(e);if(t.includes("%"))try{t=decodeURIComponent(t)}catch(s){}if((0,r.isPdfFile)(t))return t}return null},e.validateRangeRequestCapabilities=function({getResponseHeader:t,isHttp:e,rangeChunkSize:s,disableRange:i}){const n={allowRangeRequests:!1,suggestedLength:void 0},r=parseInt(t("Content-Length"),10);return Number.isInteger(r)?(n.suggestedLength=r,r<=2*s||i||!e||"bytes"!==t("Accept-Ranges")||"identity"!==(t("Content-Encoding")||"identity")||(n.allowRangeRequests=!0),n):n},e.validateResponseStatus=function(t){return 200===t||206===t};var i=s(1),n=s(34),r=s(8)},(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.getFilenameFromContentDispositionHeader=function(t){let e=!0,s=n("filename\\*","i").exec(t);if(s){s=s[1];let t=o(s);return t=unescape(t),t=l(t),t=c(t),a(t)}if(s=function(t){const e=[];let s;const i=n("filename\\*((?!0\\d)\\d+)(\\*?)","ig");for(;null!==(s=i.exec(t));){let[,t,i,n]=s;if(t=parseInt(t,10),t in e){if(0===t)break}else e[t]=[i,n]}const r=[];for(let n=0;n<e.length&&n in e;++n){let[t,s]=e[n];s=o(s),t&&(s=unescape(s),0===n&&(s=l(s))),r.push(s)}return r.join("")}(t),s)return a(c(s));if(s=n("filename","i").exec(t),s){s=s[1];let t=o(s);return t=c(t),a(t)}function n(t,e){return new RegExp("(?:^|;)\\s*"+t+'\\s*=\\s*([^";\\s][^;\\s]*|"(?:[^"\\\\]|\\\\"?)+"?)',e)}function r(t,s){if(t){if(!/^[\x00-\xFF]+$/.test(s))return s;try{const n=new TextDecoder(t,{fatal:!0}),r=(0,i.stringToBytes)(s);s=n.decode(r),e=!1}catch(n){}}return s}function a(t){return e&&/[\x80-\xff]/.test(t)&&(t=r("utf-8",t),e&&(t=r("iso-8859-1",t))),t}function o(t){if(t.startsWith('"')){const e=t.slice(1).split('\\"');for(let t=0;t<e.length;++t){const s=e[t].indexOf('"');-1!==s&&(e[t]=e[t].slice(0,s),e.length=t+1),e[t]=e[t].replace(/\\(.)/g,"$1")}t=e.join('"')}return t}function l(t){const e=t.indexOf("'");return-1===e?t:r(t.slice(0,e),t.slice(e+1).replace(/^[^']*'/,""))}function c(t){return!t.startsWith("=?")||/[\x00-\x19\x80-\xff]/.test(t)?t:t.replace(/=\?([\w-]*)\?([QqBb])\?((?:[^?]|\?(?!=))*)\?=/g,function(t,e,s,i){if("q"===s||"Q"===s)return r(e,i=(i=i.replace(/_/g," ")).replace(/=([0-9a-fA-F]{2})/g,function(t,e){return String.fromCharCode(parseInt(e,16))}));try{i=atob(i)}catch(n){}return r(e,i)})}return""};var i=s(1)},(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.PDFNetworkStream=void 0;var i=s(1),n=s(33);class r{constructor(t,e={}){this.url=t,this.isHttp=/^https?:/i.test(t),this.httpHeaders=this.isHttp&&e.httpHeaders||Object.create(null),this.withCredentials=e.withCredentials||!1,this.getXhr=e.getXhr||function(){return new XMLHttpRequest},this.currXhrId=0,this.pendingRequests=Object.create(null)}requestRange(t,e,s){const i={begin:t,end:e};for(const n in s)i[n]=s[n];return this.request(i)}requestFull(t){return this.request(t)}request(t){const e=this.getXhr(),s=this.currXhrId++,i=this.pendingRequests[s]={xhr:e};e.open("GET",this.url),e.withCredentials=this.withCredentials;for(const n in this.httpHeaders){const t=this.httpHeaders[n];void 0!==t&&e.setRequestHeader(n,t)}return this.isHttp&&"begin"in t&&"end"in t?(e.setRequestHeader("Range",`bytes=${t.begin}-${t.end-1}`),i.expectedStatus=206):i.expectedStatus=200,e.responseType="arraybuffer",t.onError&&(e.onerror=function(s){t.onError(e.status)}),e.onreadystatechange=this.onStateChange.bind(this,s),e.onprogress=this.onProgress.bind(this,s),i.onHeadersReceived=t.onHeadersReceived,i.onDone=t.onDone,i.onError=t.onError,i.onProgress=t.onProgress,e.send(null),s}onProgress(t,e){const s=this.pendingRequests[t];s&&s.onProgress?.(e)}onStateChange(t,e){const s=this.pendingRequests[t];if(!s)return;const n=s.xhr;if(n.readyState>=2&&s.onHeadersReceived&&(s.onHeadersReceived(),delete s.onHeadersReceived),4!==n.readyState)return;if(!(t in this.pendingRequests))return;if(delete this.pendingRequests[t],0===n.status&&this.isHttp)return void s.onError?.(n.status);const r=n.status||200;if((200!==r||206!==s.expectedStatus)&&r!==s.expectedStatus)return void s.onError?.(n.status);const a=function(t){const e=t.response;return"string"!=typeof e?e:(0,i.stringToBytes)(e).buffer}(n);if(206===r){const t=n.getResponseHeader("Content-Range"),e=/bytes (\d+)-(\d+)\/(\d+)/.exec(t);s.onDone({begin:parseInt(e[1],10),chunk:a})}else a?s.onDone({begin:0,chunk:a}):s.onError?.(n.status)}getRequestXhr(t){return this.pendingRequests[t].xhr}isPendingRequest(t){return t in this.pendingRequests}abortRequest(t){const e=this.pendingRequests[t].xhr;delete this.pendingRequests[t],e.abort()}}e.PDFNetworkStream=class{constructor(t){this._source=t,this._manager=new r(t.url,{httpHeaders:t.httpHeaders,withCredentials:t.withCredentials}),this._rangeChunkSize=t.rangeChunkSize,this._fullRequestReader=null,this._rangeRequestReaders=[]}_onRangeRequestReaderClosed(t){const e=this._rangeRequestReaders.indexOf(t);e>=0&&this._rangeRequestReaders.splice(e,1)}getFullReader(){return(0,i.assert)(!this._fullRequestReader,"PDFNetworkStream.getFullReader can only be called once."),this._fullRequestReader=new a(this._manager,this._source),this._fullRequestReader}getRangeReader(t,e){const s=new o(this._manager,t,e);return s.onClosed=this._onRangeRequestReaderClosed.bind(this),this._rangeRequestReaders.push(s),s}cancelAllRequests(t){this._fullRequestReader?.cancel(t);for(const e of this._rangeRequestReaders.slice(0))e.cancel(t)}};class a{constructor(t,e){this._manager=t;const s={onHeadersReceived:this._onHeadersReceived.bind(this),onDone:this._onDone.bind(this),onError:this._onError.bind(this),onProgress:this._onProgress.bind(this)};this._url=e.url,this._fullRequestId=t.requestFull(s),this._headersReceivedCapability=(0,i.createPromiseCapability)(),this._disableRange=e.disableRange||!1,this._contentLength=e.length,this._rangeChunkSize=e.rangeChunkSize,this._rangeChunkSize||this._disableRange||(this._disableRange=!0),this._isStreamingSupported=!1,this._isRangeSupported=!1,this._cachedChunks=[],this._requests=[],this._done=!1,this._storedError=void 0,this._filename=null,this.onProgress=null}_onHeadersReceived(){const t=this._fullRequestId,e=this._manager.getRequestXhr(t),s=t=>e.getResponseHeader(t),{allowRangeRequests:i,suggestedLength:r}=(0,n.validateRangeRequestCapabilities)({getResponseHeader:s,isHttp:this._manager.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});i&&(this._isRangeSupported=!0),this._contentLength=r||this._contentLength,this._filename=(0,n.extractFilenameFromHeader)(s),this._isRangeSupported&&this._manager.abortRequest(t),this._headersReceivedCapability.resolve()}_onDone(t){if(t&&(this._requests.length>0?this._requests.shift().resolve({value:t.chunk,done:!1}):this._cachedChunks.push(t.chunk)),this._done=!0,!(this._cachedChunks.length>0)){for(const t of this._requests)t.resolve({value:void 0,done:!0});this._requests.length=0}}_onError(t){this._storedError=(0,n.createResponseStatusError)(t,this._url),this._headersReceivedCapability.reject(this._storedError);for(const e of this._requests)e.reject(this._storedError);this._requests.length=0,this._cachedChunks.length=0}_onProgress(t){this.onProgress?.({loaded:t.loaded,total:t.lengthComputable?t.total:this._contentLength})}get filename(){return this._filename}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}get contentLength(){return this._contentLength}get headersReady(){return this._headersReceivedCapability.promise}async read(){if(this._storedError)throw this._storedError;if(this._cachedChunks.length>0)return{value:this._cachedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};const t=(0,i.createPromiseCapability)();return this._requests.push(t),t.promise}cancel(t){this._done=!0,this._headersReceivedCapability.reject(t);for(const e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0,this._manager.isPendingRequest(this._fullRequestId)&&this._manager.abortRequest(this._fullRequestId),this._fullRequestReader=null}}class o{constructor(t,e,s){this._manager=t;const i={onDone:this._onDone.bind(this),onError:this._onError.bind(this),onProgress:this._onProgress.bind(this)};this._url=t.url,this._requestId=t.requestRange(e,s,i),this._requests=[],this._queuedChunk=null,this._done=!1,this._storedError=void 0,this.onProgress=null,this.onClosed=null}_close(){this.onClosed?.(this)}_onDone(t){const e=t.chunk;this._requests.length>0?this._requests.shift().resolve({value:e,done:!1}):this._queuedChunk=e,this._done=!0;for(const s of this._requests)s.resolve({value:void 0,done:!0});this._requests.length=0,this._close()}_onError(t){this._storedError=(0,n.createResponseStatusError)(t,this._url);for(const e of this._requests)e.reject(this._storedError);this._requests.length=0,this._queuedChunk=null}_onProgress(t){this.isStreamingSupported||this.onProgress?.({loaded:t.loaded})}get isStreamingSupported(){return!1}async read(){if(this._storedError)throw this._storedError;if(null!==this._queuedChunk){const t=this._queuedChunk;return this._queuedChunk=null,{value:t,done:!1}}if(this._done)return{value:void 0,done:!0};const t=(0,i.createPromiseCapability)();return this._requests.push(t),t.promise}cancel(t){this._done=!0;for(const e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0,this._manager.isPendingRequest(this._requestId)&&this._manager.abortRequest(this._requestId),this._close()}}},(t,e,s)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.PDFFetchStream=void 0;var i=s(1),n=s(33);function r(t,e,s){return{method:"GET",headers:t,signal:s.signal,mode:"cors",credentials:e?"include":"same-origin",redirect:"follow"}}function a(t){const e=new Headers;for(const s in t){const i=t[s];void 0!==i&&e.append(s,i)}return e}e.PDFFetchStream=class{constructor(t){this.source=t,this.isHttp=/^https?:/i.test(t.url),this.httpHeaders=this.isHttp&&t.httpHeaders||{},this._fullRequestReader=null,this._rangeRequestReaders=[]}get _progressiveDataLength(){return this._fullRequestReader?._loaded??0}getFullReader(){return(0,i.assert)(!this._fullRequestReader,"PDFFetchStream.getFullReader can only be called once."),this._fullRequestReader=new o(this),this._fullRequestReader}getRangeReader(t,e){if(e<=this._progressiveDataLength)return null;const s=new l(this,t,e);return this._rangeRequestReaders.push(s),s}cancelAllRequests(t){this._fullRequestReader&&this._fullRequestReader.cancel(t);for(const e of this._rangeRequestReaders.slice(0))e.cancel(t)}};class o{constructor(t){this._stream=t,this._reader=null,this._loaded=0,this._filename=null;const e=t.source;this._withCredentials=e.withCredentials||!1,this._contentLength=e.length,this._headersCapability=(0,i.createPromiseCapability)(),this._disableRange=e.disableRange||!1,this._rangeChunkSize=e.rangeChunkSize,this._rangeChunkSize||this._disableRange||(this._disableRange=!0),this._abortController=new AbortController,this._isStreamingSupported=!e.disableStream,this._isRangeSupported=!e.disableRange,this._headers=a(this._stream.httpHeaders);const s=e.url;fetch(s,r(this._headers,this._withCredentials,this._abortController)).then(t=>{if(!(0,n.validateResponseStatus)(t.status))throw(0,n.createResponseStatusError)(t.status,s);this._reader=t.body.getReader(),this._headersCapability.resolve();const e=e=>t.headers.get(e),{allowRangeRequests:r,suggestedLength:a}=(0,n.validateRangeRequestCapabilities)({getResponseHeader:e,isHttp:this._stream.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});this._isRangeSupported=r,this._contentLength=a||this._contentLength,this._filename=(0,n.extractFilenameFromHeader)(e),!this._isStreamingSupported&&this._isRangeSupported&&this.cancel(new i.AbortException("Streaming is disabled."))}).catch(this._headersCapability.reject),this.onProgress=null}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){await this._headersCapability.promise;const{value:t,done:e}=await this._reader.read();return e?{value:t,done:e}:(this._loaded+=t.byteLength,this.onProgress&&this.onProgress({loaded:this._loaded,total:this._contentLength}),{value:new Uint8Array(t).buffer,done:!1})}cancel(t){this._reader&&this._reader.cancel(t),this._abortController.abort()}}class l{constructor(t,e,s){this._stream=t,this._reader=null,this._loaded=0;const o=t.source;this._withCredentials=o.withCredentials||!1,this._readCapability=(0,i.createPromiseCapability)(),this._isStreamingSupported=!o.disableStream,this._abortController=new AbortController,this._headers=a(this._stream.httpHeaders),this._headers.append("Range",`bytes=${e}-${s-1}`);const l=o.url;fetch(l,r(this._headers,this._withCredentials,this._abortController)).then(t=>{if(!(0,n.validateResponseStatus)(t.status))throw(0,n.createResponseStatusError)(t.status,l);this._readCapability.resolve(),this._reader=t.body.getReader()}).catch(this._readCapability.reject),this.onProgress=null}get isStreamingSupported(){return this._isStreamingSupported}async read(){await this._readCapability.promise;const{value:t,done:e}=await this._reader.read();return e?{value:t,done:e}:(this._loaded+=t.byteLength,this.onProgress&&this.onProgress({loaded:this._loaded}),{value:new Uint8Array(t).buffer,done:!1})}cancel(t){this._reader&&this._reader.cancel(t),this._abortController.abort()}}}],__webpack_module_cache__={};function __w_pdfjs_require__(t){var e=__webpack_module_cache__[t];if(void 0!==e)return e.exports;var s=__webpack_module_cache__[t]={exports:{}};return __webpack_modules__[t](s,s.exports,__w_pdfjs_require__),s.exports}var __webpack_exports__={};return(()=>{var t=__webpack_exports__;Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AnnotationEditorLayer",{enumerable:!0,get:function(){return n.AnnotationEditorLayer}}),Object.defineProperty(t,"AnnotationEditorParamsType",{enumerable:!0,get:function(){return e.AnnotationEditorParamsType}}),Object.defineProperty(t,"AnnotationEditorType",{enumerable:!0,get:function(){return e.AnnotationEditorType}}),Object.defineProperty(t,"AnnotationEditorUIManager",{enumerable:!0,get:function(){return r.AnnotationEditorUIManager}}),Object.defineProperty(t,"AnnotationLayer",{enumerable:!0,get:function(){return a.AnnotationLayer}}),Object.defineProperty(t,"AnnotationMode",{enumerable:!0,get:function(){return e.AnnotationMode}}),Object.defineProperty(t,"CMapCompressionType",{enumerable:!0,get:function(){return e.CMapCompressionType}}),Object.defineProperty(t,"GlobalWorkerOptions",{enumerable:!0,get:function(){return o.GlobalWorkerOptions}}),Object.defineProperty(t,"InvalidPDFException",{enumerable:!0,get:function(){return e.InvalidPDFException}}),Object.defineProperty(t,"LoopbackPort",{enumerable:!0,get:function(){return s.LoopbackPort}}),Object.defineProperty(t,"MissingPDFException",{enumerable:!0,get:function(){return e.MissingPDFException}}),Object.defineProperty(t,"OPS",{enumerable:!0,get:function(){return e.OPS}}),Object.defineProperty(t,"PDFDataRangeTransport",{enumerable:!0,get:function(){return s.PDFDataRangeTransport}}),Object.defineProperty(t,"PDFDateString",{enumerable:!0,get:function(){return i.PDFDateString}}),Object.defineProperty(t,"PDFWorker",{enumerable:!0,get:function(){return s.PDFWorker}}),Object.defineProperty(t,"PasswordResponses",{enumerable:!0,get:function(){return e.PasswordResponses}}),Object.defineProperty(t,"PermissionFlag",{enumerable:!0,get:function(){return e.PermissionFlag}}),Object.defineProperty(t,"PixelsPerInch",{enumerable:!0,get:function(){return i.PixelsPerInch}}),Object.defineProperty(t,"RenderingCancelledException",{enumerable:!0,get:function(){return i.RenderingCancelledException}}),Object.defineProperty(t,"SVGGraphics",{enumerable:!0,get:function(){return h.SVGGraphics}}),Object.defineProperty(t,"UNSUPPORTED_FEATURES",{enumerable:!0,get:function(){return e.UNSUPPORTED_FEATURES}}),Object.defineProperty(t,"UnexpectedResponseException",{enumerable:!0,get:function(){return e.UnexpectedResponseException}}),Object.defineProperty(t,"Util",{enumerable:!0,get:function(){return e.Util}}),Object.defineProperty(t,"VerbosityLevel",{enumerable:!0,get:function(){return e.VerbosityLevel}}),Object.defineProperty(t,"XfaLayer",{enumerable:!0,get:function(){return d.XfaLayer}}),Object.defineProperty(t,"build",{enumerable:!0,get:function(){return s.build}}),Object.defineProperty(t,"createPromiseCapability",{enumerable:!0,get:function(){return e.createPromiseCapability}}),Object.defineProperty(t,"createValidAbsoluteUrl",{enumerable:!0,get:function(){return e.createValidAbsoluteUrl}}),Object.defineProperty(t,"getDocument",{enumerable:!0,get:function(){return s.getDocument}}),Object.defineProperty(t,"getFilenameFromUrl",{enumerable:!0,get:function(){return i.getFilenameFromUrl}}),Object.defineProperty(t,"getPdfFilenameFromUrl",{enumerable:!0,get:function(){return i.getPdfFilenameFromUrl}}),Object.defineProperty(t,"getXfaPageViewport",{enumerable:!0,get:function(){return i.getXfaPageViewport}}),Object.defineProperty(t,"isPdfFile",{enumerable:!0,get:function(){return i.isPdfFile}}),Object.defineProperty(t,"loadScript",{enumerable:!0,get:function(){return i.loadScript}}),Object.defineProperty(t,"renderTextLayer",{enumerable:!0,get:function(){return c.renderTextLayer}}),Object.defineProperty(t,"shadow",{enumerable:!0,get:function(){return e.shadow}}),Object.defineProperty(t,"version",{enumerable:!0,get:function(){return s.version}});var e=__w_pdfjs_require__(1),s=__w_pdfjs_require__(4),i=__w_pdfjs_require__(8),n=__w_pdfjs_require__(22),r=__w_pdfjs_require__(7),a=__w_pdfjs_require__(27),o=__w_pdfjs_require__(15),l=__w_pdfjs_require__(3),c=__w_pdfjs_require__(30),h=__w_pdfjs_require__(31),d=__w_pdfjs_require__(29);if(l.isNodeJS){const{PDFNodeStream:t}=__w_pdfjs_require__(32);(0,s.setPDFNetworkStreamFactory)(e=>new t(e))}else{const{PDFNetworkStream:t}=__w_pdfjs_require__(35),{PDFFetchStream:e}=__w_pdfjs_require__(36);(0,s.setPDFNetworkStreamFactory)(s=>(0,i.isValidFetchUrl)(s.url)?new e(s):new t(s))}})(),__webpack_exports__})(),module.exports=factory()})(pdf);var pdfExports=pdf.exports;export{pdfExports as p};